Summary
Add transient draft operation intake and storage so interfaces can submit collaborative edits without immediate durable RERUM writes.
Scope
- Add draft operation intake endpoint(s) for line text and bounds patches.
- Store coalesced transient draft state by project/page/line/user.
- Emit op accepted or rejected acknowledgements.
- Fanout accepted operations to websocket room members.
- Add validation and limits for payload size and queue depth.
Acceptance Criteria
- Draft operations are accepted and visible to collaborators in realtime.
- Duplicate retry submissions are deduplicated by idempotency key.
- No durable RERUM write occurs in this phase.
- Rejected operations return machine-readable reason.
Dependency
- Depends on websocket skeleton issue.
Summary
Add transient draft operation intake and storage so interfaces can submit collaborative edits without immediate durable RERUM writes.
Scope
Acceptance Criteria
Dependency