- Shipped
- June 27, 2026 at 8:17 PM UTC
- Author
- Kamo
- Commit
- 9b8655b
The guideline-version sibling of RateSheetVersionPublisher, keyed per PRODUCT (ux_guideline_version_active = (organization_id, product_id) WHERE status='ACTIVE' AND effective_until IS NULL). Same atomic prior-window close: ACTIVE→SUPERSEDED + effective_until = successor.effective_from, supersedes_id link, and saveAndFlush the prior's close BEFORE the candidate INSERT (the Hibernate insert-before-update flush-order trap). Deltas vs rate-sheet: scope key productId; validate revisionLabel + sourceDocumentId (no issuedAt); intraday sequence keys on effectiveFrom's day. Shared-lib @Component gated mlos.catalog.enabled + repo finder **************** 12 no-DB Mockito tests (TDD, incl. flush-order InOrder + WORM-guard re-run). Faithful mirror of the adversarially-reviewed rate-sheet publisher → gated by the behavioral e2e (guideline supersession flips pricing eligibility). No new entity/table → no KamoInitializer run.