Skip to content

Loop: action=resume verdict has no driver-side dispatch — stall-resume silently no-ops #154

Description

@robercano-ghbot

What

Issue #98 (PR #146) added stall detection and a bounded action=resume issue=N verdict to loop-tick.sh, but loop-daemon.sh's run_once dispatch only handles advance issue=* and feedback pr=* — a resume verdict falls through to the unrecognized-action branch and no driver is ever spawned. loop-event.sh likewise has no RESUME prompt variant.

Observed impact (2026-07-16 → 2026-07-17)

Issues #96, #106 and #124 each hit stall detection overnight; every resume-attempt event (2 per issue) produced no driver, no ledger line, and no progress, after which the issues were escalated to needs-human. #96 and #106 sat parked ~12h until manually recovered (PRs #152/#153). The resume half of #98 has effectively never run.

Fix sketch

  • loop-daemon.sh run_once: handle resume issue=* like advance (distinct transient unit name, e.g. pr-loop-driver-resume-issue; debris-check exclusion parity with the ci-fix unit naming just added in PR feat(loop): ci-fix — automated bounded fix attempts for failing PR CI (issue #96, part 1) #153).
  • loop-event.sh: RESUME prompt variant — continue the EXISTING worktree/branch for issue N (never recreate), re-run gates, publish.
  • Tests: loop-daemon.test.sh dispatch case for the resume shape; loop-event.test.sh prompt variant.

Surfaced during the issue #96 recovery (PR #153); see also the resume-attempt events in .claude/state/events.jsonl around 2026-07-16T21:13Z.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmodule:harnessOrchestrator machinery under .claudeplannedOwner-approved for the autonomous loop (assigned ONLY by the owner)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions