Canonical scenario-fact spine — genesis deriver + factsJson populate + write-back + overlay matcher (D45)

Featurekamo-shared-library
Shipped
4 Julai 2026, 19:51 UTC
Author
Kamo
Commit
923f4e3

D1/D45 broadens BorrowerScenarioProfile consumption. Populates the dormant factsJson and makes it the shared source of truth for borrower/loan facts: - ScenarioFactKeys: single canonical fact-key vocabulary + tier (structural vs enrichment) + normalize(); the D21 whitelist/deriver/consumers reference these. - ScenarioFactDeriver: promotes the D18 LTV/CLTV/HCLTV + categorical derivation out of MLOSPricingService into shared-lib (one home for entity-derived facts). - BorrowerScenarioProfileService: produceFromUrla now populates structural facts (preserving enrichment); resolveFacts() for advisory gap-fill; mergeFacts() write-back that filters to the enrichment tier (genesis owns structural, D45.3). - ScenarioFacts.fillGapsFrom(): advisory merge (request wins, profile fills gaps). - InvestorOverlayMatcher: pure fail-safe matcher (present-and-violating only). No schema/KI change (factsJson column pre-exists). 27 targeted tests green.

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