Repository navigation
Require confirmed questions before blocking attention - #6
Merged
Merged
Conversation
Run push verification only on main so feature PR checks use the same comparison as their reconciliation receipts. Preserve exact main push comparisons and release provenance, and document the remaining manual comparison limitation.
Clarify classifier failures with the retained agent under a shared, durable two-attempt recovery budget. Keep unconfirmed results diagnostic, and create text fallback only for positively confirmed questions. Recheck legacy synthetic requests while retaining genuine unanswered questions, nonblocking delivery, approvals and final answer claims. Preserve one durable async answer route across restart and claim its originating question before delivery, including uncertain delivery. Keep setup, takeover and queued callbacks within their owning recovery. Complete historical clarification before detecting a newer question, and restore task policy only after a live repair answer completes. Show clarification progress without attention badges. Include fixture regressions and the reviewed UI, behavior and reconciliation records. Fixes #2
dkropachev
force-pushed
the
fix/2-confirm-unanswered-questions
branch
from
October 26, 2026 03:30
9228633 to
6b783cc
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.
Issue
In #2, completion-only agent messages could become blocking Reply requests when question classification failed or a daemon restarted during an unfinished check. Those synthetic requests could remain pending after later successful work.
Fixes #2
Fix
Require positive evidence of an unanswered question before creating text fallback. Classifier failures ask the original retained agent for question-only clarification in Plan mode with read-only access and no approvals. Clarification and native-form repair share a durable budget of at most two automatic turns; unconfirmed results retain diagnostics without adding attention or continuing the task.
Recheck ambiguous legacy requests at startup and after later successful turns. Retire only matching requests positively classified as obsolete, while preserving genuine unanswered questions, explicitly nonblocking delivery, approvals, and claimed answers. Owner takeover invalidates late recovery callbacks. The UI shows clarification progress and its shared attempt count without false attention badges.
Keep one current answer route for recovered async questions across process loss and restart. Retire matching obsolete synthetic requests atomically while retaining their history, and preserve final originating claims when delivery is uncertain. A live repair answer completes its turn before continuation restores the original task policy.
Claim retained-agent setup attempts durably from the shared recovery budget. Setup failure consumes its claim; successful setup reuses it for the first question-only turn. Only remaining budget permits automatic retries. Preserve takeover cancellation before turn delivery and use later owner-directed work as evidence for legacy rechecks.
Reconcile the attention, recovery, interaction, and UI contracts with the implementation and regression assertions.
Run push checks only on main and verify feature work through pull requests to main. Main push before/after and PR event base/head comparisons, fixture verification, and successful-main-push release provenance remain unchanged. Feature branches without an open PR receive no automatic push checks. Manual dispatch keeps its existing parent comparison and receipt-base limitation.
Decisions