Salta al contenuto
KAMOUniverse

Changelog

Cosa c'è di nuovo.

Ogni miglioramento alla piattaforma, come si spedisce.

  1. · kamo-shared-library

    Bloccare la ricerca per file di prestito (congiungere attraverso lo scenario)

    ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** serrature del prestito via MlosLoanScenario.loanFileUid. Indietro il mutuatario / coda 'Questo tasso di prestito è bloccato?' letto.

  2. · SecurityService

    Delegazione di blocco dei tassi — decisione di blocco + commettere un risultato idoneo

    MlosCapitalMarketsController ottiene POST /lock-decisione (anteprima) e POST /locks (commit) via MlosCapitalMarketsClient; l'impegno è una deliberata serratura HUMAN steward registrato come ************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** — mai un autoblocco artificiale fabbricato. Il ritroso del motore / AUS parete relè come onesto 4xx.

  3. · SecurityService

    Borrower e-signature superficie — collegamenti di segno nativo reali, nessuna stub

    E' il momento giusto. (partito-gated) elenca il reale del prestito KAMO NATIVE involucri di divulgazione/chiusura + stato del destinatario tramite ESigService; "POST" ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** deep-link (chiuso: busta deve appartenere al prestito del chiamante). Indietro ricostruito chiusura-desk che deep-links al nativo firma esperienza (doc 05 §5).

  4. · ESigService

    Primitivo zet-sign-link interno per superfici firmate di prima parte

    # POST # remints accesso a un destinatario e RETURNS la firma deep-link (nessun invito-email andata e ritorno), così il portale del mutuatario MLOS può consegnare un firmatario autenticato dal vivo link. Refactors rivende() per condividere il percorso della menta; destinatari completati/decoderd 409.

  5. · SecurityService

    WS3 proxy di ordine del fornitore — posti di steward / legge ordini di terze parti

    Aggiungi MlosVendorClient (X-Internal-Auth → MLOSVendorService /api/vendor) + mlos.vendor.url config e endpoint App-scoped: GET /{uid}/vendor-orders (vista operatore) e POST /{uid}/vendor-orders (staff — effettuare una valutazione/titolo/HOI/VOE ordine, facoltativamente legato a un requisito THIRD PARTY in modo che il suo callback lo soddisfa). orgId + prestito il lato server risolto; lo stato onesto della rotaia del fornitore è relèed, mai fabbricato.

  6. · SecurityService

    Proiezione delle mie condizioni per le condizioni del portale

    GET /{uid}/my-condizioni (partita- o operatore-gated) restituisce una stretta BorrowerConditionView **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** attore interno / note campi lo steward LoanConditionDTO espone. Il portale si unisce a questi con i requisiti del documento già fetches (by prestitoConditionId) per raggruppare la lista di controllo per condizione di sottoscrizione.

  7. · SecurityService

    Per-borrower sezione endpoint GET per idratare gli UI cattura

    Aggiungi listaPerBorrower (requireView, party-gated) + endpoint elenco GET per Non e' vero. ritornando {rows:[...]}. Queste... le nuove sezioni di cattura del mutuatario URLA in KamoMLOS.

  8. · kamo-shared-library

    I metodi di lettura della sezione Borrower per la cattura di altri redditi/expense/REO/gift

    Le sezioni di ripetizione per-borrower erano solo di scrittura; aggiungere proiezioni di lettura Il mutuatario. catturare gli UIs può idratare le righe esistenti tramite gli endpoint GET.

  9. · SecurityService

    Astrazione completa del credito-vendor + adattatori di rivenditori reali

    Linea di credito tri-mergere di produzione. L'astrazione passa ora la FULL 9 cifre SSN (decrittografato al momento dell'ordine dal registro crittografato del mutuatario) + co-borrower per a JOINT pull — in precedenza solo ssnLast4 è stato superato, che nessun ufficio accetta. Nuovo nucleo di protocollo MISMO-2.4 (mismo/): CreditVendorProfile + CreditAuthScheme Non e' vero. MismoCreditRequestBuilder (individuale + giunto, pieno SSN, MeridianLink blocco inline-login), CreditResponseParser (tolerant punteggi parsing attraverso gli ordini attributo + normalizzazione ufficio + venditore-errore rilevamento). AbstractMismoCreditAdapter detiene il flusso di ordine condiviso (validate → costruire → auth → POST con timeout legati → parse), config-driven con per-tenant overrides Da configJson. Adattatori nominati per i più comuni rivenditori di ipoteca, ogni codifica il suo pubblico protocollo (auth schema) con creds account come configurazione: MeridianLink (inline login), Xactus (bearer), Dati Fatti / CBCInnovis / Credit Plus (basic) + il generico MISMO catch-all. CreditOrderService decifra l'intero SSN tramite SecretCipher, risolve il co-borrower e ordina le articolazioni quando presente. Solo guasti onesti, mai un punteggio fabbricato. 12 test verdi.

  10. · SecurityService

    Borrower proxy chiaro-chiusura

    ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** prestitoFileUid dall'app e relays MLOSDocService è chiaro-chiusura disponibilità.

  11. · EmailService

    Accetta X-***-Token per i clienti mobili in OTKPreAuthFilter

    per-tab session id as X-**-Token (mattina) Quando presente (e non X-OTK), risolvere la sessione non richiedendo e impostare la stesso attributi di richiesta; un token non valido non imposta nulla, quindi i controller ancora respingere con 401. Protezione dei dati di sessione invariata.

  12. · APIService

    Route /api/email + /api/supporto attraverso l'host api

    (EmailService) e Supporto (MediaService, stesso a monte di /api/media) sono stati dirottato → 404. Aggiungere sia in avanti che correggere e-mail. service.url da un host locale predefinito al servizio cluster. forward() passa solo la sessione del chiamante intestazioni (X-***-Token) — nessuna iniezione di X-Internal-Auth — in modo da endpoint interni rimanere protetti e solo la funzionalità sessione-gated è esposta.

  13. · SecurityService

    L'agenzia-AUS gestisce il proxy

    Aggiunge POST************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** attivare la console di sottoscrittura di sola lettura mancava. Gated su operatore (GD); il organizzazioneId e membro di azione sono SERVER-STAMPED dalla sessione (mai fidato dal cliente), e MLOSUnderwritingService rivaluta il prestito appartiene a quell'org (il-chiuso cross-org). I fatti sono basati su server a valle (DTI via LoanQualifyingRatioService, struttura tramite ScenarioFactDeriver); il Il chiamante può ancora superare un attestato di credito fico/fresh. Niente innescato dal vivo AUS correre prima di questo — i endpoint run avevano zero chiamanti.

  14. · KlusterServices

    Intestazioni espo-update self-hosted per Mobile Copilot OTA

    expo-protocol-versione:1 + expo-sfv-versione:0 intestazioni di risposta che il expo-updates client richiede e statico MinIO non può emettere. Percorso più lungo prefisso vince sul percorso generale /pubblico/ tema.

  15. · kamo-shared-library

    VendorOrder + VendorOrderEvent entità per spina dorsale WS3

    L'ordine di registrazione del terzo partito di Greenfield... SCRA). VendorOrder = ordine asincastro parziale WORM (ClosingArtifact idiom: opaque vendorKey/externalRef, identità congelata, solo stato/risultato anticipo; un riordine è una riga NUOVA). VendorOrderEvent = registro di sola fattura WORM (AusRun idiom: una riga immutabile per transizione/callback, esternoEventId dedup, carico utile per replay). FornitoreCategory += E' il momento giusto. No. ConnectionVendor peer — la provenienza vive qui, mai su connessione bloccata). Soft-FK-by-id, denormalizzato org/loanFileUid. KI @EntityScan(com.kamo) crea le tabelle; i servizi rimangono ddl-auto:none.

  16. · SecurityService

    Documento di francobollo data alla freschezza orologio (attivazione W1)

    Dopo l'estrazione della visione, propagare la data effettiva del documento (asset.statementPeriodEnd per banca/broker/retirement,occupazione.payPeriodEnd per i paystubs) a MemberDocument.freshnessAsOf. Questo rende l'OILS requisito-satisfier età dalla vera dichiarazione / data di pagamento invece della tempo di caricamento, quindi il motore di periodo di copertura finalmente ottiene l'identità di periodo reale. Miglior sforzo, idemponte, non rompe mai l'estrazione; nessun cambiamento di schema (il freschezza as of colonna esiste già).

  17. · kamo-shared-library

    MortgageAmortization — P&I mensile da termini di prestito (supporto W6)

    L'unico componente PITI non memorizzato sul prestito. Standard completamente atmosferico formula P·r·(1+r)^n/(1+r)^n−1); tasso zero degrada alla linea retta; non positivo principale/term fail-safe a 0.00 (mai getti/divide da zero). Nutri l'ingresso P&I di PitiDtiCalculator da parte di..

  18. · kamo-shared-library

    ChiusuraReadinessEvaluator — livello di prestito cancello chiaro-chiusura

    Rotola gli obblighi di un prestito fino alla domanda di finanziamento il gap end-to-end analisi sollevata ("servizio del prestito fino al finanziamento"): chiaro-chiusura iff zero condizioni di blocco (prior-to-close/fund) rimangono aperte; condizioni aperte di non blocco (prior-to-doc/post-close) non detengono fondi. Emette il blocco dedupedCategories "che cosa è rimasto prima di poter chiudere" lista. Proiezioni in stato di stato puro/stato sopra il caller-mapped CondizioneClearabilityResolver — navi la regola, non il cablaggio pietra miliare.

  19. · kamo-shared-library

    QualifyingRatioEngine — la chiave dti riproducibile (WS6)

    Compone i quattro core (proventi, passività, PITI/DTI, riserve) in ONE QualifyingSnapshot: reddito di qualificazione, debito mensile riconciliato, assemblato PITIA, DTI anteriore / posteriore, riserve ammissibili, mesi di riserva. Questo è il singolo derivazione deterministica che deve diventare l'unico produttore di AUS 'dti' — oggi quel fatto arriva a un mutuatario o vuoto e nessuno lo deriva. Pure/stateless, no I/O, nessun schema; chiamato da nulla ancora (sicuro da collegare in ScenarioFactDeriver successivo). La stessa prova riproduce sempre la stessa snapshot.

  20. · kamo-shared-library

    RiserveCalculatore — acconciature ammesse → Mesi PITIA (WS6)

    Derives riserva mesi da beni reali con tagli di capelli di agenzia standard — depositi liquidi 100%, intermediazione 70%, pensione di consegna 60%, regalo/borso esclusi — suddivisi per PITIA mensile. Completa la suite di qualificazione pura (proventi + passività + PITI/DTI + riserve) un sovrapposto minimo può passare su una figura reale invece di un mutuatario. Zero PITIA → non definita. No. schema, nessun cablaggio.

  21. · kamo-shared-library

    PitiDtiCalculator — Assemblaggio PITI + DTI anteriore / posteriore (WS6)

    Core rapporto puro completando il trio DTI con la responsabilitàReconciler + il core reddito: PITIA = P&I + tasse + HOI + HOA + MI + inondazione; anteriore = PITIA / reddito; indietro = (PITIA + debito) / reddito, come percentuali. Reddito zero → non definita (non diviso per zero). Questa è la deriva deterministica che deve diventare l'unico produttore del fatto AUS 'dti'. Niente schemi, niente cablaggio.

  22. · kamo-shared-library

    QualifyingIncomeCalculator — base + core variabile (WS5)

    Nucleo di reddito puro/deterministico: salario base = minimo conservatore prova disponibile (paystub / W-2 / VOE); variabile = media 2-yr con una guardia a reddito in calo (usare il tasso di corrente inferiore quando si abbassa la tendenza); affitto al 75% del lordo. Ogni linea cita la sua regola; gli stessi input → stesso totale (replay). L'ingresso controllabile a un vero e proprio DTI, sostituendo dedupe-by-employer. Funziona su proiezioni incise - nessun schema, nessun cablaggio, nessun comportamento cambiamento. SE cash-flow / lord-up terra in cima.

  23. · kamo-shared-library

    Affidabilità Reconciler — regole di pagamento dell'agenzia (core W6)

    Computer puro / senza stato trasformando ogni responsabilità nel pagamento mensile che conta contro DTI, con una razionalità citata: omesso/pagato escluso, leasing sempre incluso, rate ≤10 mesi fuori, girevole-senza- pagamento al 5% del saldo, diversamente indicato. La fondazione defensibile di un back-end DTI (rimontaggio di un 'dti' iniettato). Funziona su un caller-mapped proiezione della responsabilità bloccata — nessun schema, nessun cablaggio, nessun comportamento cambiamento. Deferred-student-loan / contingenti trattamenti terra con il bandiere additive di responsabilità.

  24. · kamo-shared-library

    Spec di quantità esplicita-periodo per successori delta

    RequirementQuantity acquisisce un elenco di periodi espliciti (+ costruttore deltaJson); quando è presente il set richiesto, in modo che un successore può essere oggetto di "Basta mandare August". PeriodCoverageEvaluator lo onora e lo espone richiesto(). Puro/additivo.

  25. · kamo-shared-library

    # e' la fonte unica #

    Aggiunge periodoKeyPer(data) quindi il percorso di scrittura (satisfier timbratura) e il copertura evaluator periodi chiave identici; evaluator ora delegato a esso. Pure/additivo, nessun cambiamento di comportamento.

  26. · kamo-shared-library

    Primitivi di periodo di copertura per la raccolta di documenti di tempo-consapevole

    La fondazione pura e additiva della collezione di oggetti d'epoca (doc 06 §4) — la prima fetta dello stato della banca "collega solo i mesi che non ho ancora" Aggiusta. Cambiamento di comportamento zero, nessun consumatore collegato. - RequirementQuantità: spec immutabile {conto, periodoMonths, cadenza, perAccount, perParty} parso da quantità json; fallisce aperto a SINGLE così un il requisito non specificato mantiene il comportamento del documento intero di oggi. - PeriodCoverageEvaluator: puro @Component (mirrori CondizioneClearabilityResolver) calcolo richiesto / coperto / non coperto + stato derivato da una spec, i soddisfatori accettati, e una data di ancora — la "1 di 2, mancante 2026-06" logica, con un mese fuori dalla finestra stante ignorato (portato avanti, non riascoltato). - RequirementSatisfier: quattro colonne additive NULLABLE (period end, efficace date, period key, account key) + indice; WORM @PreUpdate conservato. - PARTIALLY RECEIVED (già nell'enum, è aperto()=vero) semplicemente diventa raggiungibile. Le colonne si applicano additivamente tramite KamoInitializer (batched with the M1 write-path run); i servizi rimangono ddl-auto:none; nessuna versione condivisa-lib urto.

  27. · kamo-marketing

    Sostituire chat forked con <kamo-chat> embed; eliminare widget proxy legacy

    Swaps the forked AI/live-support React chat (PublicChatWidget + AiChatPanel + LiveSupportPanel + i percorsi /api/chat/** server proxy) per gli host, elemento personalizzato <kamo-chat> self-theming servito da E' il momento giusto. Il marketing org La chiave del sito WebChatIntegration viene letta lato server nel layout locale Percorso forza-dinamico in modo da risolverlo tempo di richiesta, non cotto in una costruzione statica) e passato al nuovo componente client KamoChatEmbed, che inietta lo script del widget e monta Traduzione: Gocce @stomp/stompjs e sockjs-client, che sono stati utilizzati solo dal LiveSupportPanel cancellato.

  28. · kamo-internal

    Aggiungi install-QR (self-hosted APK) per Impostare la scheda Mobile App

    Install/Sign-in toggle: "Install" mostra un QR al rilascio firmato APK sul nuovo telefono può scaricare+sideload; "Sign in" mantiene il flusso OTK password-gated.

  29. · kamo-internal

    Web Chat Integrazione design personalizzato + anteprima live

    Aggiunge una finestra di dialogo Personalizza alla scheda Integrazione Chat Web: un modulo di editor (colori, copia, layout, comportamento, AI prompt) a sinistra e un mock istantaneo, non interattivo del widget sulla destra, entrambi guidato off the same in-memory config in modo che ogni modifica rifletta immediatamente. - No, no. Specchio TS del widget canonico DEFAULT DESIGN JSON (Kamo-shared-library WebChatDefaultConfig.java) + soccorritori in profondità/parse in modo da un design memorizzatoConfig (null/partial/ malformato) si risolve sempre in una configurazione completamente popolata e modificabile. - No, no. auto- contenuto mock in stile (launcher + pannello aperto), nessun widget remoto fascio coinvolto. - No, no. ImpostazioniTextField guadagni opzionali multilinea / righe props (additivo, retro compatibile) per i campi di benvenuto-message/system-prompt. Salva PUTs il design dell'integrazioneConfig + aiEnabled/humanEnabled/ aiSystemPrompt via webChatIntegrationsApi.update, con colore esagonale e validazione del registro positivo prima della richiesta.

  30. · kamo-internal

    Web Chat Integrazione scheda — elenco, creare, snippet (BFF + UI)

    Fase 2 core delle impostazioni Web Chat Integration scheda: BFF percorsi proxying alla Phase-1a MediaService CRUD, un client digitato e il /settings/features/chat scheda dove un org elenca integrazioni, crea uno (nome + richieste di origine del sito web + modalità AI/Supporto), e ottiene il grezzo chiave del sito + snippet incorporabile una volta. Design personalizzato e prontezza la lista di controllo sono fasi successive.

Il tuo universo ti sta aspettando.

Aggiungi i prodotti quando sei pronto: nessuna migrazione, nessun nuovo login, nessuna richiesta di pagamento.

Gratis per sempre — nessuna carta di credito richiesta