Lock record + lock event (Phase-2 Slice 12c)

Featurekamo-shared-library
Shipped
27 Juni 2026, 00:48 UTC
Author
Kamo
Commit
4cc1af2

The FINAL scenario/pricing sub-slice (doc 02 §6.3/§8.1) — completes the §6.3 scenario/pricing entity inventory. A rate lock taken on a priced result + its append-only event log. - MlosLockRecord = PARTIAL-mutability WORM (MlosBulletin idiom): @PostLoad snapshots the frozen locked terms **************** anchors/rate_lock_uid), @PreUpdate throws if any change but WHITELISTS status (validated by the RateLockStatus lifecycle table) + lock_expiration (monotonic-forward — never shortens the committed window). - MlosLockStatus mirrors locked RateLockStatus EXACTLY (NO FLOATING/CANCELLED); rate_lock_uid = UUID soft FK -> locked RateLock.id (mixed-PK trap), DB-UNIQUE (1:1 lock<->record; WORM legal ledger, no supersedes_id). - rate_sheet + lock_policy version FK non-null, guideline nullable. - MlosLockEvent = append-only total-block WORM; event_type incl CANCEL (borrower withdrawal, distinct from lender BREAK); price_delta(9,4). - NEVER add columns to the locked RateLock; RCE writes it via LoanPricingService.createLock stamping lockedByMemberId from the actor. - 14 tests green. All indexes entity-declared (no KamoInitializer DDL). Grounded by code-verified locked facts (RateLock.id=UUID, RateLockStatus constants) + adversarial 2-agent review (SHIP-AS-IS; applied all 5 should-consider: monotonic expiration, unique rate_lock_uid, CANCEL event, frozen-price doc, test coverage).

All changes

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei