Skip to content

fix(watcher): absorb completed runs with declared pauses - #53

Merged
ruby-dlee merged 2 commits into
mainfrom
fm/paused-stale-fix-p5
Jul 31, 2026
Merged

fix(watcher): absorb completed runs with declared pauses#53
ruby-dlee merged 2 commits into
mainfrom
fm/paused-stale-fix-p5

Conversation

@ruby-dlee

Copy link
Copy Markdown
Owner

Intent

Stop a finished-but-waiting crewmate from re-triggering the wedge alarm on every watcher cycle. For stale-pane absorb purposes only, a terminal done/passed run-step plus a durable valid declared pause must be treated as expected idle without changing general run-step-over-log precedence. Preserve pause cadence markers while status remains declared paused and clear them only after the pause genuinely ends. Do not hide real wedges: stopped crew without a pause must surface immediately, active or failed runs must retain existing safety behavior, and aged declared pauses must resurface on the bounded long cadence. Add automated coverage for all three directions and leave unrelated known red-main failures untouched.

What Changed

  • Treat completed run steps with a durable declared pause as expected idle during stale-pane triage while preserving normal run-step precedence.
  • Preserve pause cadence markers until the declared pause ends, while immediately surfacing stopped or failed crew without a valid pause.
  • Add regression coverage and documentation for terminal-run pauses, marker lifecycle, immediate wedge detection, and bounded pause resurfacing.

Risk Assessment

✅ Low: The change is narrowly scoped and preserves run-step precedence while allowing only completed run-steps with a valid declared pause to use bounded pause resurfacing; active, failed, and unpaused stopped states remain surfaced.

Testing

Completed 1 recorded test check.

  • Outcome: ⚠️ 1 error across 1 run (44m33s)

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

✅ **Review** - passed

✅ No issues found.

⚠️ **Test** - 1 error
  • 🚨 tests failed with exit code 128
  • command -v tmux >/dev/null || { echo "tmux is required for e2e tests" >&2; exit 1; }; tmux -V; rc=0; for t in tests/*.test.sh; do echo "== $t =="; bash "$t" || rc=1; done; uv run --directory tools/agent-fleet --locked pytest || rc=1; uv run --directory tools/agent-fleet --locked python -m compileall -q src || rc=1; exit "$rc"
✅ **Document** - passed

✅ No issues found.

⚠️ **Lint** - 1 warning
  • ⚠️ linter found issues (exit code 1)
✅ **Push** - passed

✅ No issues found.

@ruby-dlee
ruby-dlee force-pushed the fm/paused-stale-fix-p5 branch from fc90196 to 1bd0578 Compare July 31, 2026 15:34
@ruby-dlee
ruby-dlee merged commit b18412d into main Jul 31, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant