Repository navigation
Conversation
Summary: Recover every executor's durable submission or skip without submitting backend work. Pending or missing eligible repair records retain an acceptance-unknown event. Wire the executor registry into recovery and remove the superseded build-level selection and history helpers. This is the final layer of the repair-executor stack, building on normal batch dispatch. Test Plan: `TestFixDLQRetainsAllDispositionsWithoutSubmitting`, `TestFixDLQRetainsUnknownAcceptance`, and `TestFixDLQDiscardsInvalidMessages` cover retained outcomes, unknown acceptance, invalid deliveries, and the absence of executor submissions. The 28-target Stovepipe suite also verifies reference-server wiring. Lint, tidy, and Gazelle checks verify the repository metadata. Revert Plan: Revert this PR together with the dependent dispatch and executor-contract changes before deploying the earlier build-level repair flow.
mnoah1
marked this pull request as ready for review
November 6, 2026 22:32
mnoah1
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
November 6, 2026 22:32
This branch has not been deployed
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.
Why?
With multiple issues and fixer backends, a dead-lettered fix request can contain several accepted or skipped submissions alongside work whose acceptance is unknown. The existing DLQ handler reads one build-level repair association and cannot restore all of those histories.
What?
Extend the fix DLQ handler to walk the build's observations and registered executors, read their
IssueRepairrecords, and restore history for every durable acceptance or skip. Pending records, and eligible issues without a record, retainfix_submission_abandonedwith reasonacceptance_unknown. Recovery never callsSubmitor changes issue recovery state.Pass the executor registry through the DLQ wiring, update recovery tests, and remove the superseded single-fix selection and history helpers. This completes DLQ support for the fixer behavior introduced by #1033.
Test Plan
TestFixDLQRetainsAllDispositionsWithoutSubmitting,TestFixDLQRetainsUnknownAcceptance, andTestFixDLQDiscardsInvalidMessagescover retained outcomes, unknown acceptance, invalid deliveries, and the absence of executor submissions. The 28-target Stovepipe suite also verifies reference-server wiring. Lint, tidy, and Gazelle checks verify the repository metadata.Revert Plan
Revert this PR, then revert #1033 and #1034 before deploying the earlier build-level repair flow.
Issue Links
No issue was provided. Final part of the repair-executor stack; based on #1033.
Stack