Summary
Implement a tag-gated Sync Controller that reconciles Git-tagged catalog state into the live Scylla-backed projection, with atomic promotion and rollback.
The objective is to make release tags the production gate: controllers hydrate and validate tagged state, then atomically flip the active pointer so storefront reads move to a known-good snapshot.
In Scope
- Define the Sync Controller contract that reconciles from Git tags (not branch HEAD) into read-side state.
- Support release-triggered hydration of tagged catalog snapshots.
- Add atomic promotion semantics (single pointer/snapshot switch) after validation passes.
- Support rollback by retargeting to an earlier tag and reconciling to that snapshot.
- Define validation failure behavior so rejected releases never become live.
- Add integration tests for promote, failed promote, and rollback flows.
- Document operational runbooks for release and rollback.
Out of Scope
- CI/CD pipeline authoring for release tags.
- Mutating admission or schema evolution mechanics.
- Replacing Git as source of truth.
- Frontend release UX.
Acceptance Criteria
Area
infra
Priority
p2 – high
Target Milestone / Release
TBD
Summary
Implement a tag-gated Sync Controller that reconciles Git-tagged catalog state into the live Scylla-backed projection, with atomic promotion and rollback.
The objective is to make release tags the production gate: controllers hydrate and validate tagged state, then atomically flip the active pointer so storefront reads move to a known-good snapshot.
In Scope
Out of Scope
Acceptance Criteria
Area
infra
Priority
p2 – high
Target Milestone / Release
TBD