os-sdlc: resume --action retry crashes when exhausted_from is an automated state #364

Closed
opened 2026-08-14 18:08:43 +00:00 by jared · 2 comments
Owner

Resumer#retry! calls dispatch_for, which does table.agent_for(state); for agent-less states like lint (agent: null) this inserts a NULL dispatches.agent and crashes (NOT NULL constraint). Found during #361 run. Retry for an automated state should re-run the gate, not dispatch.

Resumer#retry! calls dispatch_for, which does table.agent_for(state); for agent-less states like lint (agent: null) this inserts a NULL dispatches.agent and crashes (NOT NULL constraint). Found during #361 run. Retry for an automated state should re-run the gate, not dispatch.
Author
Owner

Deviation incident 2026-08-15 — /os-sdlc:implement run for #402+#405, session https://claude.ai/code/session_01GSYJVRGmBiLGjPppHjY3bZ. Deviating skill: plugins/os-sdlc/skills/implement/SKILL.md.

Expected: resume --action retry re-runs the lint gate after out-of-band fixes. Actual (both tickets, twice each): lint gate escalated with exhausted_from=lint; per prior sessions retry crashes (NOT NULL dispatches.agent, see closed #404), so the orchestrator fixed offenses via lint-fixer subagents, verified rubocop-clean + suite green manually, then resume --action skip. skip worked and routed to reviewer both times. The gate result therefore rests on orchestrator-run checks, not the runner's own gate — see also #405's reviewer noting gate-log.txt held only the invocation error 'no target selected, exit=3'.

Deviation incident 2026-08-15 — /os-sdlc:implement run for #402+#405, session https://claude.ai/code/session_01GSYJVRGmBiLGjPppHjY3bZ. Deviating skill: plugins/os-sdlc/skills/implement/SKILL.md. Expected: resume --action retry re-runs the lint gate after out-of-band fixes. Actual (both tickets, twice each): lint gate escalated with exhausted_from=lint; per prior sessions retry crashes (NOT NULL dispatches.agent, see closed #404), so the orchestrator fixed offenses via lint-fixer subagents, verified rubocop-clean + suite green manually, then resume --action skip. skip worked and routed to reviewer both times. The gate result therefore rests on orchestrator-run checks, not the runner's own gate — see also #405's reviewer noting gate-log.txt held only the invocation error 'no target selected, exit=3'.
Author
Owner

Resolution

Done: Already fixed on main: commit 76e3c8e (fix(os-sdlc): resume --retry on agentless states re-runs the gate) implements gate re-run via TicketFlow#emit_action; the NULL-agent dispatch path was deleted in the same commit.

Evidence: Code-probe 2026-08-15: Resumer#retry! (resumer.rb:38-42) delegates to TicketFlow#emit_action; escalation_test.rb has two purpose-built tests (retry on agentless state re-runs gate / creates no dispatch); ruby -Ilib tests/runner/escalation_test.rb on HEAD 3b60fb8: 28 runs, 0 failures. Session https://claude.ai/code/session_01GSYJVRGmBiLGjPppHjY3bZ

Follow-ups: none — the 2026-08-15 #402/#405 runs avoided retry from a stale workaround note, not a live crash; orchestrator memory corrected

## Resolution **Done:** Already fixed on main: commit 76e3c8e (fix(os-sdlc): resume --retry on agentless states re-runs the gate) implements gate re-run via TicketFlow#emit_action; the NULL-agent dispatch path was deleted in the same commit. **Evidence:** Code-probe 2026-08-15: Resumer#retry! (resumer.rb:38-42) delegates to TicketFlow#emit_action; escalation_test.rb has two purpose-built tests (retry on agentless state re-runs gate / creates no dispatch); ruby -Ilib tests/runner/escalation_test.rb on HEAD 3b60fb8: 28 runs, 0 failures. Session https://claude.ai/code/session_01GSYJVRGmBiLGjPppHjY3bZ **Follow-ups:** none — the 2026-08-15 #402/#405 runs avoided retry from a stale workaround note, not a live crash; orchestrator memory corrected
jared closed this issue 2026-08-16 00:35:03 +00:00
Sign in to join this conversation.
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
jared/cc-os#364
No description provided.