Skip to content

feat(stovepipe): persist first-failure repair submissions - #896

Draft
mnoah1 wants to merge 1 commit into
mnoah1/stovepipe-breakage-fix-apifrom
mnoah1/stovepipe-fix-storage
Draft

mnoah1 wants to merge 1 commit into
mnoah1/stovepipe-breakage-fix-apifrom
mnoah1/stovepipe-fix-storage

Conversation

@mnoah1

@mnoah1 mnoah1 commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Why?

Persist one-shot repair submissions using the existing key-value storage model, with a durable first-repair selection per build.

Stacked on #893, which defines the repair contracts, and #894, which describes the workflow.

What?

  • Implement queue-scoped MySQL FixStore with primary-key reads and optimistic, full-snapshot updates.
  • Key the initial Fix by the detecting BuildID. Retain OpenIssue references on each repair; observations and recovery evidence remain owned by build analysis.
  • Store repair attempts in one new fix table with initiating build ID, issue references, submission state, execution reference, and optional provider metadata.
  • Cover submission snapshots, including rejection of stale results, in MySQL integration tests.

Apply the new fix table before deploying the store. Build and OpenIssue keep their existing schemas.

Test Plan

  • Passed the Stovepipe unit tests and the real-MySQL storage integration suite, including submission snapshots, issue-opening references, and rejection of stale submission results.
  • Built affected service, fixer, and mock targets.
  • Passed repository lint, dependency, Gazelle, mock-generation, and documentation checks. Strict documentation builds and Mermaid parsing passed after restacking.

Revert Plan

Revert this commit and deploy the previous service version before removing the added table. Existing validation data is preserved.

Issue Links

None — this persistence layer implements the repair design being prepared for team review.

@mnoah1
mnoah1 added this pull request to stack #897 October 20, 2026 20:06
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-fix-storage branch from a32ddaf to f82d947 Compare October 20, 2026 21:06
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-fix-storage branch from f82d947 to 39f1572 Compare October 22, 2026 15:47
@mnoah1
mnoah1 removed this pull request from stack #897 October 22, 2026 15:51
@mnoah1
mnoah1 added this pull request to stack #921 October 22, 2026 15:52
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-fix-storage branch from 39f1572 to 309d09e Compare October 22, 2026 19:25
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-fix-storage branch from 309d09e to 2a2e2e5 Compare October 22, 2026 19:27
@mnoah1 mnoah1 changed the title feat(stovepipe): persist repairs with queue-scoped discovery feat(stovepipe): persist first-failure repair submissions Oct 22, 2026
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-fix-storage branch from 2a2e2e5 to 6feb948 Compare October 22, 2026 21:28
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-fix-storage branch from 6feb948 to 49b6470 Compare October 22, 2026 21:30
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-fix-storage branch from 49b6470 to 4543a94 Compare October 22, 2026 21:35

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