MlosBasePriceGrid + NoteRateLadder priceable cells (Phase-2 Slice 3)

Featurekamo-shared-library
Ya
26 Juni 2026, 17:57 UTC
Mwandishi
Kamo
Ahadi ya
780e29f

The priceable rate/price cells — first catalog entity to FK BOTH a rate-sheet version (Slice 1) AND a product (Slice 2); the base of the §8.1 price assembly. - MlosBasePriceGrid (mlos_base_price_grid): rateSheetVersionId FK, productId FK, noteRate, lockPeriodDays, basePrice (price-to-100), basePoints, min/maxLoanAmount, ioFlag. Composite UNIQUE (version, product, note_rate, lock_period_days, io_flag) entity-declared (io_flag NOT NULL → full unique, no raw DDL). - NoteRateLadder (ungated @Component): par = cell nearest price-to-100; nearestToPrice(target); ties -> lower note rate (doc 02 §8.1 step 5). 5 NoteRateLadderTest green. CODE-VERIFIED CORRECTION: doc 02 §6 says EmbMoney/EmbPercent, but the locked LoanPricingSnapshot (the reproducibility anchor) uses RAW BigDecimal — interestRate DECIMAL(9,6), points DECIMAL(9,4), no embeddables; EmbPercent(9,4) can't match a 6-decimal rate. So snapshot-mirrored grid pricing numbers use raw BigDecimal matching LoanPricingSnapshot (note_rate 9,6 / base_price+points 9,4 / loan amounts 18,2). No KamoInitializer code change (catalog repo pkg registered Slice 1; unique index entity-declared) — re-run only.

Mabadiliko yote

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