Stop the runaway scan from telling Captains to rotate crew threads that hold a PR (GST-2226) (#4250)

* Stop the runaway scan from telling Captains to rotate crew threads that hold a PR (GST-2226)

Only a thread marked standing rotates, and never while it holds an open PR or its PR list is missing; a crew thread gets one CHECK_IN past 1B own tokens (R70 as amended, R91).

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* Trim the runaway-stopper wording so it fits the skill context budget with #4244

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* Reword the runaway-scan changelog entry so it passes the prose check

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
Garry Tanandcapy-ai[bot] authored and GitHub committed 2026-11-09 23:45:47 +00:00
1 parent 490bbd5202
commit 7dace1fdea
6 files changed
+119 -38

No files matched your search

+4 -2
View File
@@ -969,7 +969,8 @@ sets the defaults that keep it from coming back.
- **Detect.** One program fetches each crew thread (`tools.thread.get`, with its transcript) to files, then
`gstack-runaway scan --dir <dir>` prints a `RUNAWAY:` line per thread and a `FLAG:` line per limit crossed:
own tokens past 500M or active past 3 days (rotate, for a standing thread that wakes on every event; a crew
thread keeps its PR until it merges or closes and checks in with its Captain once past 1B), a subagent past 100M (stop), empty wakes past 25% of the
thread keeps its PR until it merges or closes and checks in with its Captain once past 1B, and no thread holding an
open PR rotates), a subagent past 100M (stop), empty wakes past 25% of the
last 40 turns (warm-wait check-ins are left out), and review rounds past 2 per PR. Captains are reported, never rotated.
- **Stop.** A live subagent past 100M is stopped with its reason. A standing thread is rotated at a clean point through
a handoff file and a successor brief (`runaway-stopper/templates/`), then archived by its own Captain once none of
@@ -979,7 +980,8 @@ sets the defaults that keep it from coming back.
PR head (metering its own row with a 100M default cap, `BUDGET_DEFAULT_CAP:`), two review rounds, and a fresh
thread per automation run.
Scanning FOUN-4, FOUN-14 and FOUN-71 as read on 2026-11-03 (excerpt):
Scanning FOUN-4, FOUN-14 and FOUN-71 as read on 2026-11-03, before R70's 2026-11-09 amendment (today only a thread
marked standing gets `ROTATE`, a crew thread past 1B gets `CHECK_IN`, and a thread holding an open PR never rotates) (excerpt):
```
RUNAWAY: thread=FOUN-4 verdict=ROTATE own=4.04B(upper) total=6.90B credits=2299398 age_days=13.1 active=yes ...