Changelog
Cosa c'è di nuovo.
Ogni miglioramento alla piattaforma, come si spedisce.
· kamo-shared-library
Aggiungi colonne di attribuzione chiavi in mano a PublicChatVisitor + SupportTicket
· kamo-shared-library
Aggiungi findOrganizationOwners per il membro del sistema per-org
· MediaService
Maniglia mobile (dati FCM + APN diretti) con cancello di presenza
chat incoming (MediaController), biglietto di supporto (SupportNotificationService), SMS/voicemail (VoipStompRelayController), social********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** Presence-gated come il consumatore di e-mail mancato messaggio (skip quando un socket live è su). Android = solo dati FCM ad alta priorità; iOS = APN diretti HTTP/2 via Pushy (no Firebase su iOS); APNS VOIP riservato al futuro percorso CallKit. Per conversazione limite di tasso. POST /api/internal/push/dispatch (X-Internal-Auth) per servizio trasversale scorre. Inviatori no-op fino a FCM service-account + APNs .p8 sono forniti.
· KlusterServices
Expose AIService /ws/ai-chat tramite host api.* per i clienti mobili
IngressRoute (priority 100, websecure, ws-upgrade middleware sans compress) percorsi wss://api. i media.* rotta WS. Auth rimane ?token=±***> convalidato da AIService.
· VOIPService
Accettare X-***-Token su REST + firmato ?st= gettoni di flusso su endpoint audio
OTKValidità Filtro precedente: X-OTK → X-***-Token → ?st= (GET, audio solo percorsi di streaming, verificati tramite StreamTokenCodec condiviso con interno.auth.secret; i reclami alimentano l'org/member esistente dei controller autorizzazione). I giocatori nativi possono ora registrare/voicemail su richiesta.
· MediaService
Accettare X-***-Token su REST; far scorrere TTL con timeout per sessione
OTKPreAuthFilter risolve X-***-Token quando non è presente X-OTK (stesso chiamare MediaService REST senza il BFF. KSessionService ora scorre il Redis TTL con la sessione propriaTimeoutMinutes invece del 30-min globale.
· SecurityService
E' una cosa che non va. token di flusso, X-***
- DeviceAuthController: credenziali di dispositivo durevoli per (utente, dispositivo) con rotazione sullo scambio + 60s grazia; /dispositivo/scambio mints a per-org *** via PostAuth***Service (stessa cascata/labels/timeouts come login) e restituisce registro per (dispositivo, org). - PostAuth***Servizio: piano opzionale di sessione mobile E' il 720 di default. - StreamTokenController: mints path-bound HMAC ?st= token (10 min) così media i giocatori possono registrare Range-request senza OTK per-request. Prima onora X-Token. Dare un'occhiata alla parità. per i clienti senza cookie.
· kamo-shared-library
Enti di registrazione push-token +, codice HMAC
hashed secret, rotazione grazia, scadenza scorrevole), push device registrations (una destinazione di spinta per dispositivo+org+kind), e StreamTokenCodec — di breve durata I gettoni HMAC in modo che i giocatori nativi possano trasmettere l'audio con semplici richieste di Range.
· SecurityService
Cache docs chiuso attraverso i passaggi; ritirarsi su riso / scarico
Il formatore ora affina un prestito su più passaggi invece di uno-e-done: - TrainingDocStore è una cache PERSISTENT, a chiave deterministica (chiave = hash of org|loan|docId). Un documento è scaricato da MeridianLink ONCE e riutilizzato da MinIO su ogni passaggio successivo — il il download costoso, limitato al tasso, dipendente dal fornitore non si ripete mai. - trainLoan esegue un passaggio: cached-once fetch → estrarre → diff ogni mappatura campo vs il valore SoR, UPSERTing una etichetta per prestito-campo. - Un prestito viene ritirato quando SOLVED (un pass abbinato ad ogni campo mappato) o EXHAUSTED (hit training.max-passes-per-loan, default 5); in pensione i documenti memorizzati nella cache vengono purificati in modo che PII sia memorizzato solo mentre siamo ancora lavorando il prestito, mai archiviato.
· kamo-shared-library
Allenamento multipass a chilo — contapassi + corpus tasto upsert
L'addestratore chiuso rilegge ora un prestito su passaggi successivi fino al suo estrazione riproduce il risultato del prestito, quindi: - LeadLosLink.closedLoanPasses guida un tappo passante per-loan (retire come ESAUSTED se non corrisponde mai completamente), e chiusoLoanTrainedAd ora significa "retired" (SOLVED o ESAUSTED), non "leggi una volta". - ExtractionCorrection.sourceRef (il nome del prestito esterno) chiavi a per-loan-field UPSERT — un'etichetta corrente per (org, prestito, docType, campo), così i passaggi ripetuti affinano l'etichetta invece di inondare il corpus con una nuova riga ogni passaggio.
· kamo-shared-library
I progressi di conservazione dello stato scrivono per il formatore a chilo chiuso
eseguire è RUNNING, senza toccare lo stato. Una pausa operatore (status → PAUSED) non può più essere clobberato da un full-row salvare dalla piscina thread — l'aggiornamento custodito corrisponde a 0 righe, PAUSED stand, e la passeggiata si ferma al prossimo controllo. Anche il battito cardiaco vivo per il recupero di stale-run.
· SecurityService
Indurimento di un formatore chiuso — concorrenza, idempenza, limiti
- Convalutazione: in-process activeOrgs guard + il reclamo DB() così questo istanza mai double-walks un org e due repliche non possono sovrapporsi; un eseguire il cui battito cardiaco è >10min stale è recuperabile (processo morto a metà marcia). - Idempotency: i prestiti di skip già contrassegnati con chiusuraLoanTrainedAt e contrassegnare un prestito solo dopo un vero e proprio passaggio di formazione a chilo chiuso (prestiti non chiusi rimanere non contrassegnato così i passaggi successivi li cattura una volta che si chiudono). - Sicurezza della memoria: saltare i documenti oltre 30MB — scaricareI buffer del documento l'intero file e il SecurityService è a tenuta di memoria. - Signed-URL TTL per i documenti di formazione è ora configurabile e di default a 15min così una visione lenta di 15 pagine leggere non può superare un token di 5 minuti.
· kamo-shared-library
Indurimento allenatore chiuso — serratura di corsa + idempotency
- ClosedLoanTrainingRun.claim(): UPDATE condizionale atomico che richiede proprietà di una corsa solo quando non è già RUNNING o il suo battito cardiaco è stale (il proprietario precedente è morto). Ferma due lavoratori — un doppio clic controllo, run-all sovrapposizione di un calcio per-org, o un secondo servizio replica — da camminare i prestiti dello stesso org contemporaneamente e duplicare correzioni / contatori di guarnizione. - No, no. un prestito chiuso è la verità di terra, quindi una volta etichettato non c'è nulla da rileggere i suoi documenti. The allenatore skips marcati prestiti, che mantiene i passaggi ripetuti (che esistono per catturare i prestiti appena chiusi) da etichette duplicate e skewing il Corpus verso prestiti frequentemente ritrattati.
· kamo-internal
Pannello autotrainer chiuso sulla piattaforma Document AI scheda
I proprietari di alto livello possono eseguire + monitorare il formatore MeridianLink chiuso attraverso ogni inquilino da Impostazioni → Piattaforma → Documento AI. Per-org righe lo stato dello spettacolo, i prestiti (chiuso/venduto), i documenti, i campi e il tasso di corrispondenza, con Eseguire/riprendere/Pausa controlli e un'azione "Train all MeridianLink orgs"; contatori sondaggio live mentre una corsa è attiva. Nutri lo stesso corpus condiviso come la coda di QC umana sulla stessa scheda.
· SecurityService
Autotrainer + endpoint di controllo della piattaforma
Un prestito chiuso è la verità di base: i suoi metadati MeridianLink sono la risposta chiave, i suoi documenti sono l'ingresso. ClosedLoanTrainerService cammina ogni MeridianLink org ha chiuso i prestiti, scarica ogni documento, lo legge e diffa la lettura contro i valori finali del prestito — una partita conferma la modello, un errore etichetta il valore SoR come correzione. Ogni etichetta è taggato source=CLOSED LOAN e si unisce allo stesso corpus cross-tenant mangimi della scatola QC umana. Nessun essere umano. # Additivo puro lettura # + visione + timbri deterministici), non registra nulla — utilizzabile sia dal App path e l'allenatore. - TrainingDocStore + TrainingDocPublicController: ephemeral MinIO store + uno-shot HMAC-signed servire in modo che il fornitore di visione di org può prendere un formazione doc (?page=N rende una pagina PDF), poi è cancellato. pausa), piscina di sfondo, custodito @Scheduled auto-tick (fuori per impostazione predefinita). - SystemConfigurationController: status/run-all/run/pause del proprietario di alto livello endpoints per il monitor della piattaforma.
· kamo-shared-library
Org-scoped prestito roster query per il formatore a chilo chiuso
E' il momento giusto. dà al trainer ogni LOS-linked prestito per un org+provider, ciascuno che trasporta l'esternoLoanName legge stato + documenti per.
· kamo-shared-library
Fondazione autotrainer chiusa (MeridianLink terra verità)
Fondazione per l'estrazione di documenti di formazione contro i prestiti finanziati (la chiave di risposta): - ClosedLoanTraining Eseguire entità+repo — per-org run control + contatori dal vivo - EstrazioneCorrezione guadagni SOURCE (CorrezioneSource: HUMAN QC | CLOSED LOAN) così il corpus distingue etichette auto-trained dal QC umano. - MeridianLinkSoapClient: loadStatus (sStatusT chiuso / finanziato letto) + EDocs listDocuments/downloadDocument (costruito in attesa di conferma del venditore dell'esatto EDocs ops, corrispondente alla postura pre-live dell'integrazione di base). - ClosedLoanFieldMap: estrazione-percorso → LO-XML field-id diff bridge + valore normalizzazione (campi nominali confermati; reddito/DOB/indirizzo/valutazione in sospeso). Additivo + dormiente (non ancora scrittore) — il servizio trainer si basa su questo successivo.
· SecurityService
DOC REJECTED e-mail porta il motivo in lingua semplice
Entrambi i percorsi di rigetto passano ora... L'email di rifiuto del mutuatario invece della letterale enum raw.
· kamo-shared-library
Messaggi di mutuatari in lingua normale per i rifiuti di documento
RejectionReasonType era un enum nudo (il mutuatario ha letteralmente visto "ILLEGIBLE"). Ogni valore ora porta un mutuatarioMessage() stringa di bonifica + un messaggioPer() mapper, quindi la nota di rifiuto e l'e-mail DOC REJECTED dire al mutuatario esattamente che fissare in lingua normale.
· kamo-internal
Coda di revisione della piattaforma sulla scheda Document AI
La scheda Document AI ora ospita la coda di revisione cross-tenant: bassa fiducia estrazioni da ogni prestatore, minima fiducia in primo luogo, con inline conferma/corretto/rigetto. Questa è l'etichetta centrale che forma quella condivisa modello — la coda per-lender è ora la vista secondaria "controllare il mio prestito".
· SecurityService
Piattaforma QC coda + revisione endpoint (proprietari di alto livello)
system-config acquisisce una coda di estrazione cross-tenant + conferma/corretta/rigetto, gated a proprietari di alto livello — la superficie di etichettatura centrale per il modello condiviso.
· kamo-shared-library
Recensione QC su piattaforma (etichettatura cross-tenant per il modello condiviso)
Un documento è un documento — l'estrazione e il modello sono a livello di piattaforma, non per prestatore. Aggiunge una coda cross-tenant NEEDS REVIEW + QcReviewService.platformReview (org/app derivato dal fatto, non dal chiamante) in modo che un team di ops centrale possa rivedere ogni inquilino estrae a bassa fiducia in un corpo di allenamento ONE + un modello. Inquilino auto-review (prestiti propri) rimane, rifatto su un'applicazione condivisaReview.
· SecurityService
Piattaforma di estrazione config + cross-org corpus/accuracy/export
system-config GET/PUT ora trasporta estrazioneAutoApplyConfidence + estrazioneModelId e riporta la dimensione del corpus su piattaforma + precisione per-doc-tipo; aggiunge un cross-org NDJSON formazione-corpus esportazione (proprietari di alto livello). L'estrazione legge il soglia configurata da SystemConfiguration (fallback 0.85) invece di una costante.
· kamo-internal
Scheda di configurazione "Document AI" della piattaforma
Aggiunge una scheda Document AI a... soglia di fiducia, il modello id registrato, la piattaforma dimensione formazione-corpus + precisione per-doc-tipo, e un'esportazione di formazione cross-org. Rende visibile e configurabile il sistema di estrazione a livello di piattaforma.
· kamo-shared-library
Platform Document-AI config su SystemConfiguration + cross-org corpus
Addirittura... (default 0.85) + EXTRACTION MODEL ID al piattaforma SystemConfiguration singleton — leve a tutta la piattaforma per il cancello QC e il modello registrato. Aggiunge query cross-org corpus/accuracy a ExtractionCorrectionRepository per il cruscotto della piattaforma + l'esportazione di formazione.
· kamo-internal
"Document QC" steward sub-tab
Aggiunge una console Document QC alla striscia di steward mutuo (?sub=docqc): il coda org-wide di estrazioni AI a bassa fiducia raggruppate in prestito, con inline conferma/corretto/rigetto e un salto in ogni prestito. Questo è il posto centrale per i dipendenti a lavorare QC — complemento della sezione Document QC per-loan.
· SecurityService
GET /api/security/mlos/qc/queue — endpoint del portale QC
· kamo-shared-library
Coda di QC (portale di revisione dei dipendenti)
Aggiunge una domanda org-scoped NEEDS REVIEW + QcReviewService.org Queue in modo che i dipendenti possano lavorare le estrazioni a bassa fiducia di ogni prestito da un portale, non un prestito alla volta.
· kamo-internal
Scatola di revisione Steward Document-QC sui dettagli dell'applicazione
Aggiunge una sezione "Document QC" al dettaglio del prestito: la coda di bassa fiducia AI estrazioni con conferma / corretto / rigetto per campo (ogni decisione forma la modello e applica valori confermati all'URLA), più un'esportazione di dati formativi. Fili il client /api/security/mlos/qc proxy + qcApi.
· SecurityService
Endpoint QC + estrazione confidenziale + letture regalo/tax
- QcController (/api/security/mlos/qc, LOS VIEW PIPELINE): recensione coda, recensione azione (confirm/correct/reject), NDJSON formazione-dati esportazione, per-doc-type accuratezza. - Estrazione ora francobolli fiducia + tipo doc su ogni fatto e cancelli lo stato QC (>=0.85 auto-applicazioni; di seguito aspetta nella casella QC). - Nuove richieste di estrazione: lettere regalo (importo + donatore; tipo/fonte iniettato), Rimborso fiscale / Programma C reddito di lavoro autonomo (bandiera autonoma iniettata).

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