Changelog
O que há de novo.
Cada melhoria para a plataforma, como ele envia.
· DaemonService
Amostrador de cenas da cidade sobre as telhas de terra KamoUniverse
- EdtTile: leitor de byte-exact para azulejos EDT4 (Copernicus DEM + ESA WorldCover + WorldClim + HydroSHEDS + ecorregiões RESOLVE + máscara oceânica), memória mapeada, offset lê por camada (KBs por ponto, não a peça 210MB). Verificado contra o real N34 W117 Ladrilhos Mojave. - EcoResolver: eco biomes.json (exportado verbatim da folhagem do universo-mundo + eco table.rs) → paleta flora por região. ECO 433 → Árvore de Josué, sem duplicação. - CitySceneSampler: coordenadas → o documento de cena-factor versionado (release de terreno) + Silhueta do horizonte SW, clima + Koppen, costa/rio/distante do lago+azimute, mistura de cobertura de terra a 1/5/15 km, paleta floral, densidade construída + céu escuro). Construído Os centróides voltam para a ecorregião próxima dominante. - CitySceneryFillService + CitySceneryFillJob: dreno PENDING (e velho-gerador) city scene profile linhas em um tick de 1 minuto. k8s: somente leitura /mnt/worldchunks earthdata mount (presente em ambos os nós), SCENERY ENABLED.
· SecurityService
Expor campos geo completos + API de perfil cidade-cena
- geoip/me agora retorna **************************** (já carregado por o único bloco + localização pesquisa, anteriormente descartado) — poderes cenas da cidade e personalização do cliente a zero novo custo de consulta. - CitySceneryService/Controller: GET /scenery/profile/{state}/{city} retorna o fatores amostrados de cena da cidade, materializando uma linha PENDING à primeira vista (portal torna a cena estatal entretanto); resolve as coordenadas do gazetteer, a caller lat/lon hint, ou um ZIP de propriedade declarada. PATCH interno substitui trilho para Direção de arte com curadoria (X-Internal-Auth, constante-time).
· kamo-shared-library
Entidade CitySceneProfile + Índices de procura de cidades GeoLite para cenas de portal baseadas em cidades
- CitySceneProfile (city scene profile): fatores de cena ambiental por cidade (terreno/relevo/silhueta, clima/koppen, hidrologia, ecorregião RESOLVE + palette floral, mistura terra-cover, construído / escuro-sky) como um contrato JSONB versão, caminho frio materializado das telhas de terra KamoUniverse. UUID pk, PENDING→READY status, art overrides layer, generator version para re-amostra. - GeoLiteBlock: geo name id + índices de código postal para uma cidade gazetteer / ZIP declarado resolve para uma coordenada representativa; bloco / recomeço de localização ganha os localizadores. - Corrigidos dois testes de contagem fixa (Roster ImageAssocType, modelos canônicos).
· SecurityService
E-consent com ESIGNADO ESCRITO Act text + the real credit-bureau adaptate rail — no proprietário input required
E-CONSENT: complete ESIGN Act §101(c) divulgação escrita em código (escopo de consentimento, direito a cópias em papel, direito a retirar + efeito, manutenção de contacto, requisitos de hardware/software, cláusula de ação afirmativa) como o v1 padrão DivulgaçãoTexto, auto-semeado por org — um TENANT personaliza inserindo um versão superior (multi-tenant por construção, proprietário da plataforma nunca na loop). Captura = Termo de Consentimento do WORMRecord on the proprio mutuário's LoanParty (criado Se estiver ausente): corpo sha256, versão de divulgação, WEB CHECKBOX, IP, dispositivo; concessão e retirar ambos registrados, a retirada nunca bloqueia o empréstimo. Parte declarada — O consentimento é o próprio acto do mutuário, sem desvio do operador. CRÉDITO: CreditBureauAdapter SPI no trilho de vendedor de crédito do locatário (MortgageProviderResolver — nunca codificado): StubCreditAdapter apenas quando um inquilino configura explicitamente STUB; MismoRestCreditAdapter como o catch-all adaptador real-vendor (MISMO 2.4 tri-merge suave sobre HTTPS, autenticação básica de o cliente da configuração + o segredo descriptografado AES-GCM, CREDIT SCORE a analisar ambos ordens de atributos) — adicionar um bureau = adicionar um feijão. Cada ordem persiste Linha de auditoria de ligação *************O lider de crédito lê; cada estado não- orderável é um estado Honesto (NOT CONFIGURADO / ENDPOINT NOT CONFIGURED / CREDENTIAIS NOT CONFIGURED / VENDOR NOT POVIDO / BORROWER INCOMPLETE / VENDOR ERROR), nunca uma pontuação fabricada.
· SecurityService
Ponte de conta — verificação por e-mail, provisionamento de entrada no utilizador existente, registo do portal
Fluxo do proprietário: após o funil captura nome completo + contato, as teclas de passo seguintes em EMAIL. /portal/conta/check → existe?; /prepare-signin verifica o senha, em seguida, prevê a adesão na org PORTAL antes do padrão login (então a sessão carrega o memberID desta org para o seam merge/promote); /register cria o usuário sob o PLATFORM org (kamocrm) com Ambas as orgs (org portal + segurançaEspelho do fornecedor), nome legal completo (prefix/middle/suffix) + preferido (AKA) + telefones, e-mail marcado verificado (o O mutuário digitou-o duas vezes; cada ponto de contacto do empréstimo exerce essa caixa de entrada — a verificação-clique portão seria órfão o lead). Alegado Ganhos de factos Por isso, o LEAD tem o total cartão de contacto no momento em que entra na piscina de aceitação.
· SecurityService
Encerramento do eSign através do motor NATIVO — envelopes realmente enviar agora
A gravação de um envelope de e-sign de divulgação foi apenas para v1 metadados. Agora, quando o O trilho de fornecedor ESIGN do inquilino resolve para KAMO NATIVE (integrações por mercado) config — nunca codificado), o envelope é SENT via EsigService's non-metered Endpoint da plataforma (contextType=DISCLOSURE, contextId=envelope id): sinalizadores = URLA mutuários do empréstimo com um e-mail (primário carrega membroId), convida ir fora imediatamente, e a linha de divulgação é remetida **************************** Cada caso não-enviado permanece um linha de metadados honestos com a razão emergiu para o mordomo na resposta (ESIGN NOT CONFIGURADO / EXTERNAL VENDOR PENDING / NÃO TEMPLATE / NO SIGNERS COM EMAIL/NATIVE SEND FAILED) — nunca um falso SENT.
· ESigService
Endpoint de envelopes internos não medidos da plataforma — TAXA DE DESCLUSÃO
Os envelopes internos da plataforma (divulgação de hipotecas/assinatura de fecho) são produtos, não o uso programático da API do inquilino: etiquetado MANUAL assim completa assinaturas Nunca contes em relação ao excesso medido. Mesmo X- Interno- Auth + X- Org- ID autorização; opcional X-Membro- ID passeios em criado Por.
· kamo-shared-library
Modelo canónico LOAN STATUS UPDATE — mutuário notificado em todas as alterações de fase do ficheiro de empréstimo
· SecurityService
Chumbo-primeiro retomar trilho — links mágicos assinados, recuperação de contato, instantâneo de chumbo
- PortalResumeService: token HMAC de 30 dias (PRESUME cluster internal.auth.secret — nenhum novo segredo); e-mails RESUME PORTAL LINK. - POST /portal/resume/enviar (link próprio do visitante), /resume/redeem (token → guid para que o portal volte a ser o seu httpOnly cookie), / currículo/recuperação (pesquisar por e-mail case-insensível ou telefone exato; sempre acks ok:true — enumeration-safe). - GET /portal/leader: facts snapshot (exact inverse of applyFacts) O dispositivo fresco reidrata o funil do chumbo do lado do servidor. - PortalUrls extrai o myloan. Conheça o seu e-mail.
· kamo-shared-library
Modelo canônico RESUME PORTAL LINK — mutuário de link mágico para continuar em qualquer dispositivo
· SecurityService
Expor estado/região dos EUA a partir de pesquisas GeoLite
GeolookupGanhos de resultado subdivisãoCódigo/subdivisão Nome (subdivisão GeoLite2 1 = Estado dos EUA incl. DC; territórios PR/GU/VI/AS/MP chegam como paísCódigo sem subdivisão utilizável, então os callers branch no countryCode primeiro). GET /api/security/geoip/me agora retorna region code/region name/city ao lado da campos do país — o portal KamoMLOS usa-o para escolher a inicial do visitante Cena do estado.
· SecurityService
Anonymous GET /portal/atribuído-lo — aceitando a identidade LO para a liderança do guid
Pode o cartão LO superior esquerdo do portal mutuário no momento em que um LO aceita o lead (pré-login, pré-aplicação): guid header + org host → lead → teamMember → {loName, loNmls, loEmail}; atribuído:false até então.
· SecurityService
«Conheça o seu agente de crédito» — o mutuário ouve o momento em que o seu líder é aceite
Na aceitação (assinatura), melhor esforço MEET YOUR LO e-mail para o mutuário do lead hipotecário: o aceitando LO's nome real + NMLS + email + um link de aplicação contínua. Endereços do mutuário pelo seu PREFERRED (AKA) Nome. Nunca falha em aceitar.
· kamo-shared-library
Modelo canónico MEET YOUR LO — introdução do mutuário quando um LO aceita a sua liderança
· SecurityService
A costura de conversão de aplicação principal→ — POST/portal/promoção
O funil era um loop fechado: nada jamais converteu o lead do portal em uma aplicação (apenas mentas em branco — sem fonteLíder, sem campos semeados, sem herança LO). promoverToAplicação: mesclar GUID (idempotente) → reutilizar-ou-criarFromLead (URLA semeado a partir de fatos declarados, código fonteLead set) → link para a CONTA do membro (parte authz chaves sobre ele — createFromLead nunca defini-lo) → garantirTransaction (herda o funcionário de empréstimo aceito).
· kamo-internal
A dica do membro mostra a última data ativa + hora atrás
As linhas de membros do Interaction Center agora mostram uma dica de duas linhas: disponibilidade status mais quando o membro esteve ativo pela última vez — 'Ativo agora' enquanto online, caso contrário, 'Última activa: <datetime> (3D 9H 32M)' originado da MediaService novas chaves de presença duradouras. Time-ago recomputa em cada hover e marca a cada 30s enquanto abre.
· MediaService
Últimas datas possíveis + ponto final em massa
PRESENCE:{id} é excluído no momento em que um membro fica offline, então nada Gravados quando estiveram activos pela última vez. PRESENÇA RESID SEEN:{id} (orgId + ts, 400d TTL) na ligação/batimento cardíaco/desconexão e exposição O que é isto? dicas de ferramentas dos membros.
· SecurityService
Endpoint das cotações de preços do mutuário — partidário, integrado
POST ********** *** *** caller deve ser um partido de empréstimo (ou administrador do gasoduto); resolve o A integração PRICING PPE do inquilino — NOT CONFIGURED / EXTERNA VENDOR PENDING são statuses honestos; Kamo Native PPE retransmite para o verdadeiro PPE. Org/loanFile/burrowers server- stamped; Fato FICO padrão do Estimativa de crédito STAD do lead. Mata a necessidade da taxa codificada do portal onde quer que o inquilino Motor nativo.
· kamo-shared-library
**************************** (conjunto de candidato a cotação emprestado)
· SecurityService
Endpoint de status de integrações — a visão honesta do portal sobre a fiação do fornecedor de org
- Está bem. por categoria **************************** runtimeVendor da configuração de integrações de mercado através do resolvedor de runtime. Sessão encerrada, sem segredos.
· kamo-shared-library
O fornecedor doc-04 RUNTIME — HipotecaProviderResolver + FornecedorTypeBridge
A aba integrações escreveu MortgageProviderConfig linhas nada consumido em tempo de execução. Resolução: (org, FornecedorCategory) → ativação-gated, perfil-escoberto, provedor habilitado pela primeira vez (falha-fechado vazio → Os chamadores tornam os estados honestos não ligados). Ponte: fornecedor de configuraçãoKey → Connection Vendor bloqueado no limite adaptador (doc 04 §5 — o enum bloqueado nunca é editado; chaves sem uma rota por pares MLOS-side).
· SecurityService
Extração do documento de visão de IA — docs → provedor de visão de org → VerificadoFact(OCR)
O primeiro produtor da VerifiedFactSource.OCR: POST ************* lê um documento de cofre (banco ******************* ID) com a própria visão configurada do ORG provedor (MlosAiClient, nível MEDIUM) através de um URL público assinado pelo HMAC de curta duração (VaultDocUrlSigner desligado internal.auth.secret; VaultDocPublicController re-verifica org+vault assoc, no-store) e registros foi extraído campo como uma evidência apoiada Verificado Facto com confiança por campo. Festa + departamento confuso + partido aplicativo authz; melhor esforço por contrato (sem provedor/ilegível → status, nunca 5xx). Reconcile então aplica fatos para o URLA. A IA lê — nunca decide.
· kamo-shared-library
Reconciliação de fato real — fatos de evidência agora povoam o URLA
Substitui o stub M3a log-only: asset.* fatos (agrupados por documento fonte) tornam-se linhas de ativos e emprego.* os factos tornam-se linhas de emprego através de empréstimosSectionService, de forma imediata (mesma instituição+últimos4 / mesmo empregador → pulou em re-run; W-2 salários anuais □ 12 → base mensal). identidade.* os factos são deliberadamente HELD para revisão humana — OCR nunca substitui silenciosamente a identidade jurídica digitada de um mutuário.
· SecurityService
AlegadoFactsDTO carrega o chumbo hipotecário FULL (35 campos)
Adiciona os 16 campos que o portal estruturalmente não poderia enviar (mêsDebts, impostos, seguros, HOA, Pagamento corrente, vendedorCréditos, renovaçãoCost, mutuárioAge, isVeteran, correnteLoanType, está representado, agent block, addressDetails) + applyFacts mappings. O portal agora pode preencher cada coluna um empréstimo O agente vê na pista de CRM.
· kamo-internal
Empresa NMLS ID campo em org Informações da empresa
Editar + ler linha + hidratação + PUT (nmlsId). Alimenta a pílula de confiança do mutuário empresa NMLS.
· kamo-shared-library
NmlsId é patchable — a empresa NMLS finalmente tem um caminho de escrita
Organization.nmlsId (identificador SAFE Act alimentando o originador da projecção do originadorOrgNmlsId e o A pílula de licença do portal do mutuário) era legível em todos os lugares, mas em nenhum lugar. Listagem em branco patchOrganização (aparado; limpezas em branco).
· kamo-internal
Campos de hipoteca como 3 painéis de coluna na aba de Dados do Líder do Cliente (reutilizar formulário via layout prop)
Adicionar uma disposição?: 'tabs' 'panes' para o componente de campos de hipoteca (padrão 'tabs', bytes idênticos à renderização existente da Oficina de Hipotecas). editControls, EmpréstimoCampos, mutuárioCampos, e assuntoPropertyCampos são levantados verbatim em consts de modo 'pane' pode renderizar os mesmos 3 grupos de campos como Cartas lado a lado com um cabeçalho de edição compartilhado, sem abas, sem slot What-If. Monta-o na página Informação de Contacto (Dados de Chumbo do Cliente) no LeadViewClient, gated on marketConfig?.subType === 'RESIDENCIAL MORTGAGE', ligado ao A mesma fechadura do painel de hipotecas e... A aba de Oficina de Hipotecas já usa.
· kamo-internal
Faça do What-If Studio seu próprio painel abaixo do formulário (descarte a 4a aba)
Remove o sub-tab "What-If Studio"; o Scenario Sandbox agora renderiza como seu próprio Painel abaixo do Formulário de Empréstimo/Borrower/Sujeito. Legendado "Scenario Sandbox (What-if Studio)" então não há cabeçalho duplo.
· kamo-internal
Layout do campo de endereços + mover o bloco do agente para a aba do emprestador + Pagamento acima Elegibilidade
- Propriedade do Assunto: Endereço + Endereço Detalhes meia largura lado a lado; Cidade/Estado/Zip numa linha (md 5/4/3, Zip mais estreito). - Mova o bloco de agente do comprador (representado/agente/agente*) para a guia de empréstimo. - Saídas coluna direita: Estimador de pagamento acima do Instantâneo de Elegibilidade.
· kamo-internal
Adicionar o campo de Créditos de Vendedor saváveis à aba Empréstimos

Seu universo está esperando.
Comece gratuitamente em minutos.Adicione produtos sempre que estiver pronto — sem migração, sem novos logins.
Gratuito para sempre — não é necessário cartão de crédito