Repository navigation
Conversation
…s early Summary: ## Why? Successful builds should supply the next incremental baseline while project resolution is pending. Failed repositories with project results need a partial degree instead of the fully broken degree. ## What? - Add DegreePartial = 0.5 for failed Requests with project results, preserving each project's resolved degree. - Resolve projects before recording facts; persist facts and history before promoting a green fact that still owns the baseline. - Share request-owned slot Claim and Complete operations. Save the winning Request outcome first, then atomically advance a successful baseline and release its Queue slot. Replays and DLQ recovery cannot release another Request's capacity. - Append the MySQL slot-owner column and document the required drained rollout. ## Issue None; this implements the agreed Stovepipe validation behavior. Test Plan: Run ./tool/bazel test //stovepipe/... //service/stovepipe/server/... //test/integration/stovepipe/extension/storage/mysql:go_default_test //test/e2e/stovepipe:go_default_test --test_output=errors. All 29 targets pass, including replay, admission-baseline timing, project-resolution ordering, partial-degree, MySQL, and end-to-end coverage. Formatting, lint, module-tidy, and Gazelle checks pass. Before deployment, drain old work and stop all old Queue writers, append the nullable in_flight_request_ids JSON column, then deploy all Queue readers and writers together. See stovepipe/extension/storage/mysql/MIGRATIONS.md. Revert Plan: Drain and stop the new workers before reverting the application. Retain the nullable column; old binaries can ignore it once all owned reservations have completed. Do not run mixed old and new writers.
mnoah1
marked this pull request as ready for review
October 22, 2026 19:08
mnoah1
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
October 22, 2026 19:08
mnoah1
marked this pull request as draft
October 22, 2026 19:24
mnoah1
marked this pull request as ready for review
October 22, 2026 19: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?
Successful builds should supply the next incremental baseline while project resolution is pending. Failed repositories with project results need a partial degree instead of the fully broken degree.
What?
Issue
None; this implements the agreed Stovepipe validation behavior.
Test Plan
Run ./tool/bazel test //stovepipe/... //service/stovepipe/server/... //test/integration/stovepipe/extension/storage/mysql:go_default_test //test/e2e/stovepipe:go_default_test --test_output=errors. All 28 targets pass, including replay, admission-baseline timing, project-resolution ordering, partial-degree, MySQL, and end-to-end coverage.
Formatting, lint, module-tidy, and Gazelle checks pass.
Revert Plan
Revert the application change. No database schema migration is required; existing immutable validation facts remain intact.