fix: watchdog-nudge krijgt een bovengrens, grok-preflight leest de hele uitvoer - #6
Merged
Merged
Conversation
…epord De nudge-lus zat niet in het mislukken maar in het slagen. Antwoordt een agent op de nudge, dan verandert lastMessageAt en gooit de watchdog zijn hele state voor die agent weg, nudgedAt incluis. Negentig seconden later ziet hij dus een agent die nog nooit gepord is. Een agent die netjes terugroept dat hij bezig is maar niets aflevert, houdt dat eeuwig vol. Gemeten op 01-09-2026 in claude-mem: 1.434 van de 5.457 prompts in augustus waren de watchdog-nudge, een kwart van de maand. Een sessie kreeg er 792 in het etmaal van 18 op 19 augustus, een andere 337. Elke nudge is een volledige beurt met de hele conversatie erin. De state houdt nu nudgeCount bij, en die overleeft een binnenkomend bericht met opzet; de stall-tracking wordt nog wel gewoon gereset, dus normaal gedrag verandert niet. Boven DEFAULT_MAX_NUDGES (5, of ENSEMBLE_WATCHDOG_MAX_NUDGES) zegt hij het één keer in de feed en houdt daarna zijn mond. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… inloggen De check greppte op "logged in" in head -1 van `grok models`. Print grok daar een updatebanner boven, dan noemt de preflight een prima ingelogde CLI niet-geauthenticeerd. Nagemeten met een banner: dat gaat inderdaad mis. Verder gooide hij twee toestanden op één hoop. Een 402 Payment Required (het weektegoed is op) is geen auth-probleem, en `grok login` lost het dan ook niet op: je moet wachten op de tegoedreset. Die twee hebben nu elk hun eigen melding. En omdat inloggen een halve minuut kost in een ander venster, krijgt een interactieve aanroep nu die halve minuut in plaats van een harde fail waarna je alles opnieuw moet starten. COLLAB_GROK_RETRY_SECS=0 zet dat uit; in een niet-interactieve run gebeurt het sowieso niet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wat
Twee fixes uit de review van 01-09-2026, elk in een eigen commit.
Watchdog: een agent die op elke nudge antwoordt werd eindeloos gepord. De nudge-lus zat in het slagen, niet in het mislukken. Antwoordt een agent op de nudge, dan verandert
lastMessageAten gooide de watchdog zijn hele state voor die agent weg, inclusiefnudgedAt. Negentig seconden later zag hij dus een agent die nog nooit gepord was. Gemeten in claude-mem: 1.434 van de 5.457 prompts in augustus waren de watchdog-nudge, met uitschieters van 792 en 337 nudges per sessie per etmaal. De state houdt nunudgeCountbij, en die overleeft een binnenkomend bericht. BovenDEFAULT_MAX_NUDGES(5, ofENSEMBLE_WATCHDOG_MAX_NUDGES) meldt de watchdog het één keer in de feed en zwijgt daarna.Preflight: de grok-check las alleen de eerste regel. De check greppte op "logged in" in
head -1vangrok models. Print grok daar een updatebanner boven, dan keurde de preflight een prima ingelogde CLI af. Verder gooide hij twee toestanden op één hoop: een 402 (weektegoed op) is geen auth-probleem engrok loginlost het niet op. Die hebben nu elk hun eigen melding. Een interactieve aanroep krijgt daarnaast 30 seconden om alsnog in te loggen (COLLAB_GROK_RETRY_SECS, 0 zet het uit; niet-interactief gebeurt het niet).Test
tests/watchdog-runaway.test.tsdekt het nudge-budget: reset bij een antwoord, bovengrens, eenmalige melding.npm test,npm run typecheckennpm run lintzijn groen; CI draait ze opnieuw op deze PR.🤖 Generated with Claude Code