ClaimedFactsDTO carries the FULL mortgage lead (35 fields)
Adds the 16 fields the portal structurally couldn't send (monthlyDebts, taxes, insurance, HOA, currentPayment, sellerCredits, renovationCost, borrowerAge, isVet...
Imefungwa mnyororo wa LO - portal inaongoza kuingia bwawa la kukubali-lead; kukubalika LO kuishi uongofu
(1) PortalLead Service ina njia ya bandari inayoongoza kwenye pool ya kazi ya msingi ya mikopo (kuhitajika Wakati una hatua ya kuwasiliana - mwongozo wa portal ...
Rebuild against shared-lib (sellerCredits + JsonIgnoreProperties lead DTO tolerance)
Rebuild against shared-lib Phase-4 fields (renovationCost + currentLoanType + LeadFieldPatch)
Rebuild against kamo-shared-library
Pick up LeadListDTO mortgage figures (loan amount/purpose + LTV/DTI inputs) so the /leads grid's Residential-Mortgage columns are served. No code change; CI bui...
Rebuild dhidi ya pamoja-lib isVeteran (LeadClaimMortgage col + LeadFieldPatch + mapper)
Internal LOS apply endpoint for inbound sync
POST **************** {leadUid, provider, loXmlFields} — server-to-server (no session/rights). Constant-time X-Internal-Auth check against the cluster internal-...
Lead create/open LOS application endpoints + market-config MLOS fields
Real soft-delete + reactivate-on-upsert for LOS connection; safe test-connection message
I1: view()/testConnection() now read via the shared-lib's active-filtered finder so a soft-deleted (market,provider) connection reads as "not configured" instea...
Market LOS connection service/controller
Phase 3 (Tasks 3.1-3.2) of the MeridianLink external-LOS integration: CRUD + Test-Connection for a market's MeridianLink connection. - MarketLosConnectionServi...
Rebuild kuchukua mashamba ya mikopo ya pamoja-lib (LeadClaimMortgage +6)
Kushindwa kupakia ikiwa resize inashindwa (hakuna ukubwa wa kuanguka)
Inathibitisha kuanguka kwa asili ya duka: ikiwa Huduma ya Kubadilisha haiwezi upya picha, kurudi 422 badala ya kuhifadhi asili ya ukubwa kamili (picha kubwa ing...
Fall back to the original image when resize fails
ConversionService can native-crash (libwebp-imageio SIGSEGV) or be unavailable, which made every member wallpaper upload fail ("Failed to process image" -> 500)...
Rebuild to pick up shared-lib Organization.bgWatermark
No source change. Triggers CI to re-clone kamo-shared-library main (now carrying the bg_watermark org column added in bc45b97) so the org GET/PUT serialize and ...
Closing-forecast read passthrough (operator-gated, org from session)
Steward passthrough to recompute pipeline-funding P(fund) projections
POST **************** → MlosCapitalMarketsClient (X-Internal-Auth, org stamped from session) → MLOSCapitalMarketsService recompute. Operator-gated like the othe...
Scenario-insights endpoint — LIGHT-tier AI narrative via the org's provider
POST **************** takes a factual (estimated) scenario summary, calls MlosAiClient.text(orgId, prompt, LIGHT) through the org's configured AI provider, retu...
Persist borrower-stated financials + phone onto the mortgage lead
ClaimedFactsDTO gains purchasePrice, downPayment, currentLoanBalance, cashOutAmount and phone; PortalLeadService.applyFacts maps them onto LeadClaimMortgage / t...
Process member uploads like org bg + gate by new rights
- New ImageResizeClient runs member background uploads through the SAME post-processing as org backgrounds (POST **************** and stores the result as ....
Notify the assigned loan officer when a loan's borrower docs are all received
Fires LOAN_DOCS_READY_LO at the satisfy points alongside the borrower DOC_COMPLETE. Resolves the LO via loanFile -> **************** -> Member; self-guarded to ...
Lock the system-managed originator (projection, freeze, assignment)
8 tests over LoanTransactionService: live projection fills name/NMLS/subject-state license + org and marks LIVE; stale hand-entry is cleared when no LO is assig...
Upakiaji wa Vault unaweza kufikia hati (loanTransaction) ya ya)
The vault upload now accepts an optional loanTransactionId, stamped onto the MemberDocument so a time-sensitive doc (credit report / bank statement) can be boun...
Freeze the originator snapshot at initial Loan Estimate (Reg Z/TRID)
Completes the originator lifecycle: a shared resolveProjection() now feeds BOTH the live read projection and the freeze (no drift). On issuing an INITIAL_LE dis...
Surface transactionNumber on TransactionSummaryDTO (pipeline Transaction #)
The per-transaction pipeline row now carries the human transaction number. Verified: mvn compile clean.
Originator projection resolves the per-state license
Inakamilisha mradi wa chanzo cha kuishi: StewardLicense ya LO [TD="width: 456"] [FONT=&](2)[/FONT][FONT=&]Bila kuathiri masharti ya kifungu kidogo (1) cha kifun...
Live originator projection — org + assigned LO, on read
GET /mortgage-apps/{uid} now overlays a LIVE, system-managed originator projection (computed on read, never stored) unless the row is frozen: org name/NMLS/addr...
Transaction-level loan-officer assignment + transaction number
ensureTransactionForApp now stamps an org-unique transactionNumber (TXN-<uid>). New **************** + PUT /mortgage-apps/transactions/ {uid}/loan-officer sets ...
Persist mapped Material ID on manual import + API intake
Both setDirectFieldOnCreateRequest switches lack a default case, so an unmapped systemFieldPath is silently dropped. Add a materialId case to the manual-import ...
Include both desktops in every SSO token, deep-link to the chosen one
Each token carried only its own connection, so the browser's reused json session lacked the other one -> opening Windows after Linux gave 'connection does not e...
Route borrower submit through the pipeline so it fires **************** (audit #3)
mkopaji wa patchLoanFile kuwasilisha (DRAFT->APPLICATION TAKEN) sasa simu Kwa mfano, *** Badala ya update Orodha ya majina, hivyo Kuwasilisha hutoa hatua ya bom...
Resolve session from X-***-Token header in CallerSessionResolver
The kamo-internal -> APIService BFF path forwards the session as the X-***-Token header, but the resolver only read the X-OTK attribute or the *** cookie — so B...
PatchLoanFile is no longer a status backdoor; unblocking a condition needs the underwrite right; clear cascades
**************** status changes are the pipeline state machine's job (POST /transitions enforces legal arrows + per-arrow role gate + open-blocking-condition ga...
Inject KamoDesktop SSO env directly + wire guac-sso into tracked k8s deployment
@Value inasoma KAMO GUAC SIGNING KEY / DESKTOP PASSWORD kutoka env moja kwa moja (runtime) matumizi.yml ni configmap-mounted, hivyo mali isiyohamishika bila kum...
KamoDesktop SSO token endpoint for god members
GET **************** (god-eligible only) mints a 5-minute guacamole-auth-json token (HMAC-SHA256 + AES-128-CBC, per the extension's wire format) and returns an ...
Borrower submit fires the Application-Taken side effects (doc checklist + notify)
Mpokeaji wa barua pepe ni mpokeaji wa barua pepe. operator /transitions mwisho mahali ambapo Maombi-kuchukuliwa madhara kuishi - hivyo mkopaji kuwasilisha yanay...
Borrower cannot escalate loan-file status or edit the URLA after submission
Two related borrower-authorization holes on the self-service app endpoints: - Privilege escalation (#2): patchLoanFile applied any statusId with no caller-ri...
Borrower self-create idempotency + orphan compensation; don't relay an empty checklist as success
MortgageAppController.create() borrower self-create branch: - Idempotency (#2): resume an existing owned DRAFT via findOwnedDraft instead of minting a duplica...
Lead callback endpoints (schedule/list/resolve)
Picha zote na Wizara ya Mambo ya Ndani ya Nchi.** Mfumo wa Ufuatiliaji +: Inaendelea callback, posts ratiba / mapato maelezo katika mkondo wa vyombo vya habari ...
Rebuild dhidi ya pamoja-lib dbNow ( CAST fix)
Fungua kujitolea kuchochea CI, ambayo clones kamo-shared-library wakati wa kujenga na Kwa mfano, angalia maelezo ya bei ya chini ya bei.
Rebuild against kamo-shared-library rights-waterfall fix (5f20d29)
CI clones and builds kamo-shared-library from source, so this empty commit re-triggers the build to pick up the layered rights resolution. On boot the MemberRig...
Revert securityProvider to self-pointing; self-heal member applied rights
Mambo mawili ya kuzingatia kuhusu mabadiliko ya tabianchi: Kuingia-kama-mfumo-Member alishindwa na "Hakuna uanachama katika shirika" huduma ya afya kwa kila mt...
Enforce lead contact-info privacy rights
getAllLeads now returns the lean LeadListDTO and hides unassigned leads from members without VIEW_UNASSIGNED_LEADS. getLeadById masks contact info (state preser...
Interpret lock LAST EDIT AT kama UTC kwa epoch-millis expiry
dbNow() sasa inarudi saa ya ukuta wa DB-UTC (sasa: timestamp), kwa hivyo urejeshe kabisa. Haraka na toInstant (UTC) badala ya eneo la default la JVM - huhifadhi...
/team creates a TEAM_MEMBER (PROSPECT), /member creates a MEMBER
Public registration now honors the memberType the register site sends (from the /member vs /team path): /team creates a TEAM_MEMBER — as PROSPECT, so an admin m...
Expose team-member work phone extension in team-members-contractors
The /leads Agent filter needs the work-phone extension to label options as "Name (ext 8080)". The extension already exists on TeamMember (getPhoneWorkExtension)...
New child orgs inherit their parent's securityProvider
When creating a child org from kamo-internal, set the new org's securityProvider to the parent org's securityProvider (the org it's created under) instead of le...
Reuse existing users, mirror to securityProvider, gate team-member sign-in
Reuse (no duplicate accounts for the same person): - MemberCreateController now reuses an existing user by personal email case-INSENSITIVELY (was case-sensiti...
File new accounts under the org of the domain, not kamocrm
/register bound the new member's org to the request Host, but the org signal never survived the hop: kamo-register proxies every signup to the shared api.kamocr...
Kuongoza kazi za REST API + TASK CHANGED
Utekelezaji wa backend / maelekezo / maoni Tasks tab ilikuwa tayari wito lakini kwamba Hakukuwa na: GET / PUT / DELETE Kwa mfano, *** (LeadTaskController + Lead...
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.