Repository navigation
fix(agy): declare failure_markers for the print-timeout watchdog - #109
Merged
Merged
Conversation
agy's own `--print-timeout` fires mid-turn, writes "... with turn in progress; returning partial output" to stderr, and exits 0 regardless of whether anything was accomplished. When the model had streamed some visible prose before the cutoff, that non-blank stdout was enough for the existing empty-run guard to wave the run through: dispatch-log shows agy-claude-opus-4-6-thinking and agy-gpt-oss-120b-medium each logged outcome:"success" after running ~486s (within seconds of the registry's --print-timeout 8m) with no file changed. Confirmed live against the real agy 1.2.0 binary. The failure_markers mechanism already exists for exactly this class (see kiro's "Monthly request limit reached"); the agy family just never declared one. All twelve agy-* edit_exists/read_only entries now do. hasSubstantiveOutput still wins when a real edit landed before the cutoff, so genuine partial completions are unaffected. Consensus: 3/4 reviewers responded (groq-gpt-oss-120b, qwencloud-qwen-flash-character, qwencloud-qwen-plus-character), all APPROVE, no critical issues — only optional doc suggestions, one of which (a explanatory comment) is included here. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This was referenced Sep 10, 2026
Merged
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.
Summary
agy's own--print-timeoutwatchdog exits 0 and writes... with turn in progress; returning partial outputto stderr when it fires mid-turn, regardless of whether anything was accomplished.agy1.2.0 binary. In production,agy-claude-opus-4-6-thinkingandagy-gpt-oss-120b-mediumeach loggedoutcome:"success"after running ~486s (within seconds of the registry's--print-timeout 8m) with no file changed — the model had streamed some visible prose before the cutoff, and that non-blank stdout was enough for the existing empty-run guard to wave the run through.failure_markersmechanism already exists for exactly this class (seekiro's"Monthly request limit reached"); the agy family's six registry entries never declared one. This addsfailure_markers: ["with turn in progress; returning partial output"]to all twelveagy-*edit_exists/read_onlytransports.hasSubstantiveOutputstill wins when real files changed before the cutoff, so a genuine partial edit is untouched — only an empty, cut-off turn is re-scored as a failure.lib/dispatch.jschanges — this is a registry-data-only fix using an existing, deliberate mechanism.Test plan
declaredMarkerExitCode(marker + no files → failure; marker + real files → untouched)runDispatchtests via a fake CLI reproducing agy's exact stderr line + partial stdout prose (with marker declared → failure; without → documents the pre-fix false success)node --test lib/*.test.js: 506 pass, 1 pre-existing skip, 0 failagents.yamlre-parses cleanly (35 entries)APPROVE, no critical issues raised🤖 Generated with Claude Code