Runs that go in circles end (M7.8)
Driver.run checks each turn with nisse_core.loop.circles and ends the run as "circling" when the same calls get much the same back, one harness correction is given again and again, or the model apologises, for circle_repeats turns in a row (default 3). Near-identical calls (git add a.py, b.py) and scattered apologies stay flags on the status page. A fact in the transcript says why the run ended. nisse-dev calls in a helper as for a stuck run, then asks the operator; nisse-review counts a failed run and posts none of its drafts. Tuning: tuning.driver / tuning.review circle_repeats (0 off) and circle_similar. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J5Utyfzw7gF7UhjRDEtjTk
This commit is contained in:
1 parent
516a328618
commit
74bc68db1c
20 files changed
+506
-20
No files matched your search
@@ -2378,11 +2378,12 @@ class LoopAgent:
|
||||
|
||||
def _help_when_stuck(self, item: WorkItem, loop: Loop, outcome: RunOutcome) -> bool:
|
||||
"""L9's observable triggers: the driver stuck (commands failing in a
|
||||
row) or out of turns mid-milestone. A helper is called in, once per
|
||||
milestone; True when it finished and the driver goes on."""
|
||||
row), going in circles (L2), or out of turns mid-milestone. A helper
|
||||
is called in, once per milestone; True when it finished and the
|
||||
driver goes on."""
|
||||
if (
|
||||
self._helpers is None
|
||||
or outcome.kind not in ("stuck", "capped")
|
||||
or outcome.kind not in ("stuck", "circling", "capped")
|
||||
or not loop.branch
|
||||
or loop.helped_at == loop.milestone
|
||||
):
|
||||
|
||||
Reference in new issue
Block a user