docs: specify SSE replay cursors - #49
Conversation
🤖 Automated Review PanelReviewer A — GPT-5.6 TerraAPPROVE after re-review. The revised contract resolves the initial blockers: restart-safe incarnation-qualified cursors, server-owned broker ingress/fan-out, fixed 512-entry retention, generated 400/409 error contracts, and CLI projection metadata. The frozen predecessor remains untouched and implementation is correctly gated on approval. Reviewer B — Gemini 3 FlashAPPROVE after re-review. No blocking issue remains in cursor lifecycle, atomic replay-to-live semantics, upstream task ownership, retention/expiry behavior, or generated-surface source-of-truth requirements. Resolution recordThe first review pass found five real contract gaps (restart cursor collision, ambiguous broker ownership, unspecified retention capacity, undeclared generated errors, and undeclared CLI output-mode metadata). The spec was amended and both reviewers approved the revised diff. |
d66fcd4 to
5369bb0
Compare
5369bb0 to
8c9759e
Compare
Summary
Adds the spec-only successor change
add-sse-replay-cursorsfor COD-427. It gates implementation behind review of the contract; the previously merged realtime proposal is untouched.The contract specifies:
cursorinput forsubscribe_events, plus SSEid:frames;invalid_replay_cursor/ 409replay_cursor_expiredcontracts and CLI--include-cursorprojection metadata;Validation
git diff --checkopenspecCLI is unavailable on this host)cargo build --all-targetscargo test --all-targets— 217 tests passedcargo clippy --all-targets -- -D warningscargo fmt --all -- --checkcargo run -p iris-codegen --bin iris-codegen -- checkReview gate
This is an OpenSpec contract-review PR. Do not merge automatically. Implementation must wait for this spec to land on
main.