-
Notifications
You must be signed in to change notification settings - Fork 5
One loop C4: SSE v2 + frontend migration onto one event reducer (major release) #2238
Open
Description
Stage C4 of #2233 — concept §5.6, §7 C4, §10.1(3)(6). The clean break: server emits only the v2 schema; the frontend moves with it in the same release. The chat SSE/API is internal-only (decided) — no backward compatibility owed, no dual-emit layer.
Scope
- SSE v2 server side: one typed event schema projected from RunLog events (
run/started|ended,step/delta|completed,tool/started|progress|completed,interaction/raised|answered,progress/node,meta,stream/*), with per-run sequence numbers in every envelope and a ledger re-sync endpoint (GET /api/runs/:id/events?after=seq) so the client reducer detects relay gaps and reconnects cleanly. - Channel keying: standardize streams and the
clusterBuspresence maps onrunId(today: chatId for chat, executionId for workflows/agents) — real migration of the SSE registry and cluster relays, not renaming. - One shared client event reducer consumed by
useAppChat.js(replacing its 17-event dialect),useWorkflowExecution.js, and the agent run-detail hook; the clarification widget,HumanCheckpoint.jsx, and the approvals queue render the sameinteraction/raisedpayload. Compare mode = two concurrent run streams on one view — the reducer supports multiple runs per surface. - Embedded surfaces migrate in the same release: Teams app, Outlook add-in, Nextcloud, browser extension.
- T7: unit tests for the reducer (every v2 event + malformed-input tolerance); component tests for interaction widgets; Playwright e2e for the golden flows — chat with tools, clarification pause/answer, chat-embedded workflow checkpoint, agent run with approval, stop/steer mid-run, compare mode.
- Ship as the major release with the breaking change in the changelog (use
/document-feature).
Deletes
Legacy event emission (clarification, workflow.checkpoint, workflow.step/result, agent.hitl.* as separate dialects, ...) · the three legacy client event dialects.
Definition of done
Server emits v2 only; all product surfaces on the shared reducer; full e2e suite green; deletions merged.
Depends on: #2237 (C3).
Activity
Metadata
Metadata
Assignees
Labels
No labels