summaryrefslogtreecommitdiffhomepage
path: root/GLOSSARY.md
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-06 19:39:05 +0900
committerAdam Malczewski <[email protected]>2026-06-06 19:39:05 +0900
commit44e27177892a48a51c440676ff3f6613deef5164 (patch)
treec4e11755df86b1284e3b12b46d25ab4c62b81860 /GLOSSARY.md
parent22936857685c318b71752d625808100b1a96e63e (diff)
downloaddispatch-44e27177892a48a51c440676ff3f6613deef5164.tar.gz
dispatch-44e27177892a48a51c440676ff3f6613deef5164.zip
feat(wire,conversation-store): per-chunk seq sync cursor (StoredChunk)
Add StoredChunk { seq, role, chunk } to @dispatch/wire (re-exported via the kernel contract shims). Keeps Chunk pure (provider-facing, no cursor); the sync cursor lives only on the envelope. conversation-store: rekey conv:<id>:msg:<seq> -> conv:<id>:chunk:<seq>; append explodes messages into role-tagged seq'd chunks (1-based, gap-free, monotonic) with internal boundary metadata so load() round-trips ChatMessage[] losslessly and still reconciles; new loadSince(id, sinceSeq?) raw sync stream. session-orchestrator test fake conforms to the widened interface. FE Slice 2 backend prereq (per-chunk seq). typecheck clean, 469 vitest, biome clean.
Diffstat (limited to 'GLOSSARY.md')
-rw-r--r--GLOSSARY.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/GLOSSARY.md b/GLOSSARY.md
index fa94a36..42cd557 100644
--- a/GLOSSARY.md
+++ b/GLOSSARY.md
@@ -19,6 +19,8 @@
| **step** | One LLM round-trip within a turn (may emit multiple tool calls). | iteration |
| **tool call** | A model's request to run a tool within a step. | function call (when meaning a tool call) |
| **chunk** | One ordered piece of a message (text, thinking, tool-call/result, etc.), append-only in the log. | block, segment |
+| **seq** | The monotonic, gap-free, per-conversation sequence number stamped on each chunk as it is appended to the log. The sync cursor: a client requests `?sinceSeq=N` to fetch only newer chunks. Storage/sync metadata, never message content. | cursor (when meaning the number), offset, index |
+| **StoredChunk** | The wire envelope `{ seq, role, chunk }`: a persisted chunk plus its sync metadata. Keeps the pure `chunk` free of storage concerns while a flat seq-ordered stream stays both syncable and regroupable into messages. | seq'd chunk |
| **runTurn** | The kernel's turn loop: takes provider + messages + tools + dispatch policy, streams, dispatches tools, emits events. | run, agentLoop |
| **hook** | A typed extension point. **event** = fire-and-forget, N listeners, error-isolated. **filter** = ordered value-in→value-out chain, in-band. | callback (when meaning a hook), listener |
| **service** | A single-responder request/response capability fetched via a typed handle. NOT a hook. | — |