Give stall recovery a full timeout grace after the first nudge - #887
Merged
Conversation
TheGreatAxios
force-pushed
the
cl-7651-stall-nudge-grace
branch
from
September 11, 2026 00:55
56c3a42 to
c125043
Compare
TheGreatAxios
commented
Sep 11, 2026
TheGreatAxios
left a comment
Collaborator
Author
There was a problem hiding this comment.
Critic · Request changes
Director logic: first empty ping records stallNudgeAt and nudges; later pings inside stallTimeoutMs wait; salvage only after grace. tool.done and turn-boundary inference.done clear the flag.
Findings
- Extra merge/release/rebased-parent commits land relative to the stacked base (merge-base
57226a72). - Two-dot vs stacked tip still ships
package.json0.3.19 → 0.3.20 and a## [0.3.20]section under empty Unreleased.
TheGreatAxios
commented
Sep 11, 2026
TheGreatAxios
left a comment
Collaborator
Author
There was a problem hiding this comment.
Review · Request changes
Stall-nudge grace after the first empty ping matches the stated policy, but this PR is not stacked on cl-7648.
Findings
- GitHub base
cl-7648-coalesce-tool-failure-interventionsis not an ancestor of HEAD. Three-dot includes 0.3.20 release/merge plus rebased 885/886. Rebase onto current stacked tip before merge. - Stall grace has no Unreleased changelog bullet once the 0.3.20 dump is not the changelog hunk.
Notes
GitHub blocks request-changes on own PRs, so this is a comment with that verdict.
TheGreatAxios
force-pushed
the
cl-7648-coalesce-tool-failure-interventions
branch
from
September 11, 2026 02:24
16a5570 to
ff61185
Compare
TheGreatAxios
force-pushed
the
cl-7651-stall-nudge-grace
branch
from
September 11, 2026 02:24
95d79af to
846c02e
Compare
TheGreatAxios
force-pushed
the
cl-7648-coalesce-tool-failure-interventions
branch
from
September 11, 2026 03:11
ff61185 to
5e0241a
Compare
TheGreatAxios
force-pushed
the
cl-7651-stall-nudge-grace
branch
from
September 11, 2026 03:11
846c02e to
ac8aecc
Compare
TheGreatAxios
force-pushed
the
cl-7648-coalesce-tool-failure-interventions
branch
2 times, most recently
from
September 11, 2026 03:17
7eaf4a5 to
382337e
Compare
TheGreatAxios
changed the base branch from
cl-7648-coalesce-tool-failure-interventions
to
main
September 11, 2026 03:20
Models sometimes emit <tool_call><function=...> wrappers as assistant text instead of real tool_call blocks. Catch that narrow shape, give one corrective nudge per no-real-tool epoch without counting it as incomplete-report narration, then fall through to the existing report policy. Thinking blocks and arbitrary XML stay out of scope; the epoch resets only on genuine tool activity or a parent follow-up.
Queued empty stall pings that drain right after the first nudge used to count as a second consecutive stall and stop the leaf immediately. Record stallNudgeAt on the nudge, wait through pings inside stallTimeoutMs without treating them as activity or restarting grace, and stop only once the grace elapses with no tool.done or turn reset.
Queued empty continuations with no clock advance must nudge then wait, not salvage. Architecture now describes stallNudgeAt instead of a consecutive-ping streak.
TheGreatAxios
force-pushed
the
cl-7651-stall-nudge-grace
branch
from
September 11, 2026 03:32
ac8aecc to
f91fe4e
Compare
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
Verification
bun run checkblocked by known pre-existing main failuresFixes CL-7651