POST **************** — gate Mobile Copilot QR
Verifies the caller's own password (passwordEncoder.matches against their session's user) without changing anything. Used by the mobile-access-otk BFF route so ...
Rebuild against shared-lib for ALLOW_MOBILE_ACCESS right
RoleRightsSync Service inarudisha haki mpya ya jumla ya majukumu yote kwenye boot.
Setup Mobile Access tab – QR kufunga + auto-configure Mkono Copilot
Kichupo kipya cha 3rd katika NavTopPanel (iliyotolewa na ALLOW MOBILE ACCESS kulia): inaonyesha alama ya alama QR encoding kiungo kirefu cha muda mfupi cha OTK ...
Add ALLOW_MOBILE_ACCESS (167) general right for Mobile Copilot
New RoleRightType (serviceType=null → General group) gating the 'Setup Mobile Access' interaction-center tab. RoleRightsSyncService backfills it to all roles on...
Kutetea lazima-origin kwa Awamu ya 1 - OriginMatcher opt-in (empty kuruhusu-list / missing asili kuruhusiwa)
Phase-0 widgets still call via their server-side proxy, so origin-locking has no benefit yet and every live public-chat key has an empty allow-list. Strict enfo...
Usihifadhi funguo za kuthibitisha kwenye makosa ya chini ya mtiririko (tu kwenye batili ya mwisho)
Per-org public prompt, human-handoff on no provider, anon daily message cap
Tu cache-kuthibitisha funguo kweli-invalid, si asili-denied (prevents halali-key DoS)
Kwenye cache ya baridi ya Redis, ufunguo wa wazi wa umma na asili isiyo sahihi / isiyokubalika ilikuwa Imehifadhiwa kama INVALID kwa 60s, kukataa maombi ya asil...
Bind WS relay handshake kwa asili + kuongeza baridi-cache muhimu uthibitisho fallback
Inaondoa PublicChatController ya binafsi kuhalalishaViaDownstream () katika pamoja PublicChatKeyResolver bean hivyo PublicChatWebSocketHandler inaweza kutumia t...
Verify *** PoW at the edge on public session create (enforced when payload present)
Make public-chat origin allow-list mandatory (deny on missing Origin / empty list)
Bust APIService key cache immediately on public-chat key toggle/delete
Persist creating key hash on public-chat visitor + ticket for attribution
Resolve public-chat system member per-org (drop hardcoded snadjafinia alias)
createSupportSession, createPublicTicket, and the owner notification helpers all resolved the org's "system member" via a hardcoded usernameAlias="snadjafinia" ...
Kuongeza publicDailyMessageCap kwa AiOrgSettings kwa anon web-chat upendeleo
Add creating-key-hash attribution columns to PublicChatVisitor + SupportTicket
Add findOrganizationOwners for per-org public-chat system member
Mobile push dispatch (FCM data + direct APNs) with presence gate
kuzungumza incoming (MediaController), tiketi ya msaada (Huduma ya Usaidizi) SMS/voicemail (VoipStompRelayController), kijamii ***** Uwepo-gated kama mtumiaji w...
Expose AIService /ws /ai-chat kupitia api. * majeshi kwa wateja wa simu
IngressRoute (priority 100, websecure, ws-upgrade middleware sans compress) routes wss://api.<domain>/ws/ai-chat to kamowsai-service:80 — same pattern as the me...
Accept X-***-Token on REST + signed ?st= stream tokens on audio endpoints
OTKValidationFilter precedence: X-OTK → X-***-Token → ?st= (GET, audio streaming paths only, verified via shared StreamTokenCodec with internal.auth.secret; cla...
Accept X-***-Token on REST; slide TTL with per-session timeout
OTKPreAuthFilter resolves X-***-Token when no X-OTK is present (same call MediaService REST without the BFF. KSessionService now slides the Redis TTL with the s...
Device-token SSO **************** stream tokens, X-*** header parity
- DeviceAuthController: durable device credential per (user, device) with rotate-on-exchange + 60s grace; /device/exchange mints a per-org *** via PostAuth*...
Device-token + push-registration entities, HMAC stream-token codec
hashed secret, rotation grace, sliding expiry), push_device_registrations (one push destination per device+org+kind), and StreamTokenCodec — short-lived HMAC to...
Prove closed-loan trainer convergence + retire + concurrency
Inaendesha Huduma ya ClosedLoanTrainer kwa njia za mfululizo na (kabla ya kuishi) MeridianLink waya na maono kusoma stubbed, kufunga Tabia ya kubuni inategemea:...
Cache closed-loan docs across passes; retire on solve/exhaust
The trainer now refines a loan over multiple passes instead of one-and-done: - TrainingDocStore is a PERSISTENT, deterministically-keyed cache (key = hash of...
Multi-pass closed-loan training — pass counter + corpus upsert key
The closed-loan trainer now re-reads a loan on successive passes until its extraction reproduces the loan outcome, so: - LeadLosLink.closedLoanPasses drives a p...
Trainer must not clobber its own claim or an operator's pause
After the atomic claim() bulk-updates the row to RUNNING, mirror that in the in-memory entity — the pool thread has no open session, so a later full-row save wo...
Maendeleo ya hali ya kuhifadhi kuandika kwa mwalimu aliyefungwa
uongozi ni kuongoza, bila kuathiri hali. Usajili wa Kampuni (Status) Haiwezi tena kuchanganywa na maji kamili ya maji kutoka kwenye bwawa. thread - update ulinz...
Harden closed-loan trainer — concurrency, idempotency, limits
- Concurrency: in-process activeOrgs guard + the DB claim() so this instance never double-walks an org and two replicas can't overlap; a run whose heartbeat...
Harden closed-loan trainer — run lock + per-loan idempotency
- ClosedLoanTrainingRun.claim(): atomic conditional UPDATE that takes ownership of a run only when it is not already RUNNING or its heartbeat is stale (prev...
Kufungwa-loan auto-trainer jopo kwenye jukwaa Document AI tab
Wamiliki wa ngazi ya juu wanaweza kukimbia + kufuatilia Mwalimu wa MeridianLink Katika kila kipengele kutoka kwa Mipangilio → Jukwaa → Nyaraka AI. Per-org Klabu...
Closed-loan auto-trainer + platform control endpoints
A closed loan is ground truth: its MeridianLink metadata is the answer key, its documents are the input. ClosedLoanTrainerService walks each MeridianLink org's ...
Fedha za dharura kwa ajili ya mafunzo ya ufundi stadi
Kwa mfano, *** Kutoa mafunzo kwa kila aliyepoteza mkopo kwa org + mtoa huduma, kila mmoja akibeba njeLoanName kusoma Nyaraka + kwa ajili ya.
Msingi wa Mafunzo ya Magari ya Karibu (Ukweli wa Msingi wa MeridianLink)
Foundation for training document extraction against funded loans (the answer key): - ClosedLoanTrainingRun entity+repo — per-org run control + live counters - E...
DOC_REJECTED email carries the plain-language reason
Both reject paths now pass **************** to the borrower's rejection email instead of the raw enum literal.
Ujumbe wa mpokeaji wa lugha kwa kukataa hati
RejectionReasonType was a bare enum (the borrower literally saw "ILLEGIBLE"). Each value now carries a borrowerMessage() remediation string + a messageFor() map...
Platform review queue on the Document AI tab
The Document AI tab now hosts the cross-tenant review queue: low-confidence extractions from every lender, lowest-confidence first, with inline confirm/correct/...
Platform QC queue + review endpoints (top-level owners)
system-config gains a cross-tenant extraction review queue + confirm/correct/reject, gated to top-level owners — the central labeling surface for the shared mod...
Platform-wide QC review (cross-tenant labeling for the shared model)
A document is a document — extraction and the model are platform-level, not per lender. Adds a cross-tenant NEEDS_REVIEW queue + QcReviewService.platformReview ...
Platform extraction config + cross-org corpus/accuracy/export
system-config GET/PUT now carries extractionAutoApplyConfidence + extractionModelId and reports the platform-wide corpus size + per-doc-type accuracy; adds a cr...
Platform "Document AI" configuration tab
Adds a Document AI tab to **************** the auto-apply confidence threshold, the registered fine-tuned model id, the platform-wide training-corpus size + per...
Platform Document-AI config on SystemConfiguration + cross-org corpus
Adds **************** (default 0.85) + EXTRACTION_MODEL_ID to the platform SystemConfiguration singleton — the platform-wide levers for the QC gate and the regi...
Org-wide "Document QC" steward sub-tab
Adds a Document QC console to the mortgage steward strip (?sub=docqc): the org-wide queue of low-confidence AI extractions grouped by loan, with inline confirm/...
Org-wide QC queue (employee review portal)
Adds an org-scoped NEEDS_REVIEW query + QcReviewService.orgQueue so employees can work every loan's low-confidence extractions from one portal, not one loan at ...
Steward Document-QC review box on the application detail
Adds a "Document QC" section to the loan detail: the queue of low-confidence AI extractions with confirm / correct / reject per field (each decision trains the ...
QC endpoints + confidence-gated extraction + gift/tax reads
QcController (/api/security/mlos/qc, LOS VIEW PIPELINE) hatua (kuthibitisha / kurekebisha / kurekebisha), NDJSON mafunzo-data kuuza nje, kwa aina ya doc usahihi...
Confidence-gated QC box + labeled training data + gift/self-employment reconcile
QC engine (Phase 4 core): - VerifiedFact gains first-class EXTRACTION_CONFIDENCE, DOC_TYPE_CODE, QC_STATE columns (QcState: **************** Reconciliation ...
Je, unaona nini kuhusu usafiri?
Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.