[AUS] AusConnectionConfig entity — per-org per-market DU/LP/GUS connections
Owner directive #6: each org configures its own AUS vendor APIs (Fannie DU / Freddie LP / USDA GUS) per mortgage market, in settings→commerce. Foundational data...
[ImageAssocType] append LOAN — images attach to a loan, doc type required
Owner directive: images can be attached directly to a mortgage loan, always with a relevant doc type. Append LOAN to ImageAssocType (id 11, bucket imaging-loans...
[sign-convention] money sign-convention validators + Adjustment model
Per the owner's canonical rules. Core domain money never encodes meaning in a sign: - **************** / requirePositive — assets, receivables, liabilities, p...
[§5.A] canonical BorrowerScenarioProfile + ProductDiscoveryGate
Per the owner's §5.A directive: ScenarioSupportPolicy must consume a canonical Borrower Scenario Profile generated from normalized URLA data, never raw forms/UI...
[12] §5.A ScenarioSupportPolicy deferral-interlock resolver (D36)
doc 12 line 235 P0 — 'the cheapest highest-leverage lifecycle addition'. A legal-wall at product-discovery that keeps **************** from silently running as ...
[08] ReconciledFactPublisher — los.pipeline.fact publish seam (D34)
doc 08 §3.3: the locked **************** must not gain a NATS publisher (that edits donotmodify). Add a non-locked ReconciledFactPublisher wrapper that reconcil...
[12] §5.C AutonomyGovernor — kill-switch + force-steward-until-calibrated (D32)
The DecisionGate already carries a GLOBAL static force-steward @Value, but §5.C needs two things it cannot give: a kill switch flippable WITHOUT redeploy (so DB...
[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) + ...
[04] slice E2 RiskOverlay collection CRUD (D31)
Risk overlays (credit-box / geo-concentration / exposure-limit layers on the base credit box) as a config collection on the D31 spine: create defaults configVer...
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...
Unified timeline backend (feed persistence, adapters, live relay)
SocialFeedService persists posts/comments onto the MediaSession/MediaObj schema (reusing the chat model); SocialFeedMapper builds the wire DTOs; SocialTimelineC...
Unified timeline SPI + entities on the media schema
Reuse MediaSession/MediaObj to hold social posts & replies (post=MediaObj, comment=child MediaObj via MediaObjMsg.parent, provider linkage on MediaObjSocialRef)...
[04] slice E2 InvestorConfig collection CRUD (D31)
The second collection config domain (doc-04 §3.2 InvestorConfig) — per-investor approval/delivery/authority that feeds capital-markets execution. Reuses the Uni...
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...
[04] slice E2 licensing collection CRUD (D31)
The first COLLECTION config domain (doc-04 §3.2 LicensingEntry, many-per-profile) — a new id-keyed write shape on the same audit spine as the singletons: - ****...
IDENTIFIER_REGISTERED event type (mlos.identifier.registered)
The initial-registration counterpart to IDENTIFIER_SUPERSEDED — the durable signal downstream mirrors / global-resolution caches consume when a native identifie...
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...
[04] pass-2 AutonomyStageOverride CRUD + per-stage autonomy map (D28)
The per-stage autonomy surface the config vertical deferred until StageWallRegistry existed (its deferral note is now satisfied): - **************** upsert per...
[03] MLOS read-side consumers - decision.routed steward fan-out + task.resolved seam (D26/D27)
The doc-03 read-router folded into the fleet's MLOS-consumer host (the only Recreate-strategy deployment - durable rebinds die under RollingUpdate), per the doc...
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...
Marketing rights group — ServiceType.MARKETING + 6 rights (ids 150-155)
VIEW_MARKETING, VIEW_SOCIAL_MEDIA, MANAGE_SOCIAL_MEDIA, VIEW_MATERIALS, VIEW_REFERRAL_CODES, MANAGE_REFERRAL_CODES. MARKETING is a rights-grouping module (enabl...
AUS compliance event types - downgrade.forced, waiver.recorded, validation.recorded
The [10] compliance-validator unit's durable signals (D22/D24): the FHA TOTAL forced-downgrade decision-of-record, and the append-only waiver/data-validation li...
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...
Assignable-members endpoint + work extension on member profile
- GET **************** (VIEW_LEADS holders ∪ grant-all) → {id,name,extension} for the lead-view assignment dropdown (name + work extension, not email). - GET ...
Provider brand icons in the connection provider dropdown + datagrid (shared with the chat popup via getProviderMeta)
X (Twitter) + Discord adapters
- XAdapter: Account Activity webhook (CRC challenge + x-twitter-webhooks-signature HMAC verify), normalizeInbound (direct_message_events, echo-skip), OAuth 1....
Add X (Twitter) + Discord to connection providers + provider logos; X card in platform OAuth registrations
Forward x-twitter-webhooks-signature on the social webhook edge (X/Twitter Account Activity)
Add X(4)/DISCORD(5) provider enums + X(6) platform OAuth provider + active-by-provider repo lookup (no schema; provider_type_id is a plain Integer)
Lock-lifecycle outbox event type + BusinessDayCalendar promoted to mlos.compliance
- **************** (mlos.pricing.lock.lifecycle): one event type for the whole post-lock lifecycle; the specific MlosLockEventType rides in the payload. The...
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-...
Doc-07 SMS template system — /api/voip/sms/templates + GSM-7/UCS-2 segment guard
**************** over the shared-lib SmsTemplate entities: renders {{var}} and sends via the EXISTING BulkTextProvider primitive (no second carrier path); SmsSe...
Doc-04 tenant-config layer — self-heal + activation summary + 5 domain GET/PUTs
mlos.config.enabled + com.kamo.z.shared.mlos.config in @EnableJpaRepositories. MlosConfigSelfHealRunner: default LenderProfile + 5 domain singletons per active ...
Config/activation layer + decision-gate hardening + DecisionSpine provenance + SMS template entities
- [04] mlos.config: **************** enums + BusinessModelConfig/ **************** entities+repos + ScreenState/ModuleState/ ModuleKey/StewardQueueKey + Act...
OAuth2 client registrations CRUD (platform-admin gated, encrypted-at-rest, secrets never leaked) + platform-enc-key env
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...
PlatformOAuthClientResolver (read+decrypt registry) + PlatformOAuthSeeder (idempotent boot seed from env) + ResolvedOAuthClient
PlatformOAuthClient registry entity + repo + PlatformSecretCipher + provider enum
Platform-level OAuth2 verified-app registrations **************** encrypted at rest via PlatformSecretCipher (AES-256-GCM, platform.enc-key). Standalone entity;...
Steward WRITE proxies — record feedback, publish pull-through policy, trigger pricing run
Write discipline, applied identically on all three POSTs: - downstream body built server-side from a WHITELIST of browser fields; - organizationId + actor membe...
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...
Live FFA toggle — quick endpoint + broadcast on product updates
- PATCH **************** (MANAGE_CREDITS): toggle a product's free-for-all flag from the Leads-Available shortcut; publishes vendor-product + availability. - ...
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...
Warn when a social connection lacks vendorProduct/market (lead created but not pooled)
M4 Meta adapters + OAuth + 24h window + M2 hardening
- Meta adapters (Messenger/Instagram): fix invalid _caption send (caption now a follow-up message), bytes-upload via Graph Attachment Upload API, URI encode f...
SecurityService read-proxy for MLOS Governance
One controller/client pair fronting MLOSGovernanceService's five reads (both its steward-feedback and pull-through-policy modules share /api/governance). organi...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.