Direkt zum Inhalt
KAMOUniverse

Changelog

Was ist neu?

Jede Verbesserung an der Plattform, wie sie geliefert wird.

  1. · SecurityService

    P4-Mitglied Dokument Gewölbe Backend (reverwendbare Docs über Darlehen)

    - MemberDocumentService: Hochladen Sie eine doc ONCE bei AccountBorrowerParty scope - ImageService erstellt einen Img in der auto-created Imaging-member-vault Eimer ************ hathes berechnete Serverseite) + MemberDocument Katalogreihe; Liste nach Partei/Konto. Fail-closeed loan-Party-Wächter (isMemberPartyToPartyAccount). - MemberDocumentController /api/security/member-documents (POST Upload Multipart, GET-Liste): Betreiber verwalten alle Der Tresor der Partei (LOS_VIEW_PIPELINE); ein Kreditnehmer nur die Parteien ihres eigenen Kontos. Das Gewölbe Img ist der Wiederverwendungsanker RequirementSatisfier(imgId) weist darauf hin, um die Anforderungen pro Kreditüberprüfung zu erfüllen. viele Darlehen (befriedigende Verkabelung ist die nächste Scheibe). Compils clean; keine Schemaänderung (P1-Einheiten).

  2. · kamo-internal

    Per-Transaktion-Pipeline - Liste pro Deal, nicht pro Darlehen (Eigentümer req)

    ApplicationsPipelineConsole listet jetzt EINE Zeile pro DarlehenTransaktion auf (es ist repräsentatives Darlehen + alle noch nicht gruppierten Altdarlehen), mit einer angehefteten 'Deal / Status'-Spalte, die die abgeleiteten Gruppenstatus-Chip, ein N-Darlehen-Chip für Multi-Darlehen-Deals und eine verweigerte Ausnahme-Flagge. Fetches ************ (+ TransactionSummaryDTO Typ) und schließt sich den Leihzeilen an. Buckets/filters/Reisen basiert auf den transaktionsrepräsentativen Reihen.

  3. · kamo-internal

    KamoMLOS Portal Standard-Produktbezeichnung in Anbieter-Produkten (#11)

    Ein Star-Träger auf jedes Produkt bezeichnet das einzige KamoMLOS Portal Auto-Assign-Produkt der Org (einfach-aktiv). Gated via GET /lead-vendors/mlos-Readiness: nur angezeigt, wenn der bearbeitete Markt IST der Wohn-Hypotheken-Leadermarkt der Org UND POS + ein MORTGAGE Commerce-Markt ist konfiguriert. Reflektiert/edkt die Live-Standardeinstellung über PUT .../products/{id'/mlos-default. (i18n im P6 Sweep.)

  4. · SecurityService

    P3 Default-Produkt-Bezeichnung Backend (einfach aktiv) + Bedienerbereitschaft

    - ************ bezeichne EIN LeadVendor-Produkt als das Org's KamoMLOS portal auto-assign product; single-aktiv (demotes jede andere, org-scoped, fail-closed) über JPQL Bulk-Updates. - LeadVendorController: PUT ************ und GET /mlos-Readiness (welches Produkt Standard + RESIDENTIAL_MORTGAGE führen Markt + MORTGAGE Commerce Markt sind konfiguriert) - unterstützt die Einstellungen Gate + zeigt aktuellen Zustand. Compiles clean; keine Schema/Shared-lib Änderung.

  5. · SecurityService

    P2c Lead-First-Portal Backend

    - MortgageVerticalResolver: löst einen org's RESIDENTIAL_MORTGAGE LeadMarket, MORTGAGE CommerceMarket, bezeichnete Standard-LeadVendorProduct, und EFFECTIVE POS-fähig deterministische Bereitschaft bereitanzeigen, die sowohl die Einstellungen (11) als auch das Portal-Gate (#12) unterstützen. - PortalLeadService: Lead-first - createOrGetAnonymousLead (berücksichtigt auf ein AccountGuid-Cookie, auto-assigned das Standard-Produkt im Hypothekenmarkt, ausfallend auf Bereitschaft - KEIN Anmeldung, NO AppMortgage), patchEstimate und die Anmeldung zusammenfassenGuidIntoMember (bindet die GUID mit der Mitgliedskonto + reparents die Lead(s), Spiegeling assignLeadAccount's History schreibt). - PortalController ************ führen POST/PATCH, Merge .: anonym (org-from-host, GUID vom Trusted BFF X-Kamo-Guid Header); merge ist ***-gebunden. Compiletten sauber. Anonyme Routen passieren die ErlaubnisAll Filterkette (Controller selbst-Gate).

  6. · kamo-internal

    Benutzeroberfläche (MERGE ACCOUNTS)

    AccountManager gewinnt eine Merge Accounts Aktion (begliedert von **************** Wählen Sie genau zwei Kundenkonten, wählen Sie den Überlebenden, optional halten Sie das Duplikat Stripe Kunde / primäres Mitglied, dann fusionieren . repariert alle Kinder auf den Überlebenden und soft-deaktiviert das Duplikat. accountsApi.mergeCustomer() . POST /Account/Customers/{uid'/merge. (i18n Schlüssel, die im P6 Sweep hinzugefügt werden.)

  7. · SecurityService

    P2a Konto-Merge-Tool + P2b Transaktion Backend

    P2a - Admin-Konto Merge (Besitzer Anforderung A), gated by MERGE_ACCOUNTS: - AccountMergeService: reparents JEDEN Konto_uid Kind über native UPDATE (übergeht JPA orphanRemoval, damit die Leads/Apps des Verlierers überleben), dedups die global-unique account_members + (account,market,target) Abonnements, Vereine stripe_customer_id / primäresmitglied / pointer FKs (survivor-gewinne + keep-from-loser overrides), weich-deaktiviert den Verlierer. Nur das Gleiche-Or. - AccountController POST ************ gated by MERGE_ACCOUNTS (oder Gott). P2b - Deal-Grouping Backend: - LoanTransactionService: sicherstellenTransactionForApp (Auto Single-Darlehen-Gruppe auf erstellen, idempotent), abiveStatus (aufgerollt vom Mitglied LoanFileStatus via LoanTransactionStatusDeriver), ************ (TransactionSummaryDTO), isMemberPartyToTransaction (D52) generalisiert auf die Gruppe), BackfillOrganization. - MortgageAppController: create() jetzt auto-groups das Darlehen; GET /Transaktionen Listen pro Transaktion (operators=org-Pipeline, Kreditnehmer=own account). - Register mlos.transaction + mlos.docs repos in SecurityServiceApplication @EnableJpaRepositories. Schema bereits erstellt von KI (P1). Compiles reinigen gegen installierte Shared-lib.

  8. · kamo-shared-library

    P1 Entitätsgründung - Lead-First / Konto-zentriert / Transaktions-gruppierter Refaktor

    NEUE Entitäten (Additive; KI läuft DDL): - TransactionGroupStatus enum + LoanTransactionStatusDeriver: abgeleiteter Gruppenlebenszyklus (Created"...Versetzt) aufgerollt von Mitglied LoanFileStatus (nie maßgeblich gespeichert). - AccountGuid (Konten): langlebiges Cookie GUID-Account (nullable) für den Lead-First anonymen Ablauf. - AccountBorrowerParty (Konten): gemeinsame Darlehensnehmer-Identität (Mitglied optional) + doc-vault-Schlüssel. - MemberDocument (mlos.docs): wiederverwendbares Dokumenten-Gewölbe auf Konto/Mitgliedsebene. - LoanTransactionTimeline (+event enum), SharedTransactionTask (+status/severity enums): Shared Group Feed + Aufgaben. - repos für alle der oben genannten. Enum-Anhängsel (id-stable / ordinal-sicher): - LoanFileStatus.SOLD_BOARDED(9) - bei END (ORDINAL Storage) angefügt; +isTerminal; behobene erschöpfende Schalter. - ************ - Bildgebung-Mitglied-Geböber. - ************ - Allgemeine Einstellungen (serviceType=null) für das Admin-Konto-Merge-Tool. FK-Spalten (nullierbare, angeheftete SpalteDefinition, keine Standardeinstellung - unique_rowid/gen_random_uid Orphan Trap): - LoanFile.loan_transaction_id, **************** Lead.account_guid_id, CommerceMarket.lead_market_id, **************** ******************** Design: ************ Keine Versionsbeule.

  9. · SecurityService

    Leihennehmer Selbstbedienung Genehmigung (Darlehen-Partei IDOR Wache)

    Ein Kreditnehmer ist ein einfaches org Mitglied ohne Betreiber LOS Rechte; sie können auf der ONE handeln Anwendung sind sie eine Partei zu - und nur, dass man. Layered Guard: Operator Gate first, sonst eine fehlgeschlossene Darlehen-Party-Check (isMemberPartyToApp). MortgageAppController: - ************ Überlastungen, um zu bekommen, alle 23 pro App die Endpunkte und die 3 Repeing-Sektionshilfen schreiben. - Liste: Betreiber sehen die Org-Pipeline; ein Kreditnehmer sieht nur eigene Apps. - erstellen: Operator nimmt App (inkl. von Blei); ein Kreditnehmer selbst erstellt seine eigene (einge-stemperiert) - die KamoMLOS Belohnung-Gate-Minze. - löschen: Betreiber suspendiert-recht ODER der besitzende Kreditnehmer; Nachsicht: alle authentifizierten Sitzung (Referenz enums die Aufnahme Bedürfnisse); Reise bleibt Betreiber-nur. HypothekenprogrammController: geschlossen eine bereits bestehende IDOR auf setPersona/setSelectedProgram (Org-only-Check) - jetzt operator-LOS-Rolle ODER Darlehen-Party. Betreiber unverändert; Kreditnehmer inhabergesteuert; Querkreditnehmer IDOR geschlossen (D52).

  10. · kamo-shared-library

    Leih-Kredit-Partei Eigentum auf AppMortgageService

    Fügt die Eigentum Primitiven für Kreditnehmer Selbstbedienung (ein Kreditnehmer ist eine einfache org Mitglied ohne Betreiberrechte): - erstellenBlankOwnedByMember(orgId, memberId): erstellenBlank + Stempelbesitz durch Anhängen (oder Wiederverwendung) ein Konto, dessen Hauptmitglied der Kreditnehmer ist. - istMemberPartyToApp(appUid, orgId, memberId): fail-closed loan-party guard . org match UND Anrufer ist primäres Mitglied/Account-Mitglied des Accounts der App. - listOwnedByMember(orgId, memberId): die eigenen Anwendungen des Kreditnehmers. Eigentum ist der designverordnete ************ Link; Konto/ AccountMember existiert bereits, also kein Schema/KI. Nur Additive (D52).

  11. · kamo-internal

    Kreditnehmer-Reisesäule + Aufnahmefilter in der Darlehenspipeline

    Das sub=pipeline datagrid (ApplicationsPipelineConsole) zeigt jetzt Pre-app-taken Kreditnehmer-Reise Fortschritt so org Mitarbeiter können den Status eines Antrags als die Kreditnehmer vervollständigt ihr eigenes Darlehen über das Portal KamoMLOS. - 'Borrower Journey' Spalte: Zustand-Chip (Just started / Filling in / Ready to submit) + Bestimmen Fortschrittsleiste + Abschnitte n/total, mit einem anhängigen Abschnitte Tooltip; '' für bereits aufgenommene Darlehen. - 'Borrower Intake' Filtereimer: Darlehen mit einer Live-Selbstbedienungsreiseeintritt. - listJourney() API-Client + BorrowerJourneyDTO Typ + i18n Schlüssel. Quelle GET /mord-apps/Reise (D51).

  12. · SecurityService

    Pre-app-taken Kreditnehmer-Reise Endpunkt für die Betreiber-Pipeline

    Neue GET ************ (LOS_VIEW_PIPELINE) gibt proDRAFT zurück Kreditnehmer-Aufnahme Fortschritte, so Pipeline-Verwalter können beobachten, ein Darlehen Gestalt annehmen, während die Kreditnehmer ist immer noch eigennützig es durch das KamoMLOS-Portal. BorrowerJourneyService reprovidiert die Abteilung Vollständigkeit des Portal-Assistenten über den kanonischen AppMortgage Graph (tolerante Anwesenheitsprüfungen - die kanonischen DTOs und die Portal-Client-DTOs haben unterschiedliche Feldnamen). Staat = STARTED / IN_PROGRESS / READY_TO_SUBMIT über 7 Abschnitte vor Einreichung; Reverse-Hypotheken überspringen die finanzielle Abschnitte, passend zum Portal. Nichts hielt; begrenzt auf 300 Entwürfe/Ansicht. BorrowerJourneyDTO ist eine SecurityService-Seite-Platte so donotmodify bleibt unberührt. Teil der doc03-Pipeline zur Wiederverpurpose (D51).

  13. · SecurityService

    LOS-Controller akzeptieren pro-Krede- ***-Sitzungen (doc03 -0.1)

    BaseLosController löst nun die Anrufer-Sitzung via CallerSessionResolver (X-OTK-validiertes Attribut FIRST - Operatoren/BFF unverändert - dann ein First-Party *** Cookie Fallback) statt nur das X-OTK Attribut. Das ist der Schlussstein das das KamoMLOS Kreditnehmerportal /api/security/mortgage-apps/** mit einem erreichen lässt reale Sitzung pro Leihnehmer (ein Kreditnehmer ist ein einfaches Org-Mitglied über den Standard Login-OTK-validate-otk-***-Flow) und nicht ein Shared-Service-Konto. Rückwärts- kompatibel; alle 7 LOS-Controller profitieren. Compiles sauber.

  14. · SecurityService

    LOE-Core server-autoritäre Programm-Scorer + /Programme/Scores (doc03 9 Phase 2)

    Portiert den KamoMLOS Client Scorer (lib/los/scoring.ts) in SecurityService LOE-Core: LoeCoreScorer punktet mit dem effektiven Programmkatalog der Org (Basislinie tiefvermärkt mit org overlay) gegen einen Kreditnehmer AppSnapshot - identisch LTV/DTI/Belegung/Reserven/ VA-Anspruch/Reverse-Age-Checks - ProgramScoreDTO im genauen Client zurückgeben ProgramScore-Form. POST **************** Server-first: diese Schiffe vor der Phase-3-Client-Scorer-Delktion. 3 Tests grün.

  15. · InitializerService

    Saatgut der 17 echten Programm-Regeln (doc03 9 Phase 1)

    Migrates die maßgeblichen ProgramRuleset-Daten aus dem KamoMLOS Client-Regelsatz Dateien in ************ (17 Codes, getreu extrahiert) und ersetzt ProgramSeederRunner's rulesetJson("{]") Platzhalter durch real pro-Code-Regelsätze, die vom Classpath geladen werden. Idempotent: Einfügt fehlende Programme ein und aktualisiert bestehende "{" Platzhalter auf reale Daten, nie Klobbern Betreiber redigiert. Auf der nächsten KamoInitializer-Lauf (User-Run) angewendet. Prereq für die Phase 2 von 9 Server-Scorer, der den Kunden-Scorer entfernt.

  16. · kamo-shared-library

    Echte Deep-Merge für org-Programm-Regelungen (doc03 -9 Phase 0)

    Ersetzt den M2 Last-Writ-Wins-MeilenOverlay-Platzhalter (der lautlos verworfen hat die maßgebliche Basis auf irgendeiner org Override) mit einer rekursiven JSON deep-merge: org overrides liefern nur die Schlüssel, die sie ändern, verschachtelte Objekte wieder, Arrays Großhandel zu ersetzen, und eine missgebildete Override scheitert sicher an der Grundlinie. Sperrt die ProgramRuleset Vertrag vor dem Server-autoritativen Scorer (-9 Phase 2), dass wird den Client-Scorer löschen. Programm/ProgramService javadoc neupointed. 3 Tests grün.

  17. · kamo-shared-library

    MlosExtractedCandidate Staging-Einheit für die Ingestion-Pipeline (D48)

    Die terminale pro Feld-Ausgabe des Parsers von MLOSIngestionService: ein inszeniertes, überprüfbares Extraktionskandidat (Segment/source-doc FK, targetEntity, fieldPath, cellRef, rohe/normalisierte Wert, DECIMAL(4,3) Vertrauen, reviewStatus). Kandidaten fördern NIE in kanonische Katalog-Einheiten außer durch MLOSCatalogService RateSheetSanityGate + menschliche Zustimmung. Vervollständigt das Einnahmesubstrat ************ ExtraktionTemplate bereits vorhanden). mlos.catalog bereits in KI-Scan - Tabelle automatisch erstellt auf nächste KI-Run; Dienste laufen ddl-auto:none.

  18. · kamo-shared-library

    Isolierte Best-Bemühen-Profil-Rückgabe für Rechts-Wand-Pfade (D47)

    mergeFactsBestEffort führt die Anreicherung-Abschreibung in seiner OWN-Transaktion durch (REQUIRES_NEW) so kann ein Ausfall nie rückgängig machen die Transaktion des Anrufers sicheres Zurückschreiben für einen Rechts-Wand-Entscheidungsweg (AUS/interne-Regeln), dessen Die Entscheidung der Aufzeichnungen muss trotzdem bestehen bleiben. Überspringt still, wenn kein Profil existiert. +1 Shared-lib-Test (skip-when-abwesende / Delegierte-hegen-gegend).

  19. · kamo-internal

    State Based Licensing Abschnitt über Mitglied my-profile

    Neue SectionCard (NMLS ID + pro Staat lizenzierte Tabelle mit aktiv- Bereitstellung von Checkbox- und Erneuerungs-/Versundungs-/Versundungsdatum, Verlängerung<=expiry validiert). Gated by **************** Adds Next Proxy Route, TS RoleRightType Spiegel und Design/Planen von Dokus.

  20. · SecurityService

    Mitglied der staatlich lizenzierenden API + lizenzierte Bleiverfügbarkeit

    MemberStateLicensingController (GET/PUT /api/security/members/{id]/ hinzufügen state-licensing) gated by STATE_LICENSING_* Rechte mit Server-Seite Erneuerung<=expiry Validierung. Aktivieren mlos.legal JPA repos. Popup-Zusammenfassung und Leads-Available Grid respektieren nun die Förderfähigkeit der staatlichen Lizenzen.

  21. · kamo-shared-library

    Staatliche Mitgliedslizenz + Blei-Asceptanz-Gate

    Wiederverwende mlos.legal StewardLicense als Single pro member/per-state NMLS Registrierung (aktiveProvidingBusiness hinzufügen). Fügen Sie Member-Level Member.nmlsId hinzu. Allgemein-Verbrauchsrechte hinzufügen **************** CreditLeadAssignmentService überspringt jetzt Hypotheken-Lead-Kandidaten, deren ausdrücklicher Eigentumsstaat, in dem das Mitglied nicht aktiv lizenziert ist.

  22. · kamo-internal

    Quelle zu den kartierbaren Bleifelder hinzufügen

    Blei 'Quelle' wird auf der federführende Detailseite angezeigt, aber in der Importfeldliste fehlte; fügen Sie es hinzu (path 'source'), jetzt, wo der Backend-Importeur + CreateLeadRequest es unterstützt.

  23. · SecurityService

    Karte eine importierte Spalte in das Lead-Feld "Quelle"

    Fügen Sie "source" zu setzenDirectFieldOnCreateRequest, so dass der Mapping-Pfad 'source' honoriert wird.

  24. · kamo-shared-library

    Das importierbare Feld "Quelle" zu CreateLeadRequest hinzufügen + in createLeadRe bestehen

    The Lead hat einen freien Text "Quelle" (auf der federführenden Seite gezeigt/edited), aber es war nicht importierbar - CreateLeadRequest hatte kein Quellfeld, also createLead setzte es nie. Fügen Sie es hinzu, damit manuelle Importe eine Dateispalte zur Quelle des Leads abbilden können.

  25. · kamo-shared-library

    ScenarioProfileSource.PRICING für Szenario-writer FICO/ratio write-back (D45) hinzufügen

  26. · kamo-shared-library

    Canonische Szenario-Faktenwirbelsäule - Genese Deriver + FaktenJson bevölkert + Schreib-zurück + Overlay-Matcher (D45)

    D1/D45 erweitert den Verbrauch von BorrowerScenarioProfil. Bevölkert das schlafende factsJson und macht es zur gemeinsamen Quelle der Wahrheit für Kreditnehmer/Darlehen Fakten: - ScenarioFactKeys: einzelne kanonische Faktenschlüssel-Vokabular + tier (strukturell vs Anreicherung) + normalize(); die D21 Whitelist/Deriver/Verbraucher referenzieren diese. - ScenarioFactDeriver: fördert die D18 LTV/CLTV/HCLTV + kategorische Ableitung aus MLOSPricingService in Shared-lib (ein Haus für Entität-abgemeldete Fakten). - BorrowerScenarioProfileService: produceFromUrla bestückt jetzt strukturelle Fakten (Anreicherung); resolveFacts() für Beratungslücken; MergerFacts() das zurück in die Anreicherungsstufe filtert (genesis besitzt Struktur, D45.3). - ScenarioFacts.fillGapsFrom(): Advisory Merge (Anforderung gewinnt, Profil schließt Lücken). - InvestorOverlayMatcher: reiner ausfallsicherer Matcher (nur präsent und gewaltbereit). Keine Schema/KI-Änderung (factsJson-Säule vorexists). 27 gezielte Tests grün.

  27. · kamo-internal

    Registerkarte Channel Rules - vervollständigt die Oberfläche von -3,2 Konfiguration

  28. · SecurityService

    Kanal-Applikbarkeit Regeln Sammlung CRUD - vollendet 3,2 config

    createChannelRule/update/löschen auf der D31 Flat-Collection Spine (profile-level, org ausfallend, WORM Change-Log; Controller /channel-Regeln GET/POST/PUT (löschen über aktiv:falsch). Scope/Kanal/Ersehen erforderlich; **************** Behörde/Finanzierung + effektives Fenster optional. Letztes -3.2 config entity.

  29. · kamo-internal

    Registerkarte Produktbefähigung (pro-Programm, versioniert)

  30. · SecurityService

    Produkt-Aktivierung config pro Programm Single-Aktiv, effektiv-dated

    ************ (programmbegleitend degradiert-then-insert) + liest; Controller /Produkt-fähigen GET (aktiv pro Programm) / PUT (veröffentlichen). Körper trägt programId, aktiviert, lifecycleVariant, channelRestriction, effectiveFrom.

Euer Universum wartet.

Fügen Sie Produkte hinzu, wann immer Sie möchten – keine Migration, keine neuen Anmeldungen.

Für immer kostenlos – keine Kreditkarte erforderlich