Eligibility matrix + cells + cell matcher (Phase-2 Slice 6)

Featurekamo-shared-library
Shipped
June 26, 2026 at 7:29 PM UTC
Author
Kamo
Commit
39e46b9

The §8.1 step-2 eligibility-first filter substrate (the cell conjunct; guideline_rule + AUS gate AND in later). - MlosEligibilityMatrix (mlos_eligibility_matrix): per **************** effective-dated; REUSES locked URLA **************** via @Enumerated(STRING) on new columns (FK-free, never edits them); guidelineVersionId soft-FK (nullable until guidelines). - MlosEligibilityCell (mlos_eligibility_cell): typed eligibility window — fico_low/high, property_type (locked PropertyTypeUrla), units_low/high, loan_amount_low/high, state_set_id (FK MlosValueSet), limit_value. Pricing/limit numbers raw BigDecimal (catalog convention). - MlosMatrixType {MAX_LTV,MAX_CLTV,MAX_DTI} — discriminator for which ratio limit_value caps. - EligibilityCellMatcher (ungated @Component) + ScenarioFacts reuse + EligibilityOutcome **************** + EligibilityResult: locate the containing cell across **************** RATIO-DISPATCH by matrix_type (ltv/cltv/dti) tested vs limit; missing required attr → CANNOT_PRICE (hoisted before coverage); state fail-closed; overlap → most-restrictive (surfaced in detail). 12 EligibilityCellMatcherTest green. Enum-reuse + spec from research workflow; adversarially reviewed (2-agent): fixed matrix_type ratio dispatch + hoisted-ratio CANNOT_PRICE + overlap observability + dropped unhonored OTHER. NO KamoInitializer code change (catalog repo pkg registered Slice 1) — re-run only.

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