Repository navigation
Conversation
Summary: Let queues register multiple repair backends and let each backend group its own issue openings. Submission receipts identify accepted work or a terminal skip for each input item; metadata stays in versioned storage. This contract change builds on repair-state persistence. Controller and reference-server callers migrate in the next PR in the stack. Test Plan: `./tool/bazel build //stovepipe/extension/fixer/...` builds the contract, generated mock, and no-op implementation. `make mocks` regenerated the mock, and lint, tidy, and Gazelle checks verify the generated sources and build metadata. Caller compilation requires the next PR. Revert Plan: Revert the dependent dispatch change before reverting this contract change.
mnoah1
marked this pull request as ready for review
November 6, 2026 22:31
mnoah1
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
November 6, 2026 22:31
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?
The fixer extension currently resolves one executor per queue and submits one open issue at a time. Supporting multiple backends for the same issue, while letting each backend choose how to group its work, requires extending both registration and submission.
What?
Extend
Factory.Forto return stable, named executor registrations andRepairExecutor.Submitto accept a list of issue openings. Each returnedSubmissionassociates an input issue with an acceptedFixIDor a terminalSkipReason. Multiple issues can share a fix ID; omitted issues remain pending. These receipts describe submission acceptance, not repair completion.Update the generated mock and no-op adapter to match. Executors manage metadata through the storage introduced in #1032. Controller and reference-server callers migrate to this contract in #1033.
Test Plan
./tool/bazel build //stovepipe/extension/fixer/...builds the contract, generated mock, and no-op implementation.make mocksregenerated the mock, and lint, tidy, and Gazelle checks verify the generated sources and build metadata. Caller compilation requires the next PR.Revert Plan
Revert the dependent dispatch change before reverting this contract change.
Issue Links
No issue was provided. Part 2 of the repair-executor stack; based on #1032. Caller migration follows in #1033.
Stack