Scenario identity — MlosLoanScenario + MlosScenarioBorrower (Phase-2 Slice 12a)

Featurekamo-shared-library
Shipped
26 Juni 2026, 23:31 UTC
Author
Kamo
Commit
7d1d09a

Opens the doc-02 §6.3/§7 scenario/pricing layer (first of 3 sub-slices). The priceable-scenario aggregate root the PPE hangs off + its borrowers. - FK-don't-recopy (§6.4): scenario stores ONLY derived-for-reproducibility values **************** + an aus_recommendation cache); raw URLA attrs read THROUGH loan_file_uid, never stored. An allowlist reflection test locks this in structurally. - FK locked core BY ID: loan_file_uid + borrower_uid are plain Long columns (code-verified LoanFile.uid/Borrower.uid = Long unique_rowid; doc's UUID wrong) **************** NO @ManyToOne. loan_scenario_id = internal UUID FK. - (loan_scenario_id, borrower_uid) DB-unique natural key (one borrower per scenario; entity-declared, no raw DDL). - Derived ratios/scores DECIMAL(18,6) matching **************** county dollar limit DECIMAL(18,2). Both MUTABLE (no WORM — reproducibility is frozen later on the immutable PricingRun/Result). - All indexes entity-declared (no KamoInitializer SchemaCleanupRunner DDL). - 4 tests green (Long-id String serialization + FK-don't-recopy allowlist). Grounded by a research Workflow (code-verified locked FK types) + adversarial 2-agent review (SHIP-AS-IS; applied the allowlist-test + docstring fixes).

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