KamoCRM

Make the business type real at runtime — every vendor kind in the matrix, and one guard that refuses plainly

Featurekamo-shared-library
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.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing