Skip to content

feat(stovepipe): hand off newly opened issues for repair - #963

Merged
mnoah1 merged 2 commits into
mainfrom
mnoah1/stovepipe-fix-handoff
Oct 27, 2026
Merged

mnoah1 merged 2 commits into
mainfrom
mnoah1/stovepipe-fix-handoff

Conversation

@mnoah1

@mnoah1 mnoah1 commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Notify the fix controller after each nonempty refresh pass finishes processing the build's reported issues. The fix controller already decides whether a fix is needed and selects eligible issues for repair.

Retries reuse the same message ID; later passes get a new one.

Adds the fix publication route to the reference host; consumer activation and executor configuration remain separate.

Test Plan

  • Run ./tool/bazel test //stovepipe/controller/issuetrack:go_default_test //stovepipe/controller/fix:go_default_test //stovepipe/core/fixrequest:go_default_test //stovepipe/entity:go_default_test //stovepipe/extension/storage/mysql:go_default_test //service/stovepipe/server:go_default_test.

Revert Plan

Revert this PR.

Issue Links

None — follow-up implementation from the issue-tracking stack; no tracking ticket was provided.

Summary:
Issue tracking now publishes a build-scoped repair request after completing an opening pass with newly opened or reopened issues. Persist the opening flag across batches and retries, and publish before advancing the pass so a failed handoff can be retried. The existing fix controller retains its one-repair-per-build policy.

Adds the fix publication route to the reference host; consumer activation and executor configuration remain separate. Existing MySQL deployments must append the has_new_issues column before deploying updated readers.

Test Plan:
- Run ./tool/bazel test //stovepipe/controller/issuetrack:go_default_test //stovepipe/controller/fix:go_default_test //stovepipe/core/fixrequest:go_default_test //stovepipe/entity:go_default_test //stovepipe/extension/storage/mysql:go_default_test //service/stovepipe/server:go_default_test.
- With Docker available, run ./tool/bazel test //test/integration/stovepipe/extension/storage/mysql:go_default_test --test_filter='TestMySQLStorage/IssueTracking' --test_output=errors to verify persistence of the opening flag against MySQL.

Revert Plan:
Revert this PR; the added MySQL column can remain.
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-fix-handoff branch from a55da45 to 928133c Compare October 27, 2026 22:07
@mnoah1
mnoah1 changed the base branch from codex/stovepipe-issuetrack-dlq to main October 27, 2026 22:07
Use the existing opening cursor to skip empty passes and let the fix controller select eligible issues. Key repair messages by build and persisted pass notification so retries deduplicate without suppressing later passes. Remove the opening flag and its schema change.
@mnoah1
mnoah1 marked this pull request as ready for review October 27, 2026 22:32
@mnoah1
mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners October 27, 2026 22:33
@mnoah1
mnoah1 added this pull request to the merge queue Oct 27, 2026
Merged via the queue into main with commit 69feef3 Oct 27, 2026
36 checks passed
@mnoah1
mnoah1 deleted the mnoah1/stovepipe-fix-handoff branch October 27, 2026 22:53
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.

2 participants