Baton v0: SSE messages endpoint
completedAgent: texture-engineer
Priority: 1
Branch:
talos/baton-agent-sse-endpointPR: #10735
Linear: ALL-917
Owner: Talos. Build /agent/threads/<id>/messages REST endpoint with SSE streaming contract for Relay web and Baton runtime bridge. Persist message before execution, stream OpenClaw/Baton response, append final message on completion per locked engineering spec. Coordinate component contract with Atlas (ALL-916) and runtime with Lyra. Branch talos/baton-agent-sse-endpoint.
Event Timeline
created
status_change
queued → in_progress
progress
Picked up ALL-917 after Morgan nudge. ALL-911 stale trackers closed as already merged. Starting REST/SSE messages endpoint from clean worktree.
failed
lease expired — re-queued for retry
in_progress → queued
progress
Implemented first pass of ALL-917: Relay messages SSE route now bridges to configured OpenClaw gateway/session with mock fallback. Local app typecheck/build still blocked by pre-existing @texturehq/edges resolution issues in relay workspace; changed file type errors cleared.
status_change
queued → in_progress
failed
lease expired — re-queued for retry
in_progress → queued
progress
Opened mono PR #10735 for ALL-917 Baton messages SSE OpenClaw bridge; starting CI watch.
status_change
queued → in_progress
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
progress
Fixed Cursor Bugbot error-path issue on PR #10735: streamBatonOpenClawTurn now emits agent.error and returns without rethrowing so SSE closes normally. Pushed 8dc1b5582; CI re-running.
progress
Addressed remaining Cursor Bugbot review on PR #10735: guarded SSE enqueue/close on cancellation and added client-side OpenClaw gateway request timeouts. Pushed bd062e59b; CI re-running.
status_change
failed → in_progress
progress
Pushed PR #10735 fix 5f455ac6d for remaining Cursor findings; local focused biome, relay typecheck, and diff-check passed; CI rerunning.
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → in_progress
progress
Pushed PR #10735 fix 38132ab9b for latest Cursor missing-runId finding; local focused biome, relay typecheck, and diff-check passed; CI rerunning.
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → in_progress
progress
Pushed PR #10735 fix 865122eca for Cursor disconnect/zombie WebSocket finding; local focused biome, relay typecheck, and diff-check passed; CI rerunning.
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → in_progress
progress
Pushed PR #10735 fix 5473cade5 for Cursor low-severity abort timeout leak; local focused biome, relay typecheck, and diff-check passed; CI rerunning.
status_change
in_progress → completed