Skip to content

feat(stovepipe): select and submit one repair per build - #935

Open
mnoah1 wants to merge 1 commit into
mnoah1/stovepipe-fix-submission-statefrom
mnoah1/stovepipe-fix-controller
Open

mnoah1 wants to merge 1 commit into
mnoah1/stovepipe-fix-submission-statefrom
mnoah1/stovepipe-fix-controller

Conversation

@mnoah1

@mnoah1 mnoah1 commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Why?

Submit a repair for a newly opened issue while initially limiting recorded repairs to one issue per build.

Once we get this working end to end for the first failure on each build, we can build out additional logic that can introduce multiple parallel fixes for different issues in the same build.

What?

Add a fix controller that scans the build's durable observations, skips builds with a recorded fix ID, and submits one currently open issue first seen in that build. Persist the executor's returned ID with entity CAS, including IDs returned alongside an error. Errors without an ID follow normal queue error handling; concurrent submissions or retries can produce duplicate outbound calls.

Test Plan

Run ./tool/bazel test //stovepipe/controller/fix:go_default_test. Tests cover pagination, existing repair associations, issue recovery, executor errors, and CAS conflicts. Run make lint check-tidy check-gazelle.

Revert Plan

Revert the queue-wiring layer first, then this commit.

Stack

  1. feat(stovepipe): associate build issues with repairs using entity CAS #934
  2. @ feat(stovepipe): select and submit one repair per build #935
  3. feat(stovepipe): publish build repair requests to the fix queue #936

Scan build observations for existing fix IDs, submit an eligible open issue, and associate the returned ID through entity CAS. Return submission errors without an ID for normal queue handling; document caller-owned retry policy.

Test Plan: Run ./tool/bazel test //stovepipe/controller/fix:go_default_test and make lint check-tidy check-gazelle.

Revert Plan: Revert this commit.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant