Repository navigation
Conversation
This was referenced Oct 14, 2026
mnoah1
added this pull request to stack #858
October 14, 2026 15:45
mnoah1
force-pushed
the
mnoah1/stovepipe-queue-state-transitions
branch
from
October 14, 2026 15:56
354212a to
07918a3
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-queue-state-transitions
branch
from
October 14, 2026 17:27
07918a3 to
17a0f86
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-queue-state-transitions
branch
2 times, most recently
from
October 14, 2026 17:51
017ff3d to
c7526a0
Compare
behinddwalls
left a comment
Collaborator
There was a problem hiding this comment.
I traced the CAS and reconcile paths and didn't find a lost update. Version arithmetic stays in the controller, and the read-model repair is idempotent. My only comment is about error context.
mnoah1
force-pushed
the
mnoah1/stovepipe-queue-state-transitions
branch
2 times, most recently
from
October 14, 2026 22:35
c127e85 to
f6a12a1
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-queue-state-transitions
branch
from
October 14, 2026 22:49
f6a12a1 to
61a852f
Compare
mnoah1
marked this pull request as ready for review
October 14, 2026 23:40
mnoah1
force-pushed
the
mnoah1/stovepipe-queue-state-transitions
branch
from
October 16, 2026 14:26
df46cdb to
8926671
Compare
behinddwalls
approved these changes
Oct 16, 2026
Summary: Queue enablement needs durable internal state and separate read models so orchestration updates do not alter enablement history. Extend the existing queue snapshot, add immutable QueueLog and derived QueueSummary records, and implement key-oriented stores with conditional writes. Include the one-time migration for existing queue tables and backend tests for byte-exact queue identity and independent projection versions. Part 2 of 4, built on the API and RFC. This layer supplies storage for transitions and lookup. Test Plan: Run the Stovepipe storage unit and MySQL integration tests. Migration coverage verifies existing operational values survive. Before deploying to an existing database, apply queue_enablement.sql once and create the queue log and summary tables.
Summary: Queue enablement changes must preserve coordination fields and remain recoverable when history or summary writes fail. Add an internal TransitionController with Initialize, Prepare and Apply, plus queuelog.Materializer.PersistLog. Retain the previous occurrence before replacing internal enablement and materialize the committed winner afterward. Prepared retries preserve the accepted boundary; optimistic locking handles operational races. Startup registers configured queues as disabled without overwriting registered enablement. Part 3 of 4, built on state and read-model storage. Configuration observation, administration, pause and execution gating remain deferred. Test Plan: Unit, service integration and end-to-end tests cover competing decisions, operational races, projection races and failed writes. Run make local-stovepipe-start for local startup with schemas applied before registration. Changing enablement uses the internal transition controller; this layer adds no mutation RPC or CLI.
Apply schemas and fixtures before starting services, and cover startup order and cleanup in the runner test. Add queue and failure context to enablement and history errors while preserving sentinel matching.
mnoah1
force-pushed
the
mnoah1/stovepipe-queue-state-transitions
branch
from
October 16, 2026 17:24
8926671 to
971a152
Compare
Base automatically changed from
mnoah1/stovepipe-queue-state-storage
to
mnoah1/stovepipe-queue-state-api
October 16, 2026 17:43
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?
Queue enablement changes must preserve coordination fields and remain recoverable when history or summary writes fail.
What?
Add an internal TransitionController with Initialize, Prepare and Apply, plus queuelog.Materializer.PersistLog. Retain the previous occurrence before replacing internal enablement and materialize the committed winner afterward. Prepared retries preserve the accepted boundary; optimistic locking handles operational races. Startup registers configured queues as disabled without overwriting registered enablement.
Test Plan
Unit, service integration and end-to-end tests cover competing decisions, operational races, projection races and failed writes. Run make local-stovepipe-start for local startup with schemas applied before registration. Changing enablement uses the internal transition controller; this layer adds no mutation RPC or CLI.
Revert Plan
Revert this layer together with any dependent layers in the stack.
Issue Links
None — this is a standalone queue-status proposal.
Stack
Review in this order; each PR targets the preceding branch.