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
@@ -139,8 +139,10 @@ def test_a_pass_that_doesnt_finish_never_holds_up_the_close(
|
||||
|
||||
|
||||
def test_the_pass_is_bounded(world: dict[str, Any], memory: Memory) -> None:
|
||||
looking = [call("list_notes", folder="")]
|
||||
model = Spy(RESTATE, *[looking] * 3)
|
||||
# A different folder each turn: the same call three times would end the
|
||||
# pass as going in circles (M7.8), not at the cap.
|
||||
looking = [[call("list_notes", folder=f)] for f in ("", "a", "b")]
|
||||
model = Spy(RESTATE, *looking)
|
||||
loop, transport = agent(world, model, memory, memory_turns=3)
|
||||
loop.intake()
|
||||
say(transport, world, "abandon")
|
||||
|
||||
Reference in new issue
Block a user