Wafanyakazi muuzaji-doc upload endpoint satisfies mahitaji ya tatu
POST **************** (LOS write): staff upload an appraisal/title/HOI/flood doc to the loan-level image store, then satisfy the loan's THIRD_PARTY requirement ...
Cascade condition waive/delete to document requirements
waiveCondition and deleteCondition now best-effort call MLOSDocService's suppress-for-condition after a successful waive/delete, so a waived condition's require...
Mahitaji ya mkopo wa Scope kwa chama chake
Mahitaji ya nyaraka / nyaraka zilizoingizwa zinasoma mamlaka ya chama chochote kwenye programu na Kila mmoja atimize wajibu wake, kwa hiyo, kwa mkopo wa pamoja,...
Notify borrower when they've submitted all documents (DOC_COMPLETE)
Notify borrower when a document is accepted (DOC_ACCEPTED, per-party routed)
Per-party vault authorization + per-party notification routing
Akaunti ya kuba ilikuwa na nyaraka kwa kila-PARTY (pamoja binadamu) lakini iliidhinishwa Upatikanaji kwa kila-ACCOUNT - kasoro mbili kubwa za kibinadamu kwa mko...
Borrower notifications close the collection loop
DocNotificationService sends transactional emails (established EmailTemplateServiceClient path, recipient = account primary member, portal link from org root do...
Mradi wa Bomba la Transaction wavunjika
TransactionSummaryDTO.loanUids carried LOAN-FILE uids, but the pipeline console keys rows on the APPLICATION uid — so grouping silently fell back to one row per...
Proactive checklist generation + pipeline doc summary
- Generate the scenario document checklist at APPLICATION_TAKEN (MortgagePipelineController transition hook) so it exists the moment a loan enters the pipelin...
Member-vault upload was broken (access_level NOT-NULL)
The account-level imaging path had never actually run (0 vault Imgs in prod): uploadDocument was passed accessLevel=null. Pass CONFIDENTIAL for borrower PII (ID...
Satisfy-across confused-deputy IDOR + account party self-heal
- HIGH: satisfy-across gated on the path partyId but fanned out over the DOCUMENT's own party downstream; verify the document belongs to the authorized party ...
Viungo vya kibinafsi kabla ya mahitaji ya utajiri
listDocumentRequirements calls ensurePartyLinks so requirement rows always carry an accountBorrowerPartyId (the borrower upload/satisfy target).
Kusafisha uso wa uso unaoungwa mkono na vault
- MlosDocClient: POST verbs (generate, satisfy, accept, reject, satisfy-across) + enriched loan/party reads over X-Internal-Auth. - MortgageAppController /{ui...
Transaction detail endpoint GET ****************
Returns one deal group's rolled-up summary + each member loan's AppMortgageSummaryDTO (drill-in for the per-transaction pipeline). Operator view or a party to t...
Default-product set failed — HQL bulk UPDATE disallows the vendor→org join
setDefault used a bulk 'update LeadVendorProduct ... where p.vendor.id in (subquery)' — Hibernate bulk updates reject the implicit association join, so the call...
P4 member document vault backend (reusable docs across loans)
- MemberDocumentService: upload a doc ONCE at AccountBorrowerParty scope → ImageService creates an Img in the auto-created imaging-member-vault bucket *******...
P3 default-product designation backend (single-active) + operator readiness
- **************** designates ONE LeadVendorProduct as the org's KamoMLOS portal auto-assign product; single-active (demotes any other, org-scoped, fail-close...
P2c leads-first portal backend
- MortgageVerticalResolver: kutatua org ya RESIDIAL MORTGAGE LeadMarket, MORTGAGE Soko la Biashara, lililochaguliwa la LeadVendorProduct, na POS POS POS POS POS...
P2a account-merge tool + P2b transaction backend
P2a — admin account merge (owner requirement A), gated by MERGE_ACCOUNTS: - AccountMergeService: reparents EVERY account_uid child via native UPDATE (bypasses J...
Borrower self-create = createBlank then stampOwnershipAndGet (two txs)
Sequence the borrower ownership stamp as a separate service call after createBlank commits, so the new borrower/declarations graph is flushed before the account...
Borrower self-service authorization (loan-party IDOR guard)
A borrower is a plain org Member with no operator LOS rights; they may act on the ONE application they are a party to — and only that one. Layered guard: operat...
Pre-app-taken borrower-journey endpoint for the operator pipeline
New GET **************** (LOS_VIEW_PIPELINE) returns per-DRAFT borrower-intake progress so pipeline stewards can watch a loan take shape while the borrower is s...
Vidhibiti vya kupoteza hukubali vikao vya kila siku *** (doc03 §0.1)
BaseLosController sasa anatatua kikao cha simu kupitia CallerSessionResolver (X-OTK-kuthibitishwa sifa ya kwanza - waendeshaji / BFF unchanged - kisha chama cha...
LOE-Core server-authoritative program scorer + /programs/scores (doc03 §9 Phase 2)
Ports the KamoMLOS client scorer (lib/los/scoring.ts) into SecurityService LOE-Core: LoeCoreScorer scores the org's effective program catalog (baseline deep-mer...
Mjumbe wa hali ya leseni API + upatikanaji wa leseni
Ongeza Udhibiti wa Leseni (GET / PUT / api / usalama / wanachama / {id} / Leseni ya serikali) iliyofunguliwa na STATE LICENSING * haki na upande wa seva ^ Tnn....
Ramani safu iliyoingizwa kwenye uwanja wa "chanzo" cha kuongoza
Ongeza "chanzo" cha kuwekaDirectFieldOnCreateRequest ili njia ya ramani 'chanzo' inaheshimiwa.
Channel applicability rules collection CRUD — completes §3.2 config
createChannelRule/update/delete on the D31 flat-collection spine (profile-level, org fail-closed, WORM change-log); controller /channel-rules GET/POST/PUT (dele...
Product enablement config — per-program single-active, effective-dated
**************** (program-scoped demote-then-insert) + reads; controller /product-enablements GET (active per program) / PUT (publish). Body carries programId, ...
Effective-dated profile policies — pricing/capital/servicing publish
New MlosPolicyWriteService (isolated; its own repos so the config-collection write- service is untouched): single-active demote-then-insert versioning on the sa...
InvestorConfig delivery + commitment rule sub-collections CRUD
**************** (+update/delete) on the D31 config spine (org fail-closed via the parent investor, WORM change-log per row); controller /investors/{id}/deliver...
InvestorConfig credit-box overlay sub-collection CRUD
**************** on the D31 config spine (org fail-closed via the parent investor, WORM change-log per row, configVersion defaults 1); controller /investors/{id...
ScenarioDiscoveryService — canonical profile genesis at loan-app create/update (D1)
MortgageAppController (re)produces the canonical BorrowerScenarioProfile via the new ScenarioDiscoveryService after **************** (best-effort, its own tx). ...
Single Ushirikiano kuandika uso — MortgageProviderConfig (D40)
Replaces the AUS-only write path with generic provider-connection CRUD keyed by VendorCategory+vendorKey: /provider-connections GET/POST/PUT, secret write-only ...
AUS-connection config write surface (D37) + single mortgage market per org (D38)
Huduma ya Mlonge [TD="width: 456"] [FONT=&](2)[/FONT][FONT=&]Bila kuathiri masharti ya kifungu kidogo (1) cha kifungu hiki, Upekee wa moja kwa moja, siri iliyoh...
Investor delegation write surface — per-program CRUD (D39)
Drop delegatedAuthority from the InvestorConfig write/view; add the InvestorDelegation sub-collection under /investors/{id}/delegations (GET/POST/ PUT, delete v...
[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...
[04] kipande E2 Hatari ya Jumla ya ukusanyaji CRUD (D31)
Hatari ya overlays (kifungu cha mkopo / geo-concentration / tabaka za kupunguza mfiduo kwenye sanduku la mkopo wa msingi) kama mkusanyiko wa config kwenye mgong...
[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...
[04] slice E2 licensing collection CRUD (D31)
Domain ya kwanza ya config (doc-04 §3.2 Kwa mfano, katika kesi nyingi, New id-keyed kuandika sura juu ya mgongo huo ukaguzi kama singletons: Kwa mfano, *** / up...
Correct the D28 auto-execute comment (override REPLACES config, not AND)
Review observation: the GET map javadoc said 'auto-execute = config AND override' but **************** is override-replaces-config. Comment-only; the GET faithf...
Lock the D28 stage-override write logic (legal-wall reject, delete+audit, rollback)
6 tests over the new MlosConfigWriteService methods: legal-wall stages rejected before any write; routine upsert bumps profileVersion + appends the WORM change-...
[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...
Rebuild kuchukua kundi la haki za masoko (shared-lib 4cfbf64)
RoleRightsSyncService self-heals the 6 new Marketing rights (ids 150-155) into all roles on boot; /roles/rights then serves the MARKETING group.
Assignable-members endpoint + work extension on member profile
wa wa wa wa wa wa wa wa wa wa wa wa (wangine - waambie) wajiteremshie uzuri nguo zao. Kwa kushuka kwa kazi ya kuongoza (jina + ugani wa kazi, sio barua pepe). -...
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 ...
Close residual cross-org existence oracles + cap WORM-bound JSON blobs
Adversarial-review findings MLOS-W-01/03/04: - the 404-normalized empty list envelope now echoes the request's identity keys **************** so unknown, fore...
Je, unaona nini kuhusu usafiri?
Kila kitu kinaingia kwenye tovuti yako mwenyewe. Anza kwenye mpango wa bure na usome ukurasa huu tena katika mwezi mmoja.
