Member tooltip shows last active datetime + time ago
Interaction Center member rows now show a two-line tooltip: availability status plus when the member was last active — 'Active now' while online, otherwise 'Las...
Durable last-seen timestamps + bulk endpoint
PRESENCE:{id} is deleted the moment a member goes offline, so nothing recorded when they were last active. Stamp PRESENCE_LAST_SEEN:{id} (orgId + ts, 400d TTL) ...
Borrower pricing-quote endpoint — party-gated, integration-config-gated
POST **************** caller must be a loan party (or pipeline steward); resolves the tenant's PRICING_PPE integration — NOT_CONFIGURED / EXTERNAL_VENDOR_PENDIN...
Integrations-status endpoint — the portal's honest view of the org's vendor wiring
GET **************** per-category **************** runtimeVendor from the market integrations config via the runtime resolver. Session-gated; no secrets.
The doc-04 vendor RUNTIME — MortgageProviderResolver + VendorTypeBridge
The integrations tab wrote MortgageProviderConfig rows nothing consumed at runtime. Resolver: (org, VendorCategory) → activation-gated, profile-scoped, first-en...
AI vision document extraction — docs → org's vision provider → VerifiedFact(OCR)
The first producer of VerifiedFactSource.OCR: POST **************** reads a vault document (bank **************** ID) with the ORG'S OWN configured vision provi...
Real verified-fact reconciliation — evidence facts now populate the URLA
Replaces the M3a log-only stub: asset.* facts (grouped per source document) become Asset rows and employment.* facts become Employment rows via BorrowerSectionS...
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...
Company NMLS ID field in org Company Info
Edit + read row + hydration + PUT (nmlsId). Feeds the borrower portal footer trust pill and the originator projection's company NMLS.
NmlsId is patchable — the company NMLS finally has a write path
Organization.nmlsId (SAFE Act identifier feeding the originator projection's originatorOrgNmlsId and the borrower portal's verified-license pill) was readable e...
Mortgage fields as 3 column panes on the Client Lead Data tab (reuse form via layout prop)
Add layout?: 'tabs' | 'panes' to MortgageFieldsComponent (default 'tabs', byte-identical to the existing Mortgage Workshop rendering). editControls, loanFields,...
Make What-If Studio its own pane below the form (drop the 4th tab)
Removes the "What-If Studio" sub-tab; the Scenario Sandbox now renders as its own pane below the Loan/Borrower/Subject Property form. Retitled "Scenario Sandbox...
Address-field layout + move agent block to Borrower tab + Payment above Eligibility
- Subject Property: Address + Address Details half-width side by side; City/State/Zip on one row (md 5/4/3, Zip narrowest). - Move buyer's-agent block (Repres...
Add sellerCredits field + @JsonIgnoreProperties tolerance on lead request DTOs
Mirrors renovationCost: entity column, 3 DTOs (CreateLeadRequest/ UpdateLeadRequest/LeadDTO MortgageFieldsDTO + LeadDTO builder), LeadService create/update pass...
Remove Cash-to-Close card; move buyer's-agent fields to Subject Property tab
Remove estimate/disclaimer footnotes from scenario cards
Drop the EstimatedNote component and its plumbing, and the AI-narrative verify-before-relying disclaimer, per owner request to stop showing estimate/disclaimer ...
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 ...
Inline red/yellow field markers + tab rollups; drop Profile Completeness pane
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-ca...
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 L...
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_COS...
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-...
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-e...
Add renovationCost + currentLoanType mortgage fields
Mirrors the isVeteran field (3f0cea1): entity column, 3 DTOs **************** MortgageFieldsDTO + LeadDTO builder), LeadService create/update passthrough, and L...
Sync isVeteran through MeridianLink LoXmlFieldMapper (id TODO-flagged)
Wires LeadClaimMortgage.isVeteran into the LO-XML round trip using the convention field id aBIsVeteran (matches the aB... borrower-attribute prefix of aBFirstNm...
Veteran-status field + map subject state/zip; enable VA eligibility; dedupe insights/completeness
Org-scope inbound LOS loan lookup + after-commit outbound push + inbound history audit
Honest DTI/payment labels for missing inputs (partial PITI, no-debts back-end, conventional-PMI MI)
Purpose-gate Eligibility Snapshot; hide unevaluable programs; merge HomeReady/Home Possible; sort UNKNOWN last
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-...
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...
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 rou...
Lead create/open LOS application endpoints + market-config MLOS fields
MLOS integration dropdown on market modal
Add a MLOS Integration dropdown **************** to the market Add/Edit modal, shown only for Service > Residential Mortgage markets, plus a Configure button be...
MeridianLink per-market Configure dialog
New MeridianLinkConfigDialog, modeled on the platform OAuth EditDialog, scoped to a single LeadMarket's connection via losConnectionApi (Phase 3 backend). Edits...
Active-filtered MarketLosConnection finder
Adds **************** so consumers can treat a soft-deleted (isActive=false) LOS connection as absent, mirroring SocialConnectionController's active-filtered re...
MeridianLink vendor client-id card on platform OAuth registry
Adds a MeridianLink Mortgage ProviderDef to the platform OAuth2 client registry **************** vendor client_id ("Vendor Client ID") + non-secret config.token...
Market LOS connection proxy + client
Phase 3 (Task 3.2) kamo-internal half: the Next.js proxy + typed client for a market's MeridianLink connection, backed by SecurityService's MarketLosConnectionC...
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...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
