MeetingRecording entity + repository for captured recordings
New MEETING_RECORDINGS table (org, meeting ref, room, MinIO bucket/object key, size, duration, captured/expiry timestamps, summary status) — the parent record f...
Hali ya sehemu PATCH haiwezi kufuta kimya bendera ya kuzuia; template kuzuia default kuheshimiwa; kuchapisha baada ya kufanya
[TD="width: 456"] a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a ...
Canva integration + Marketing as an org-enableable app
- **************** — platform Canva Connect client registration - ImageAssocType.MATERIALS(13, imaging-materials) — org marketing assets bucket - **************...
Reject negative loan amount / property values on section saves
updateLoan and updateProperty now reject a negative monetary amount on the LTV inputs (loan amount, estimated/purchase/appraised value) via requireNonNegative —...
Loan-file status accessor for borrower edit-lock, borrower-delete cascade, gift-recipient app scoping
**************** orgId): read helper backing the borrower post-submission edit lock (a borrower may only edit the URLA while the file is DRAFT). **************...
Idempotent borrower self-create draft + deterministic active lead-market resolution
**************** memberId): resolves the member's existing in-progress DRAFT application so a repeated borrower self-create (double-click / reload / second tab ...
Maswali ya ukurasa kwa msaada + vikao vya mazungumzo ya kijamii
feed so the unified Interaction Center Chats list can include all kinds: - SUPPORT (TYPE_ID=2): sessions where the member is the assigned agent OR the request...
Kuongeza LeadCallback chombo, hali enum, na kuhifadhi
Backs the lead-view callback feature: a lead-owned callback record (PENDING/CONTACTED/CANCELED) keyed off leadUid, with a soft reference to the mirrored EmailSe...
DbNow (kwa sasa) kutumia CAST (kama timestamp), si sasa (:timestamp)
:::timestamp shorthand ni mangled na Hibernate ya asili-query parser (inasomeka) a a a a a a a a a a a a a a a a a a a a a a a a a a a...
Resolve member rights as a true waterfall instead of NUKE-always-wins
Effective rights were computed by folding every source (roles, department, job title, member) into one map where NUKE always won. That meant a member holding bo...
Lead contact-info privacy rights + lean list DTO
Add three CRM rights (161-163): "Assigned To Others: View/Edit Lead Contact Info" and "View Unassigned Leads". Add LeadListDTO — a lean projection for the /lead...
DbNow() cast now()->::timestamp (TIMESTAMPTZ->Instant broke LocalDateTime)
SELECT now() returns TIMESTAMPTZ, which Hibernate materializes as java.time.Instant and cannot cast to the declared LocalDateTime return type — throwing ClassCa...
Correct inverted parent-shared topic query
The child-org topic query filtered on assignToOwnOrg=TRUE (own-org-only) when it should return topics SHARED with child orgs (assignToOwnOrg=FALSE). Rename the ...
SecurityProvider membership mirror + reuse/patch groundwork
- **************** userId): mirror a user into the org's securityProvider org as a base Member (deduped; no-op when the org secures itself or the user is al...
Resolve org-by-domain with a deepest-label alias fallback
Add **************** exact domain match, then drop the deepest label once (register.optionone.com -> optionone.com) so a per-org register/branding subdomain res...
Chombo cha LeadTask kwa majukumu ya kufuatilia
Backs the /leads/view Tasks tab (previously a frontend-only stub with no persistence). LeadTask (table LEAD_TASK) mirrors the frontend TaskItem shape **********...
Real-time NATS publishing + per-pane edit-lock entity
Publish org-scoped lead events on security.leads.rt.{orgId} (created/updated/ deleted with changed-field keys, history-appended) so the /leads grid and /leads/v...
CreatePair is idempotent for the primary pair (stops duplicate BorrowerPairs)
createPair's sole caller is the wizard's 'ensure primary borrower', but it unconditionally inserted a new pair every call, so a concurrent autosave + explicit S...
Index (borrower_uid, organization_id) for vault cross-loan reuse query
PublishRouted so los.pipeline.* events land in LOS_PIPELINE, not rejected
NatsMessageService.publish() pins expectedStream=CHAT_MESSAGES; a los.pipeline.* subject is owned only by the LOS_PIPELINE stream, so the server rejected every ...
FindByStatus finder (freshness sweep enumerates ACCEPTED requirements)
DOC_COMPLETE canonical template (borrower has submitted every requested document)
DOC_ACCEPTED canonical template (borrower confirmation a submitted doc cleared)
Centralize §4.5 supersession-collapse (RequirementSupersession)
The freshness engine leaves a STALE_EXPIRED predecessor beside its fresh successor under one **************** Only the read path (ConditionClearabilityComputer)...
Gate intake @Component beans behind mlos.intake.enabled (opt-in)
BorrowerScenarioProfileService and ProductDiscoveryGate are shared-lib @Component/@Service beans that inject **************** / mlos.config repos. With blanket ...
DOC_REQUEST + DOC_REJECTED canonical templates
Borrower document-collection emails (transactional, CAN-SPAM-exempt): a request nudge when the checklist is minted, and a return-for-reupload notice. Added to C...
**************** (the doc-requirement key)
Surfaces the backing LoanFile.uid so the pipeline can map an app row to its document requirements.
Stop party fragmentation — enrich the stamped party in place
Live E2E showed a single loan producing 4 parties for 2 humans (an empty placeholder was created at borrower-create before identity, then a 2nd party at identit...
Party-link cross-human leak + account-level backfill
Adversarial-review fixes: - HIGH: drop the memberId dedup that conflated the loan's isPrimary borrower with the account OWNER — a member self-creating a loan ...
**************** self-heal
Idempotent re-link of every borrower on a loan to its account-party, callable from the document surfaces so an upload can always resolve the borrower's vault pa...
Account-borrower-party link service + vault finders
****** kupata-au-kuunda akaunti reusable chama (document-vault-mfuko wa kibinadamu) kwa kila mwombaji wa mkopo; dedup ssn4 +dob, Nyingine ya msingi →account.pri...
Msingi wa chombo cha P1 - risasi ya kwanza / akaunti-centric / refactored
Picha zote na Wizara ya Mambo ya Ndani ya Nchi. ... « Wafanyabiashara wa Wafanyabiashara wa Wafanyabiashara wa Wafanyabiashara wa Wafanyabiashara + LoanTransact...
CreateBlank must persist the app graph before bootstrapBorrower
bootstrapBorrower seeds a Declarations/HMDA shell whose NOT-NULL borrower FK requires the Borrower to be persistent; createBlank called it BEFORE the cascading ...
Stamp borrower ownership in a separate tx (avoid transient-graph cascade)
createBlankOwnedByMember re-saved the app graph in the same tx as createBlank, before the borrower/declarations rows were flushed → TransientPropertyValueExcept...
Borrower loan-party ownership on AppMortgageService
Adds the ownership primitives for borrower self-service (a borrower is a plain org Member with no operator LOS rights): - createBlankOwnedByMember(orgId, member...
Real deep-merge for org program-ruleset overrides (doc03 §9 Phase 0)
Replaces the M2 last-write-wins mergeOverlay placeholder (which silently discarded the authoritative baseline on any org override) with a recursive JSON deep-me...
MlosExtractedCandidate staging entity for the ingestion pipeline (D48)
The terminal per-field output of MLOSIngestionService's parser: a staged, reviewable extraction candidate (segment/source-doc FK, targetEntity, fieldPath, cellR...
Isolated best-effort profile write-back for legal-wall paths (D47)
kuunganishaFactsBestEffort anaendesha utajiri kuandika-nyuma katika shughuli zake mwenyewe (REQUIRES NEW) Kwa hivyo kushindwa hakuwezi kurudisha shughuli ya mpi...
State-based member licensing + lead-acceptance gate
Reuse mlos.legal StewardLicense as the single per-member/per-state NMLS registry (add activelyProvidingBusiness). Add member-level Member.nmlsId. Add General-Pe...
Ongeza uwanja wa "chanzo" wa CreateLeadRequest + unaendelea katika kuundaLead
The Lead has a free-text `source` (shown/edited on the lead detail page) but it was not importable — CreateLeadRequest had no source field, so createLead never ...
Add ScenarioProfileSource.PRICING for scenario-writer FICO/ratio write-back (D45)
Canonical scenario-fact spine — genesis deriver + factsJson populate + write-back + overlay matcher (D45)
D1/D45 broadens BorrowerScenarioProfile consumption. Populates the dormant factsJson and makes it the shared source of truth for borrower/loan facts: - Scenari...
ProductEnablement implements VersionedProfilePolicy (per-program versioning)
VersionedProfilePolicy interface kwa sera za ufanisi
Pricing/Capital/ServicingPolicy implement it so one publish routine drives the single-active demote-then-insert versioning.
LOAN doc-type guard (D2), sign-convention adapter (D3), per-org governor config (D4)
- ImageService: require a docType for ImageAssocType.LOAN uploads (LOAN-scoped; ACCOUNT/SERVICE_* unchanged). - SignedAdjustmentAdapter: the rule-7 adapter/co...
Generic MortgageProviderConfig inachukua nafasi ya AUS-only config (D40)
One integration-credential store keyed by VendorCategory+vendorKey (credit, AUS, eSign, closing-docs, title, flood, …) behind a single Integrations tab — the Mo...
@JsonIgnore AUS SecretCiphertext kwa hivyo haivutii kwenye snapshot ya ukaguzi (D37)
Per-program investor delegation (D39) — new InvestorDelegation child
Delegation is granular per (investor, program), not a coarse InvestorConfig boolean. Adds DelegationAuthority {DELEGATED, NON_DELEGATED}, the InvestorDelegation...
[AUS] AusConnectionConfig chombo - kwa-org kwa kila soko DU / GUS uhusiano
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...
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.