Skip to content

feat(stovepipe): wire fix and issuetrack controllers - #964

Open
mnoah1 wants to merge 5 commits into
mainfrom
mnoah1/stovepipe-issue-fix-wiring
Open

mnoah1 wants to merge 5 commits into
mainfrom
mnoah1/stovepipe-issue-fix-wiring

Conversation

@mnoah1

@mnoah1 mnoah1 commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Builds on #963. Register the issue-tracking and fix consumers in the reference host with extended retry subscriptions.

Use a no-op repair executor that returns noop/<buildID> without launching work. The fix controller records the usual one-per-build association. Dead-letter recovery consumer registration remains separate; #961 provides issue-tracking recovery.

Test Plan

Run ./tool/bazel test //service/stovepipe/server:go_default_test //stovepipe/controller/issuetrack:go_default_test //stovepipe/controller/fix:go_default_test //stovepipe/core/fixrequest:go_default_test //test/integration/stovepipe:go_default_test --test_output=errors. The Docker/MySQL integration suite starts the reference server with the new subscriptions, and the wiring test exercises no-op acceptance through the registered fix controller.

Revert Plan

Revert this PR to stop the two consumers and remove the no-op executor. No schema changes are required.

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.
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.
Summary:
Builds on #963. Register the issue-tracking and fix consumers in the reference host with extended retry subscriptions.

Use a no-op repair executor that returns noop/<buildID> without launching work. The fix controller records the usual one-per-build association. Dead-letter recovery consumer registration remains separate; #961 provides issue-tracking recovery.

Test Plan:
Run ./tool/bazel test //service/stovepipe/server:go_default_test //stovepipe/controller/issuetrack:go_default_test //stovepipe/controller/fix:go_default_test //stovepipe/core/fixrequest:go_default_test //test/integration/stovepipe:go_default_test --test_output=errors. The Docker/MySQL integration suite starts the reference server with the new subscriptions, and the wiring test exercises no-op acceptance through the registered fix controller.

Revert Plan:
Revert this PR to stop the two consumers and remove the no-op executor. No schema changes are required.
@mnoah1
mnoah1 marked this pull request as ready for review October 27, 2026 22:49
@mnoah1
mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners October 27, 2026 22:49
@mnoah1
mnoah1 marked this pull request as draft October 27, 2026 22:49
@mnoah1
mnoah1 marked this pull request as ready for review October 27, 2026 22:52
@mnoah1 mnoah1 changed the title feat(stovepipe): enable issue tracking and no-op repairs feat(stovepipe): wire fix and issuetrack controllers Oct 27, 2026
Base automatically changed from mnoah1/stovepipe-fix-handoff to main October 27, 2026 22:53

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