Mabadiliko
Nini kipya.
Kila kuboresha jukwaa, kama ni meli.
· kamo-internal
Remove Cash-to-Close card; move buyer's-agent fields to Subject Property tab
· kamo-internal
Kuruka juu ya kuruka mbali / kubadili tabs na hariri zisizohifadhiwa
· kamo-internal
Ondoa makadirio / maelezo ya nje kutoka kwa kadi za hali
Drop the EstimatedNote component and its plumbing, and the AI-narrative verify-before-relying disclaimer, per owner request to stop showing estimate/disclaimer footnotes on the mortgage scenario cards.
· kamo-internal
Reorder outputs **************** + move save error toast to bottom
· kamo-internal
Kuweka alama za uwanja baada ya lebo, sio mbali kulia
· kamo-shared-library
ClosingHorizon — shared §5 close-date heuristic (stage → business days)
One source for the closing horizon so the capital-markets forecast and the doc-freshness sweep project the SAME close date. A calibrated CDF replaces the table later.
· kamo-internal
Inline red/yellow field markers + tab rollups; drop Profile Completeness pane
· kamo-internal
Residential-Mortgage columns (Purpose/Loan Amount/LTV/DTI) + Purpose filter
On /leads, when the selected market is a Residential Mortgage market, show four columns to the right of State: - Purpose — mortgageFields.loanPurpose, title-cased **************** - Loan Amount — compact "574k" via new fmtK() - LTV / DTI — computed by the mortgage engine (ltv()/dti().backEnd), one decimal All render an em-dash when their field/inputs are unset. Loan Purpose also gets a toolbar filter (mirrors the productFilterValue pattern: state + Select + filter in both filteredRowData branches + reset + browser-state persist), shown and applied only in the Residential-Mortgage view so it can't silently empty a non-mortgage grid. Gate: preserve market.salesSubType (already in the API, previously dropped) and derive isResidentialMortgageView = currentMarket.salesSubType === RESIDENTIAL_MORTGAGE. Data comes from the widened LeadListDTO; no leadsApi change (mapLeadResponse spreads). New pure helpers fmtK + loanPurposeLabel are unit-tested ****************
· kamo-shared-library
Carry mortgage figures in LeadListDTO for the /leads grid
The /leads Residential-Mortgage columns (Loan Amount, Loan Purpose) and the client-side LTV/DTI need mortgage data the lean list projection didn't ship. Widen ListMortgageFields + fromLead with loanAmount, loanPurpose(+id), propertyValue, purchasePrice, downPayment, currentLoanBalance, cashOutAmount, estimatedIncome, monthlyDebts, annualPropertyTaxes, annualInsurance, monthlyHoa — mirroring LeadDTO.MortgageFieldsDTO and its loanPurpose.name() encoding. Still carries no contact PII (no street/city/zip, e-mail, or phone).
· kamo-shared-library
Sync renovationCost + currentLoanType through MeridianLink mapper (ids TODO-flagged)
Extends the isVeteran LO-XML wiring (1f583db) to the two new renovation/ streamline-refi fields added in 4A (5132026). - LoXmlFieldMapper: FIELD_RENOVATION_COST (sRehabTotalCost) + FIELD_CURRENT_LOAN_TYPE (sProdCurrentLoanT) constants, both TODO-flagged as unconfirmed convention guesses, added to TRACKED_FIELD_IDS. leadToLoXml emits renovationCost via money() and currentLoanType via putIfPresent(); loXmlToLead parses them via parseMoney()/trimToNull() as the new trailing patch components. - LeadFieldPatch: canonical record grows to 9 components (…isVeteran, renovationCost, currentLoanType); the 6-arg backward-compat aux constructor now defaults all three trailing components to null so SecurityService's 6-arg LOS-apply test keeps compiling. - LeadService.applyLosPatch: two null-guarded write-backs recording mortgage.renovationCost / mortgage.currentLoanType history keys, mirroring isVeteran. - LoXmlFieldMapperTest: emit/parse/absent coverage for both fields + updated trackedFieldIdsAreTheSyncedSet assertion. - LeadServiceLosTest: updated 4 pre-existing 7-arg LeadFieldPatch(...) call sites to 9-arg (collateral compile fix, no behavior change).
· kamo-internal
Renovation family (203k/HomeStyle) + streamline refis (FHA Streamline/VA IRRRL)
Adds two new stated-lead inputs (renovationCost, currentLoanType) and five eligibility rows gated on real borrower signal, matching the existing show-only-when-signaled discipline: - FHA_203K_LIMITED / FHA_203K_STANDARD: forward + primary-only, split on the $75k rehab-cost boundary - HOMESTYLE_CHOICE: conventional renovation analog, any occupancy (merges HomeStyle + CHOICERenovation into one row) - FHA_STREAMLINE / VA_IRRRL: refi-only, gated on the existing loan's type
· kamo-internal
Projected Close section — surfaces the §5 close-date forecast
Capital & Risk console now fetches /closing-forecast and shows each active loan's projected close date (stage-based business-day horizon), soonest-first. Best-effort (never fails the console). Makes the close-date engine end-to-end usable.
· kamo-shared-library
Kuongeza ukarabatiCost + currentLoanType mikopo ya mikopo
Mirrors uwanja wa isVeteran (3f0cea1): safu ya chombo, 3 DTOs Kwa mfano, *** Mikopo ya mikopo + Mjenzi wa LeadDTO, Huduma ya Kiongozi huunda / kuboresha kupita, na Waandishi wa habari (mortgage.renovationCost, Picha zote na Wizara ya Mambo ya Ndani ya Nchi. ... Yote mawili ni makosa, sio makosa. Kuondoa ya Kazi ya ustahiki wa programu ya ukarabati na streamline-refi (Jumla ya 24 Bidhaa kwa Vitunguu).
· kamo-internal
Put Loan Purpose first on the Loan tab (it drives field relevance)
· kamo-shared-library
Sync isVeteran through MeridianLink LoXmlFieldMapper (id TODO-flagged)
Wires LeadClaimMortgage.isVeteran katika LO-XML safari ya pande zote kwa kutumia Kitambulisho cha uwanja wa mkutano aBIsVeteran (inalingana na aB ... mkopaji Kabla ya kiambishi cha aBFirstNm / aBLastNm) na TODO kuthibitisha kitambulisho na 1 / 0 Picha zote na Wizara ya Mambo ya Ndani ya Nchi.pdf Picha zote na Wizara ya Mambo ya Ndani ya Nchi. .................................................................... Kuingia, leadToLoXml hutoa "1" / "0", loXmlToLead parses kupitia parseBool mpya Picha zote na Wizara ya Mambo ya Ndani ya Nchi. .................................................................... LeadFieldPatch: sehemu mpya ya rekodi ya isVeteran. - Huduma ya Kiongozi.applyLosPatch: inatumika inbound isVeteran, rekodi mikopo.isVeteran muhimu historia (matukio LeadHistoryFieldRegistry kutoka Hatua ya 3A). - LeadServiceLosTest: updated 4 preexisting LeadFieldPatch (...) simu ya mkononi maeneo kwa ajili ya sehemu ya rekodi mpya (collateral kukusanya fix, hakuna mabadiliko ya tabia). - LoXmlFieldMapperTest: chanjo mpya kwa ajili ya kweli / uongo /null pande zote pande zote mbili.
· kamo-internal
Shamba la wazee + ramani chini ya hali / zip; kuwezesha kustahiki VA; ufahamu wa dedupe / ukamilifu
· kamo-shared-library
Kuongeza isVeteran mikopo shamba (tuzo, DTOs, huduma, historia)
· kamo-internal
Cross-field consistency checks (Data Checks card)
· kamo-internal
Purpose-aware profile completeness + weighted header meter
· DaemonService
Org-scoped inbound loan recognition in MeridianLink poller
· kamo-shared-library
Org-scope inbound LOS loan lookup + after-commit outbound push + inbound history audit
· kamo-internal
Honest DTI/payment labels for missing inputs (partial PITI, no-debts back-end, conventional-PMI MI)
· kamo-internal
Purpose-gate Eligibility Snapshot; hide unevaluable programs; merge HomeReady/Home Possible; sort UNKNOWN last
· SecurityService
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-auth secret; missing/wrong header -> 403 before any lookup or mutation. Maps LO-XML via LoXmlFieldMapper.loXmlToLead and applies MeridianLink-wins via LeadService.applyLosPatch (which emits the realtime LEAD_UPDATED). Called by the DaemonService inbound poller.
· DaemonService
MeridianLink 60s inbound poll job
Drain the per-appCode modified-loans queue (collapsed to distinct (instanceBaseUrl, appCode) poll-units) and forward recognized field changes to SecurityService's internal LOS apply endpoint via RestTemplate + X-Internal-Auth. Recognized loans (a LeadLosLink exists) are applied then cleared + lastPulledAt stamped (injected clock); unrecognized loans and failed applies are left in the queue. Failure-tolerant, null-guarded, Quartz 60s trigger; PLATFORM_ENC_KEY mounted for the creds resolver.
· kamo-internal
Lead Create/Open Application button + LOS proxy routes + leadsApi
Phase 7 of the MeridianLink external-LOS integration: adds the header button that creates or opens a lead's linked MeridianLink loan file, the Next.js proxy routes it calls, and the leadsApi/type surface that carries losProvider/losLinkStatus from market-config.
· SecurityService
Lead create/open LOS application endpoints + market-config MLOS fields
· kamo-shared-library
Lead↔LOS push/patch + outbound sync hook
· kamo-internal
Ushirikiano wa MLOS kushuka kwa modal ya soko
Add a MLOS Integration dropdown **************** to the market Add/Edit modal, shown only for Service > Residential Mortgage markets, plus a Configure button beside it. Configure is disabled until the market is saved; for MERIDIAN_LINK it opens the new per-market Configure dialog, for KAMO_MLS it deep-links to the existing internal MLOS console (the single POS commerceType:MORTGAGE market's Integrations tab), and ENCOMPASS_ICE stays disabled with a "coming soon" tooltip.
· kamo-internal
MeridianLink kwa Soko la Configure dialog
New MeridianLinkConfigDialog, modeled on the platform OAuth EditDialog, scoped to a single LeadMarket's connection via losConnectionApi (Phase 3 backend). Edits **************** plus a write-only client secret (blank keeps the stored ciphertext), with a Test Connection action and load-on-open via losConnectionApi.get.

Ulimwengu wako unasubiri.
Kuanza bure katika dakika. Ongeza bidhaa wakati wowote wewe ni tayari - hakuna uhamiaji, hakuna logins mpya.
Bure milele - hakuna kadi ya mkopo inahitajika