Repository navigation
Prevent unchanged coding blockers from launching repeated attempts - #683
Merged
Merged
Conversation
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.
Merge decision: ready — the DGX controller retains failed-attempt blockers independently of task bookkeeping and admits one continuation from a relevant verified repair, authorised inbox follow-up or explicit retry. Installation remains a separate operator handoff.
User outcome
Task archives, closeout evidence, self-reports, unrelated comments and pending status changes previously allowed repeated coding launches against an unchanged prerequisite. Waiting now preserves the reason, recovery owner and retained work, spends no coding model calls, and allows other eligible tasks to proceed.
Native assignment:
#V#task_agent_78d57451e04f1ac9ca7acea3800d0e06.Material changes
/retry-coding <attempt> <reason>task comment and the existing contextual inbox route. The inbox receives retained attempt evidence and freezes its continuation binding before effects.The restriction addresses observed duplicate paid attempts against the same unrepaired dependency. A whole-task fingerprint does not distinguish those attempts from relevant recovery; the gate is confined to failed/waiting attempts, with explicit retry and independently useful follow-up routes.
Evidence
157 targeted tests passed across worker, inbox, canonical inbox replay, retry admission, execution archives, release installation and deployment recovery. The new acceptance uses the actual controller launch path with a local stand-in executable and isolated canonical task/message services, including recipient read-back. No provider model, competing worker or production disposable task was used.
Covered unchanged polling/bookkeeping, contradictory authentication, stale/wrong-scope/untrusted receipts, exactly one repair/manual/probe continuation, retained worktree and Astra/xhigh settings, cancellation/reassignment during probing, missing state, lost acknowledgements and unrelated-task progress. The release fixture verifies actual module imports and rollback. New retry module/tests and the release helper pass Ruff;
git diff --checkpasses. Existing broader-file lint debt is outside this change.Ship boundary