diff options
| author | Adam Malczewski <[email protected]> | 2026-06-06 22:08:16 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-06 22:08:16 +0900 |
| commit | e1c8cf3257cb33457aa882c548f5195ecc0f9854 (patch) | |
| tree | d355147cdab8eb77917ad02caedf26b3d8d0be57 /GLOSSARY.md | |
| download | dispatch-web-e1c8cf3257cb33457aa882c548f5195ecc0f9854.tar.gz dispatch-web-e1c8cf3257cb33457aa882c548f5195ecc0f9854.zip | |
Slice 1: surface system + WS transport + composition root
Pure-core feature libraries assembled at the composition root:
- core/protocol: pure reducer over surface catalog/spec/error messages
- features/surface-host: generic field-kind interpreter (toggle/progress/
selector/stat/button) + pure plan logic; no surface-id special-casing
- adapters/ws: injected WebSocket client (effects at the edge)
- app: composition root store (Svelte 5 runes over the pure reducer),
host-relative surface WS URL resolution (resolveWsUrl), root App.svelte
Verified green: svelte-check 0/0, vitest 84 passed, biome clean, vite build ok.
Diffstat (limited to 'GLOSSARY.md')
| -rw-r--r-- | GLOSSARY.md | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/GLOSSARY.md b/GLOSSARY.md new file mode 100644 index 0000000..4bce7a7 --- /dev/null +++ b/GLOSSARY.md @@ -0,0 +1,30 @@ +# Glossary — canonical vocabulary (dispatch-web) + +> One name per concept. Shared backend terms are adopted VERBATIM (no drift). +> New term? The orchestrator proposes the standard name and the user confirms +> before it lands (§5.6). "Aliases to avoid" maps wrong names back to the canonical. + +## Shared with the backend (canonical — do NOT redefine) +| Term | Meaning | Aliases to avoid | +|---|---|---| +| **conversation** | A single thread of turns with persisted history, id'd by `conversationId`. | tab, session, thread, chat | +| **conversationId** | The string id threading multi-turn history. | tabId, sessionId, chatId | +| **turn** | One user message → assistant response cycle (may span steps). | — | +| **step** | One LLM round-trip within a turn. | iteration | +| **chunk** | One ordered piece of a message (text/thinking/tool-call/result), append-only. | block, segment | +| **AgentEvent** | An outward event the runtime emits during a turn (text-delta, tool-call, usage, done, turn-sealed, …). | — | +| **model name** | The selectable id in `<credentialName>/<model>` form. | model id, model reference | +| **model catalog** | The list of available model names. | model list | + +## Frontend-specific +| Term | Meaning | Aliases to avoid | +|---|---|---| +| **surface** | A backend-declared, frontend-agnostic data contribution (fields + values + actions); rendered generically by any client. NOT UI/styling. | widget, panel-data | +| **region** | Where a surface mounts — a coarse, semantic placement hint (NOT layout/CSS). | slot (clashes with Svelte `<slot>`) | +| **field kind** | The semantic type of a surface field (toggle/progress/selector/stat/button/custom). | widget type, control type | +| **action / action ref** | A backend-invokable action; a field carries an *action ref* the client posts back. (Backend calls this a `command` for now.) | — | +| **surface catalog** | The list of available surfaces (metadata) the FE fetches to discover them (`GET /surfaces`). | capability manifest | +| **view** | RESERVED — the old-Dispatch sidebar affordance (settings / feature views); a FUTURE FE concept, NOT a surface. | (do not reuse) | +| **feature module** | A self-contained FE feature (chat, history explorer, …); feature-as-a-library, composed at the root. | — | +| **composition root** | The single place (`src/app/`) that imports + wires feature modules + the surface host. | — | +| **surface interpreter** | The generic renderer: field kind → component. Knows kinds, never surface ids. | — | |
