- Shipped
- November 14, 2026 at 8:01 PM UTC
- Author
- Kamo
- Commit
- 57944dc
The activation matrix listed none of HOI, TAX_TRANSCRIPT, SANCTIONS, FRAUD, SCRA, RON, ENOTE, EVAULT or MERS, so wherever mlos.config is on those kinds always resolved "not configured" however connected they were. They are now in every full-origination row; a broker drops every closing leg (closing docs, title, RON, eNote, eVault, MERS) with delivery; servicers gain the life-of-loan checks (insurance, OFAC, SCRA, MERS transfers, e-signatures). MlosActivationGuard is the runtime check every order path, connection save and module entry point asks: a vendor kind the business type never orders, or a module OFF / at a depth that doesn't include the action (a broker's pre-check underwriting, its lenders' catalog, a portfolio lender selling loans, a subservicer-overseen book), is refused with a plain sentence naming the business type and a stable code (MLOS_KIND_NOT_USED, MLOS_AUS_NOT_USED, MLOS_MODULE_OFF, MLOS_MODULE_LIMITED). MlosActivationRefusedException + a highest-precedence advice render it the same way in every service. Fail-open where the matrix can't be read (no mlos.config bean, no mortgage profile). **************** resolves the whole set in one pass.
