Domenii complete de configurare faza-1 + MlosActivationService (Slice 5)
Completează inventarul entităţii de configurare a doctorului 04 - Policy singletons (one-active-per-profil, efectiv-datate/apendice): PreţuriPolitice (ppeSourc...
Motor de imobilizare a canalelor (Pasa-1 Slice 4)
Rezolvatorul cel mai determinist (doc 04 §8) Investitor - > Traducerea şi adaptarea: - Channel ApplicabilityRegulaent: *************** StareExprimare (JSONB S...
AutoritateaConfig (autoritate de subscriere + delegații guvernamentale)
- AuthorityConfig (singleton per LenderProfile): AccountAuthority DELEGATE/NON DELEGATE/HYBRID + manualUwAllowed + govtSet delegation Traducerea şi adaptarea: M...
Configuraţie de autonomie AI + soluţionare de podea de siguranţă (Pasa-1 Slice 2)
- AiAutonomyConfig (singleton per LenderProfile; autonomieLevel Eliberează-te. AutoExcuteEnabled) + AutonomyStageOverride (per (profil, etapă); StageRefolosiri ...
LenderProfile + LicensingEntry confiction fundation (Pasa-1 Slice 1)
Noua fundație com.kamo.z.shared.mlos.config chiriaș-config (doc 04 §3): - LenderProfile (root, UNIQUE per MORTGAGE marketId) Organization (Long) + CommerceMark...
***************** pentru Daemonservice SLA matura
Flips fiecare ARMED-but-trecut-deadline AdverseActionTimer + RegXTimer to EXPIRED (semnalul de escaladare durabilă a suprafeţelor ecranului de conformare; eveni...
Atribuire conştientă a licenţei de sârmă în Decizia de punere în aplicare (Slice 2b-ii)
HotărîreSpine.record() acum timbre StewardTask.atribuitMEMBRU StewardAsigner atunci când o decizie rutată poartă competența împrumutului: - DeciziaRequest câșt...
StewardAssigner autorizat (decision-spine Slice 2b-ii)
Adaugă selectorul de administrator de licență conștient (doc 03 §3.2; doc 01 §6 #9) administrator al cărui MLOS StewardLicense este valabil astăzi pentru licenț...
Substrat de timer ECOA + Reg X (Decizie-spine Slice 2c-i)
Noul pachet ************* (doc 03 §2.8) analogii cronometrului de conformitate ai sistemului blocat nu se modifică. TridTimer. Substrat: - AdverseActionTimer (...
Substrat de registru juridic conştient de stat (decizii-spinie Slice 2b)
Noul com.kamo.z.shared.mlos.juridic pachet Aportul absolut de pe peretele legal al DecizieiGate (doc 03 §3.2) Substrat-mai întâi, nu încă: - LicensedActRegist...
Declararea indicilor Slice-2a prin @Tabelul(indexe) privind entitățile
Mută definițiile indicelui mlos orchestration state și mlos steward task de la SchemaCleanupRunner KamoInitializer pe entitățile în sine (@Tabel(indexes=@Index(...
Decision-spine Slice 2a
Stat de orchestrare (GREEN/BLOCKED/COMPLETE) + StewardTask (cu excepția înregistrării) + enums + DecisionSpine (@ConditionalOnProperty mlos.spine.enabled): comp...
Adaugă tasta VENDOR CALLBACK RESOLVED tip eveniment (0,6a pătrundere)
Substrat de registru de împrumut Identificator
Nou pkg com.kamo.z.shared.mlos.identity (cheia de rutare în bandă largă): LoanIdentifierType (42 de ID-uri de primă clasă, fiecare care transportă Cardinalitate...
PublishAck este în io.nats.client.api, nu io.nats.client
Fixare de import numai de testare, care a fost ruperea compilație comun-lib (prinse de instalarea MVN locale acum necesare). Codul principal nu a fost afectat (...
StewardFeedback flywheel
Pkg nou ********************* se completează numai pe rândul StewardFeedback (FK ai decision.uid; verdict CONFIRM/OVERRIDE/MODIFY; Reg-B-aliniat motivCode; corr...
Imutable AiDecizie Logger WORM + două-perete de decizieGate (cheie 0,3, felie 1)
Noi pkg com.kamo.z.shared.mlos.decision (verdefield three thine, never edits donotmodify): imuabil apendice-numai Aidecizie (WORM via @PreUpdate guard; împrumut...
Poarta de închiriere pentru coloana vertebrală a evenimentului (Slice 3)
Foaia de parcurs 0.10: ******************* (cusătura de abonament pertenent) + aparține lui Tenant (subiect,orgId) care se potrivește în mod logic cu filtrarea ...
Idempotență pentru consumatori, DLQ + reluare pentru administrator (Slice 2)
Adaugă nucleul de fiabilitate pe care orice consumator MLOS îl conectează în: ProcesedEvent dedup Ledger (unique consumer name+event id) + MlosDeadLetter DLQ + ...
Tranzactional outbox eveniment coloana vertebrală (Phase-0 cheie B)
Traseul producatorului de bani/conformitate in New brother pkg ************* (never edits donotmodify): MlosEventEnvelope DTO + MlosOutboxEvent outbox entity/re...
Adaugă caz insensibil găsiByEmailIgnoreCase
E-mailurile sunt stocate cu un caz inconsecvent (de exemplu Sage@KamoCRM.com) și CockroachDB egalitate șir este caz sensibil, așa că găsițiByEmail ratează Doar ...
Modificări pentru a adăuga suport de parolă de schimbare la profilurile de cont
Adaugă access KAMOWORLD dreapta (145, Jocuri) pentru acces KamoUniverse
Șabloane canonice pentru semnalizarea electronică (verificare + invitație)
Adăugați două șabloane canonice de e-mail la nivel de platformă însămânțate leneș per org: - esign.signer verification (step-up OTP: {{cod}}, {{numele}}) - esig...
API SIGNATURE api-cheie + EsignGenericEnvelope.origin
Aditiv, nici o versiune cucui: - ApiKeyScope.API SIGATURE - EsignGenericEnvelope.origin (EsignUsageOrigin, nullable) plicul a fost creat prin intermediul API ...
Organizația Explicit.isPlatformProdus ca semnal right-root
Înlocuirea "proprietății unei piețe de SUBSCRIPTION" euristică derivată cu un explicit; pavilion de proprietate admin-set. Un produs de platformă (de exemplu, s...
Rădăcina produsului = deține piața SUBSCRIPTION, nu orice piață
O org client (de exemplu, BluEleven) deține propriile sale piețe de afaceri (RETAIL/MORTGAGE) pentru a rula compania sa în timp ce rămâne un client al platforme...
Rezolvarea drepturilor în funcție de orgul de rădăcină de produs, nu de platforma de nivel superior
IntroduceredreptateRezolvator: cel mai apropiat stramos de piata a unei org (rădăcina sa de produs), care revine la nivelul superior al platformei. Asta decuple...
Adăugați destinatarul pachetului, valoarea câmpului, entitățile cu statut de destinatar
Verificați în modelul in-progress esign: EsignEnvelopeRecipient (+repo), EsignFieldValue (+repo), EsignRecipientStatus și o actualizare ESignSignerType. Aditiv;...
Adaugă EsignUsageRecord pentru contorizarea utilizării pe semnătură
O nouă entitate de utilizare numai pe bază de apendice (oglindă AiUsageRecord) emisă la semnătură Completare. Numai semnăturile de origine API se bazează pe un ...
Redenumește împrumutRepository → PersonalLoanRepository
Spring Data JPA derivă numele de fasole depozit din interfața lui nume simplu de clasă, nu de la @Repository(" ...") valoare de calificare, astfel încât nu a pr...
Evitați coliziunea împrumut/împrumut cu aplicația ipotecară
KamoInitializerService nu a reusit sa porneasca deoarece doua clase @Entity numite "Loan" și două clase de depozit numite "LoanRepository" ambele au vrut să înr...
Codul de identificare a împrumutului (IRS 1099-C caseta 6) + căutarea auditului
- New LoanChargeOffReasonCode enum (A BANKRUPTY..H Other) per IRC §6050P - Coloana "Imprumut.chargeOffReasonCode" - ********************************************...
Nu-ţi face griji
Folosit de *************** pentru a reactiva un dispozitiv existent PAVIZAT plan în loc de a crea un rând duplicat care orfani cel oprit.
Interogări de repo paginate + conteByStatus pentru căi calde
- LoanRepository: countbyStatus / countByOrganization AndStatus + Pagina <Loan> findByStatus(...) / - Nu. - Nu. *************** pentru numerotarea rezistentă la...
LoanOrgStripeConnect + Loan tax/accrual fields + hot indexs
- New LoanOrgStripeConnect entity (one-per-org, holds stripeConnectedAccountId + Conectare la bordul navei) + depozit - Împrumut: stripeClientId (creat sub cont...
Împrumut.angajament Uid → Long + originalOrderUid
Logodna extinde bazaEntity (PK lung) astfel încât angajamentul Uid trebuie să fie lung, nu UUID model de "Lungă logodnăUid." Angajamentul rămâne UUID (BaseUuid...
Adaugă personal LOANS tip comerț + pachet entitate
- TradeType.PERSONAL LOANS + paralel EngagementType + vocabular - BuiltinVendorCategories intrări pentru furnizorii de credit personal - 15 entităţi personale î...
Bootstrap program ipotecar oferte pe piață crea + boot backfill
Atunci când utilizatorul creează un comerțMarket cu comerțType=MORTAGE Markets & Fields settings tab pentru suprafeţele comerciale din aval să indice intenţii...
Per-org activeaza/dezactiveaza + depreciaza calea ipotecara exclusiv comerciala
- *************** upsertează un rând OrgProgramOverride cu recordState.isactiv=dorit; listaForOrg acum ȘI e programul de bază Steagul activ cu suprascrierea, de...
Poloneză
- *************** vindecă AppMortgages prelucrând cablurile; apelat de la SecurityService DataLoader. - AppMortgageService.delete anulează logodna+intenta in lo...
Ipotecare URLA sârmă în angajament/Intenție/Commitment
Numerar este una verticală a sistemului comercial servicii, abonamente şi achiziţii. Acest lucru fire ipotecă URLA- fidelitate stiva la domeniul-agnostic comer...
Adaugă entități și depozite Binder/BinderShare
Adaugă stratul de persistență pentru noua caracteristică doc-manager Organizator: - Binder (Id lung, membru proprietar, org-scoped, isTemplate, modificator la n...
Add borrower-facing brand + disclosure fields to Organization
Seven new nullable columns powering the lender-branded surfaces in kamo-los's borrower app: - TAGLINE — marketing line shown on the brand-intro spl...
Conexiune + verificat Fundament de fapt pentru conect-prima captura
Adaugă fundația de suport M3a pentru conexiunile vânzătorilor și de proveniență fapte verificate. Cabluri SDK reale (Plaid, Persona); ATTOM, birouri de credit) ...
Repositoare, DTO-uri, ProgramService (un catalog numai pentru citire cu unificare de straturi naive)
Drop duplicat IS ACTIVE coloană; se bazează pe EmbRecordState.isActive
Adaugă coloana de creditareModel (additive; nul = implicit BROKER la nivelul aplicației)
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.