MlosProduct + MlosArmIndex product-taxonomy layer (Phase-2 Slice 2)

Featurekamo-shared-library
Shipped
June 26, 2026 at 5:30 PM UTC
Author
Kamo
Commit
fe1a655

The product spine of the catalog (doc 02 §6.3): everything priceable downstream (base price grids, eligibility matrices, guideline rules) FKs to MlosProduct.uid. - MlosProduct (mlos_product): per-investor product — investorId FK, productCode, amortizationType (REUSES locked URLA AmortizationType), termMonths, armFixedPeriodMonths, armIndexId FK, loanClass, documentationType, conforming, losProgramCode (REUSES locked 17-value LoanProgramCode, §6.4), guidelineVersionPointer (real FK-by-id to future MlosGuidelineVersion.uid, nullable), active. assertStructurallyValid(): arm_fixed_period_months set IFF amortization_type=ARM. - MlosArmIndex (mlos_arm_index): indexName, marginBps, initial/periodic/lifetime caps + floor as EmbPercent (doc 02 §6 rate-via-EmbPercent), adjustMonths. - 2 new enums LoanClass / DocumentationType (catalog-specific; DocumentationType is the §3.5 non-QM doc-program class, distinct from Slice-1 MlosDocType). 2 repos. Base = BaseUuidEntity; orgId=Long @JsonSerialize(ToString). 5 MlosProductInvariantTest green. KamoInitializer adds the mlos_product ARM-consistency DB CHECK (catalog repo pkg already registered in Slice 1). Deferred: price **************** + the writer.

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