- Enviado
- 14 de novembro de 2026 às 22:25 UTC
- Autor
- Kamo
- Confirmação
- b42f4e4
- MortgageProgramOffering: ProductEnablement é o único catálogo do programa (versão em vigor hoje, org tempo zona; nenhuma linha = oferecido nos canais do tipo de negócio). Programa x grade de canais = a lista de canais do programa (ou o tipo de negócio) com exceções ChannelApplicabilityRule resolvidas através de ChannelApplicabilityResolver. Recusa PROGRAM_NOT_OFFERED / PROGRAM_NOT_ON_CHANNEL **************** frase simples). - ProgramService deriva isActive dele; OrgProgramOverride.isActive aposentado (linhas migradas), setProgramActiveForOrg removed; listOfferedForOrg. **************** recusa um programa não oferecido; programChoice, propertyState, leadPropertyState lê para as portas dos controladores. - Licenças da empresa: LicensingEntry ganha print_on_disclosures, disclosure_text, license_name, regulator_name, regulator_phone, display_order; estado + datas opcionais (linhas da empresa NMLS; linhas transferidas). LicenseStates = LenderDisclosureProfile lê a lista mesclada (somente linhas de um normalizador ISO US-XX (qualquer ortografia, DC + territórios) OrgStateLicense + repositório excluído (tabela mantida, nome legal do perfil / NMLS fallback) 0 linhas migradas). - LicensingResolver: o gate de propriedade-estado (avaliar / cobertura / propertyStateRefusal STATE_NOT_LICENSED); não configurado até que exista uma licença de estado; fuso horário org. - Lembretes de renovação de licença: LicenseRenewalReminder (único por licença/expiração/limite), localizadores para a varredura; Tipo de notificação LICENSE_RENEWAL_COMPANY / LICENSE_RENEWAL_OWN. - O ScenarioSupportResolver interrompe um cenário que não possui uma dimensão crítica antes de qualquer substituição; O ProductDiscoveryGate lê as regras do perfil de mercado ativo. A DDL da mão aplicou 2026-11-14 como kamo antes deste push (sdd/mlosset/ledger/C1-ddl/001, 002).
