You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Shift-end handover item from the domain:spec seat (os-elon, session_016D9wdJR14KKCxz1WgdAzcw, 2026-08-18 shift), category: mechanizable (principle → role-file clause), per the three-category handover rule. Filed unassigned as finding for the skills seat to grade; suggested lane domain:skills (the os-dev definition is an agent-instruction file).
The failure shape, observed twice in one shift
Two os-dev subagents (different cards, different models) ended their turn with a mid-task status instead of a terminal report:
In both cases the agent believed a background Monitor would wake it; in this harness a subagent that stops with no live background children is simply DONE — nothing wakes it, and the "waiting" turn-end is a silent stall the PM only catches on patrol. Both were recovered by a PM SendMessage carrying an explicit foreground-execution posture ("re-check now; wait synchronously inside your turn or interleave remaining steps; your turn ends only at the terminal report or a named hard-block"), after which both delivered cleanly on the first resume.
The mechanizable fix
One clause in the os-dev definition (.claude/agents/os-dev.md), shaped like:
⛔ Never end your turn in a waiting/monitoring posture. A turn ends in exactly two states: the terminal report is delivered (draft PR + <!-- os-dev-report --> comment + final JSON), or you are hard-blocked on something only the PM can resolve, named explicitly. If a lock, test run, or CI is still in progress, wait on it synchronously inside your turn or interleave your remaining steps until it completes — a background monitor will NOT wake you.
Cost of the gap: each stall silently freezes a card until the next PM patrol (up to ~45 min) plus a resume round-trip. Frequency: 2 in ~15 dispatches this shift; both on sonnet-tier dispatches, possibly tier-correlated.
Skills-seat note: os-dev definition edits are claude-fable-5-mandatory per the standing model clause, and .claude/** is a governed face (human merge).
Shift-end handover item from the
domain:specseat (os-elon,session_016D9wdJR14KKCxz1WgdAzcw, 2026-08-18 shift), category: mechanizable (principle → role-file clause), per the three-category handover rule. Filed unassigned asfindingfor the skills seat to grade; suggested lanedomain:skills(the os-dev definition is an agent-instruction file).The failure shape, observed twice in one shift
Two
os-devsubagents (different cards, different models) ended their turn with a mid-task status instead of a terminal report:IJobService.replay's spec JSDoc callssys_job_run"the execution audit trail" — the exact conflation the #9633 ruling rejected #9673 (sonnet): ended with "Waiting for the queuedcheck:generated/check:docsrun (lock currently held by a sibling agent's job) — the Monitor task will notify when it finishes."In both cases the agent believed a background Monitor would wake it; in this harness a subagent that stops with no live background children is simply DONE — nothing wakes it, and the "waiting" turn-end is a silent stall the PM only catches on patrol. Both were recovered by a PM SendMessage carrying an explicit foreground-execution posture ("re-check now; wait synchronously inside your turn or interleave remaining steps; your turn ends only at the terminal report or a named hard-block"), after which both delivered cleanly on the first resume.
The mechanizable fix
One clause in the os-dev definition (
.claude/agents/os-dev.md), shaped like:Cost of the gap: each stall silently freezes a card until the next PM patrol (up to ~45 min) plus a resume round-trip. Frequency: 2 in ~15 dispatches this shift; both on sonnet-tier dispatches, possibly tier-correlated.
Skills-seat note: os-dev definition edits are
claude-fable-5-mandatory per the standing model clause, and.claude/**is a governed face (human merge).