- Expédié
- 14 novembre 2026 à 22:25 UTC
- Auteur
- Kamo
- Commit
- b42f4e4
- MortgageProgramOffering: ProductEnablement est le catalogue unique du programme (version en vigueur aujourd'hui, heure de l'organisation Programme x grille de chaînes = la liste des chaînes du programme; aucune ligne = offert sur les chaînes du type d'entreprise) (ou du type d'entreprise) avec des exceptions ChannelApplicabilityRule résolues via ChannelApplicabilityResolver. Refus PROGRAM_NOT_OFFERED / PROGRAM_NOT_ON_CHANNEL **************** phrase simple). - ProgramService en dérive isActive; OrgProgramOverride.isActive retiré (lignes migrées), setProgramActiveForOrg **************** refuse un programme qui n'est pas offert; programChoice, propertyState, leadPropertyState lit pour les portes des contrôleurs. - Licences de l'entreprise: LicensingEntry gagne print_on_disclosures, disclosure_text, license_name, regulator_name, regulator_phone, display_order; state + dates optionnel (lignes de sociétés NMLS; lignes reportées). LicenseStates = LenderDisclosureProfile lit la liste fusionnée (seulement les lignes 1 à 100) et les listes fusionnées (seulement les lignes 1 à 100) OrgStateLicense + dépôt supprimé (table conservée, nom légal du profil / NMLS fallback) 0 lignes migrées). - LicensingResolver: la porte d'état de propriété (évaluer / couverture / propertyStateRefusal STATE_NOT_LICENSED); non Ce fuseau horaire est configuré jusqu'à ce qu'une licence d'état existe. - Rappels de renouvellement de licence : LicenseRenewalReminder (unique par licence/expiration/seuil), détecteurs pour le balayage ; Type de notification LICENSE_RENEWAL_COMPANY / LICENSE_RENEWAL_OWN. - ScenarioSupportResolver arrête un scénario qui manque une dimension critique avant tout remplacement; ProductDiscoveryGate lit les règles du profil de marché actif. La DDL de main a été appliquée le 2026-11-14 en tant que kamo avant ce push (sdd/mlosset/ledger/C1-ddl/001, 002).
