- Shipped
- June 27, 2026 at 5:58 AM UTC
- Author
- Kamo
- Commit
- 262f2be
The rule-engine half (part 1) of the Document System: MortgageDocType (52-of-~200 §3.3 taxonomy + non-tunable legalWall source-of-truth) + RequirementDriverType + FreshnessAnchorEvent enums; RequirementRule (partial-mutability WORM, effective window, legal-wall mirror invariant, platform-owned) + RequirementRuleSet + FreshnessPolicy (total-block WORM, version-bearing); RequirementRulePriorityResolver (data-driven priority, ties=most-restrictive); 3 repos. Reuses mlos.config.Channel. marketId/programId=UUID (CommerceMarket/Program code-verified). 37 JUnit5 tests. Multiple open rules per cell is intentional (distinct driverMatchJson predicates, resolved by priority + the deferred evaluator) — no single-open uniqueness, unlike the catalog spines. legalWall lookup is lenient (the enum is an excerpt; a custom code is not blocked). Platform-owned + legal-wall DB CHECKs added in KamoInitializer.