- Shipped
- November 14, 2026 at 10:00 PM UTC
- Author
- Kamo
- Commit
- 59718ac
- CreditRules: the RiskOverlay rule schema (fields, comparators, all-must-hold), validated on save, evaluated on evidence only; scope everyone / one investor / one program (new RiskOverlay label + scope columns) - CreditRuleHit: one row per (loan, rule, rule edit) with the routed decision + steward task - InvestorSignoff: the INVESTOR_APPROVAL work item (investor or FHA/VA/USDA), SignoffRequirements from the authority + DelegationResolver (program row wins over the investor-wide default) - LoanDecisionGates in LoanPipelineService.transition: credit-rule holds on approval moves and the clear-to-close sign-off hold, each behind a new switch (CREDIT_RULE_HOLDS, INVESTOR_SIGNOFF_HOLDS), OFF by default - InvestorOverlayMatcher honours overlay programId, reads ISO state codes, and validates values on save - ExceptionType += CREDIT_RULE, INVESTOR_APPROVAL, AGENCY_REFERRAL Hand DDL applied 2026-11-14 as kamo (see ledger C2).
