KamoMLOS portal default-product designation in vendors-products (#11)
A star toggle on each product designates the org's single KamoMLOS portal auto-assign product (single-active). Gated via GET /lead-vendors/mlos-readiness: shown...
Account-merge admin UI (MERGE_ACCOUNTS)
AccountManager gains a Merge Accounts action (gated by **************** select exactly two customer accounts, pick the survivor, optionally keep the duplicate's...
Borrower-journey column + intake filter in the loan pipeline
The sub=pipeline datagrid (ApplicationsPipelineConsole) now shows pre-app-taken borrower-journey progress so org employees can review an application's status as...
State Based Licensing section on member my-profile
New SectionCard (NMLS ID + per-state licensed table with actively- providing checkbox and renewal/expiry dates, renewal<=expiry validated). Gated by ***********...
Remove Vendor Product ID from mappable fields
The vendor product is selected once at the run/template level (Configure step) and applied to every row; the backend importer already ignores a mapped vendorPro...
Add Source to the mappable lead fields
Lead 'source' is shown on the lead detail page but was missing from the import field list; add it (path 'source') now that the backend importer + CreateLeadRequ...
Policies tab — effective-dated pricing/capital/servicing config
New MortgagePoliciesTab: current active version + publish-new-version form + version history for each of the three effective-dated policies; configTypes/configA...
Investor delivery + commitment rule sub-editors
The expanded investor row gains Delivery (funding behavior / execution path / remittance) and Commitment (type / min pull-through % / pair-off) editors alongsid...
Drop light gray text; use dark gray-800 for labels/secondary
Medium grays (gray-500/600/700, #6b7280/#9ca3af) read as disabled. Push all secondary text and labels to gray-800 / #374151 across the detail page, shared Field...
Investor credit-box overlay sub-editor
MortgageInvestorsTab's expanded investor row gains an OverlayEditor (FICO/LTV/DTI/ reserves/doc/geo tightening + comparator + optional program + effective windo...
Right-attached full-height sub-nav + higher-contrast text
- Move the section sub-nav from the left to a right-attached, full-height panel that scrolls independently; the header + form content take the remaining width...
Governance proxy PUT/DELETE + per-org governor overrides UI (D4)
- Governance proxy now forwards PUT/DELETE (the platform-default save + per-org delete were unreachable — GET/POST-only proxy). Adds mlosDelete http helper. -...
Stop loan-pipeline grid flicker loop; full-width detail
- Loan pipeline datagrid: the grid was wrapped in a SectionCard 'fill' body (overflow:auto) around a height:100% AG Grid, causing a ResizeObserver/height fe...
Loan pipeline as Mortgage sub-tab + light theme
- Add ApplicationsPipelineConsole: a /leads-style advanced AG-Grid datagrid of mortgage applications at a loan level (status filter tabs, filter row, quick ...
Platform AI-Governor calibration config panel (D4 §5.C)
**************** Advanced tab gains a governor panel: edit the platform- default calibration posture (governor gate / force-steward-until-calibrated / min sampl...
Fire the accept-lead popup on becoming Available; drop the fire animation
The popup now triggers on the rising edge of (a credit lead is acceptable) AND (nav-top status is Available) — so it fires both when a lead is already waiting a...
Design for mortgage applications pipeline redesign + commerce integration
Single Integrations tab replaces AUS-only tab (D40)
MortgageIntegrationsTab: all 15 vendor categories (credit, AUS, eSign, closing- docs, title, flood, …) in one tab, each an expandable section with add/remove co...
AUS connections tab (D37) + block 2nd mortgage market (D38)
- MortgageAusConnectionsTab: org-scoped DU/LP/GUS credential config (one per kind); secret is a write-only password field, row shows only whether a credential...
Investor delegation sub-editor — per-program authority (D39)
Drop the delegated Switch/column; each investor row expands to a per-program delegation editor (program UUID, blank = investor-wide default; DELEGATED/ NON_DELE...
[04] risk-overlay tab — credit-box/geo/exposure layers (D31)
New MORTGAGE market config tab for per-tenant risk overlays: category (credit box / geo concentration / property type / loan amount / fraud / exposure limit) + ...
MORTGAGE investors tab (list/add/remove) — [04] slice E2 (D31)
The 7th MORTGAGE config tab: per-investor **************** authority rows with an approval-status chip. Add via an inline row (code + status + optional ********...
Unified social timeline UI at /marketing/social
Live, animated cross-provider feed reusing the clubhouse feed style: virtualized timeline, provider filter chips, SocialPostCard (capability-gated reply/react/d...
MORTGAGE licensing tab (list/add/remove) — [04] slice E2 (D31)
The 6th MORTGAGE config tab: NMLS/state/agency/investor licensing entries with effective/expiry dates and a server-computed effective-today chip (status is neve...
Honest return type for updateStageOverride (raw row, not StageAutonomyView)
Review observation: the PUT returns the raw stored override entity, not a StageAutonomyView (the effective/floor recompute is GET-only). Typed Promise<unknown> ...
Per-stage autonomy override table on the ai-autonomy tab (D28)
The doc-04 §4.2/§4.5 per-stage map under the AiAutonomy singleton: every lifecycle stage with its platform wall classification (legal-wall chip / non-tunable fl...
Type TrialStatus ids as string to match Long-as-string serialization
BillingService now serializes Long as a JSON string (org/member ids are CockroachDB unique_rowid() > JS MAX_SAFE_INTEGER). Align TrialStatus.organizationId and ...
Marketing Tools module + nav rework
- /marketing module with account-style hero header + rights-gated route tabs: Overview, Social Media (/social), Materials (/materials), Referral Codes (/dis...
Hot Reassign — always post the required call note; keep current assignee selectable
Review follow-ups: (1) drop the comment-dedup ref that could silently skip the required note on a later attempt (or an edited retry) after a failed mark — alway...
Hot Reassign — front-desk live call-transfer flow
Adds a Hot Reassign action to the lead-view Assignment card (front-desk staff on live calls): an explainer + required call-note dialog, then release the lead in...
Provider brand icons in the connection provider dropdown + datagrid (shared with the chat popup via getProviderMeta)
Add X (Twitter) + Discord to connection providers + provider logos; X card in platform OAuth registrations
Doc-04 MORTGAGE config tabs — 5 domain singletons
business-model / authority / capital-markets / servicing / ai-autonomy GET+PUT via /api/security/mlos/config; mlosPut + parseWriteError surface the §4b.1 cross-...
Apply adversarial-review findings on the steward write composers
- a11y: WAI-ARIA arrow-key radio pattern (shared onRadioKey helper) for the verdict + run-purpose segmented controls (they were keyboard traps); focus retur...
Steward WRITE composers — record verdict, publish pull-through policy, run pricing
The three write paths the consoles surfaced as coming-soon, live end-to-end: - StewardFeedbackComposer in the decision-trail drawer: CONFIRM/MODIFY/OVERRIDE s...
FFA quick-toggle on /leads/available + live sync; hide available count
- /leads/available: manager-only icon button (Public/PublicOff) next to Inject Test Lead to toggle a vendor/product's free-for-all mode, with a lightweight co...
Meta OAuth Connect button + 24h window composer state + fix double-Tooltip
- SocialConnectionsManager: wire the Connect button (creates OAuth draft, hands off to MediaService Meta OAuth start), surface the OAuth redirect result, hide...
Governance console — steward-feedback flywheel + pull-through policy
Fifth and final MORTGAGE steward screen, read-path B. Signature Steward-Feedback Flywheel (AI decides → steward corrects → becomes truth → model recalibrates), ...
Steward section tone constants + section simplification
(Uncommitted MLOS steward work present on the shared dev mount, committed to keep the tree clean; compiles cleanly. Not part of the lead-alert change.)
Don't fire the new-lead popup on refresh / when not Available
myStatus from AvailabilityContext defaults to 'AVAILABLE' until two async fetches (/user-info then /members/me/availability) resolve, so on a browser refresh th...
Single-market orgs adopt the market's title/description in nav + pipeline header
When an org has exactly one configured commerce market, the Commerce nav item uses that market's TITLE and the /commerce pipeline header uses the market's TITLE...
Documents steward screen — condition clearance matrix + eClose drive-loop
Third MORTGAGE steward screen, read-path B. Signature Condition Clearance Matrix renders the doc-system 1-obligation/N-satisfier model: each locked LoanConditio...
Pricing Review steward screen (rate ladder + LLPA waterfall), live
Third steward tab, on the shipped MLOSPricingService reads via the new SecurityService proxy (+ the new org-scoped runs read). Org run inventory with a run sele...
Archive-not-delete markets, market-only pipeline, drag reorder
Settings › Engagement Types: - Archive markets (type "ARCHIVE" to confirm) instead of deleting; Active/Archived sub-tabs; restore from Archived. Market detail...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.