RateSheetVersionPublisher — doc 02 §6.5 effective-dating supersession

Featurekamo-shared-library
Shipped
June 27, 2026 at 7:48 PM UTC
Author
Kamo
Commit
e8d78ce

The atomic prior-window close the MLOSCatalogService bootstrap bundle writer deferred. Publishing a new rate-sheet version for an existing (org, investor) scope now closes the predecessor (ACTIVE→SUPERSEDED + effective_until = successor.effective_from), links the successor (supersedes_id, next intraday sequence_no) and flushes the prior's close BEFORE the candidate INSERT — Hibernate orders INSERTs before UPDATEs in a flush, so saveAndFlush(prior) is required to avoid a self-inflicted ux_rate_sheet_version_active partial-unique violation. Shared-lib @Component gated mlos.catalog.enabled (the EffectiveVersionResolver sibling pattern); the close is WORM-legal by construction against the entity's @PreUpdate guard. 15 no-DB tests (Mockito) incl. flush-order InOrder + WORM-guard re-run. 2-agent adversarial review → FIX_THEN_SHIP (1 must-fix applied: sourceDocumentId validated up front → clean 400, not a post-side-effect 500). No new entity/table/repo-interface → no KamoInitializer run.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing