Channel Applicability engine (Phase-1 Slice 4)

Featurekamo-shared-library
Shipped
June 26, 2026 at 3:25 PM UTC
Author
Kamo
Commit
fb36d4a

The deterministic most-restrictive resolver (doc 04 §8) — Product x Channel x Investor -> {ALLOWED|DISALLOWED, executionPath, authorityModel, fundingBehavior}. - ChannelApplicabilityRule entity: **************** conditionExpression(JSONB String, Program.rulesetJson precedent)/outcome/ **************** dates + EmbRecordState. priority DERIVED from scope (not stored). Same config base pattern. - 5 enums: RuleScope(+priority() Investor=0..Tenant=3), Channel, Applicability, **************** (HYBRID resolved per-loan to these), FundingBehavior(5, incl PORTFOLIO_HOLD — DeliveryRule's 4-value unify deferred). - ChannelApplicabilityResolver @Component (ungated, stateless): empty/any-DISALLOWED => DISALLOWED (safe most-restrictive reading of the §8.2 ambiguity); else ALLOWED with attrs from the strongest scope. ChannelResolution record. 5 **************** green (17 mlos.config tests). conditionExpression predicate evaluator + effective-dating filter + AiDecision pinning + MlosActivationService deferred. mlos.config already in KamoInitializer scan — re-run only. Plan: ****************

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