spawn, engine: end a seat whose first turn walls before the slot re-runs (spawn recovery, replay case e) #5

Merged
caoer115 merged 1 commit from timeline-first-turn-wall into main 2026-10-27 11:42:54 +00:00
Owner

A spawn whose startup gate exits 4 on a first turn answered with an API error
left that seat idle in its pane while the runner re-ran the slot on its
fallback (spawn-recovery replay pass 2, case e). The daemon names the seat
only on the --json envelope's error.agent_id, so the spawn now runs with
--json and reads the envelope: exit 4 with error.agent_id is a failed spawn
whose Agent is that seat; with error.daemon_recovers the daemon's recovery
owns it and the spawn is unverified. The engine ends a failed spawn's seat
(get, then kill or killme, as Watch does a mid-run wall) and records the
agent and how it ended on the error row before the retry fires the fallback.
spawn-walled.json is ccc-statusd's own spawn Result at main c237c755.

A spawn whose startup gate exits 4 on a first turn answered with an API error left that seat idle in its pane while the runner re-ran the slot on its fallback (spawn-recovery replay pass 2, case e). The daemon names the seat only on the --json envelope's error.agent_id, so the spawn now runs with --json and reads the envelope: exit 4 with error.agent_id is a failed spawn whose Agent is that seat; with error.daemon_recovers the daemon's recovery owns it and the spawn is unverified. The engine ends a failed spawn's seat (get, then kill or killme, as Watch does a mid-run wall) and records the agent and how it ended on the error row before the retry fires the fallback. spawn-walled.json is ccc-statusd's own spawn Result at main c237c755.
A spawn whose startup gate exits 4 on a first turn answered with an API error
left that seat idle in its pane while the runner re-ran the slot on its
fallback (spawn-recovery replay pass 2, case e). The daemon names the seat
only on the --json envelope's error.agent_id, so the spawn now runs with
--json and reads the envelope: exit 4 with error.agent_id is a failed spawn
whose Agent is that seat; with error.daemon_recovers the daemon's recovery
owns it and the spawn is unverified. The engine ends a failed spawn's seat
(get, then kill or killme, as Watch does a mid-run wall) and records the
agent and how it ended on the error row before the retry fires the fallback.
spawn-walled.json is ccc-statusd's own spawn Result at main c237c755.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
caoer115/agent-timeline!5
No description provided.