Changelog
Was ist neu?
Jede Verbesserung an der Plattform, wie sie geliefert wird.
· kamolos
Zeremonien-Bühne + Registrierung (8 Platzhalter) + /journey/ceremonies/[id] route
· kamolos
Wegpunktblatt primitive + /Reise/waypoints/[id] Platzhalterroute
· kamolos
Mobiles Kamm - 28% Top-Strip-Szene + Ansichts-Port-basierter Desktop/Krest-Switch
· kamolos
Underwriter-Charakter (Platzhalter-Eule SVG; echte Kunst in Auftrag gegeben)
· kamolos
TypeScript-Typen für Kreditnehmer-Reisekonzepte (Persona, LoanProgramCode, ProgramScore, Connection, VerifiedFact, MicroActionKind, CeremonyId)
· kamolos
Addieren Sie 9 Stub Adapter mit Fabriken (id-verify, Einkommen, Vermögenswerte, Immobilien-Daten, Preisgestaltung, aus, Bewertung, Titel, Gefahr)
· kamolos
Fügen Sie Fabriken für Kredit/Angröb/Adresse hinzu (Standard zu bestehenden Stubs)
· kamo-shared-library
LoanFile-Einheit hinzufügen
· kamo-shared-library
Immobilien hinzufügen
· kamo-shared-library
Zugabe von Borrower-Einheit
· kamo-shared-library
LoanApplication Aggregat root hinzufügen
· kamo-shared-library
LOS enum Typen hinzufügen (Status, Rolle, Persona, Programm, Kreditgeber-Modell)
· KlusterServices
Dokument Myloan Alias für KamoLOS
Fügt "myloan" zur SUBDOMAINS-Erkennungsliste hinzu und schreibt den Kommentar um um den Zweck der Liste explizit zu machen (es ist Dokumentation; der dynamische Traefik Log-Scan ist, was tatsächlich Bestimmungen bescheinigt). KamoLOS veröffentlicht seine IngressRoute als HostRegexp(myloan[.].+$-), also jede myloan.<org-domain? Anfrage, dass Treffer Traefik abgeholt werden extrahiert_domains() und eine Pro-FQDN ECDSA P-256 Zertifikat wird herausgegeben über cert-manager + Let's Encrypt the same way "internal"., "Login". andere Kamo Subdomain Aliases funktionieren heute. Keine Verhaltensänderung - macht nur den Alias neben den anderen sichtbar und gibt jedem, der das Skript liest, eine einzeigelose Karte des Präfixes-Dienstes.
· kamolos
Dockerfile + k8s manifestiert ************
· kamolos
Draht api Fehler in Tracking Waschbecken
· kamolos
Tracking shim mit austauschbaren Waschbecken
· kamolos
Credit-Pull-Adapter + Tests über alle drei Stummel
· SecurityService
Prometheus Metriken Endpunkt entlarme
Fügt Mikrometer-Registry-Prometheus hinzu und konfiguriert management.endpoints zu setzen /actuator/prometheus neben Gesundheit/Info. Erforderlich, so die Zähler/Timer, die in Shared-Llib hinzugefügt werden, sind verschrottbar.
· kamo-shared-library
Micrometer Zähler/Timer für Übergänge, Bedingungen, Webhooks
LoanPipelineService inkrementiert los_transitions_total{von,to-> pro erfolgreichem Übergang. LoanConditionService-Schritte ************ für gelöscht/verzicht. WebhookDeliveryWorker erhöht webhook_deliveries_total {ok,status_class" und nimmt webhook_delivery_duration_ms auf (Timer mit p50/p90 /p99 Perzentile) pro Lieferversuch. MeterRegistry ist @Autowired(erfordert=false) so Dienstleistungen, die nicht ziehen Aktuator (die meisten Nicht-LOS-Dienste im Monorepo) arbeiten weiter - nur die mit der Registrierung auf dem Klassenpfad emittieren Metriken. Shared-lib pom gewinnt Mikrometer-Kern für API-Compiling-Zugriff; Verbraucher drahten die eigentliche Registrierung (Prometheus, einfach, etc.) über die eigene Aktuator-Einstellung.
· kamo-internal
Oberfläche vorherigeMilestoneSha256 in Pipeline-Zeitleiste
Der hash-chain Link wird als kleiner monospaced 'prev <hash' Chip gerendert. neben dem vorhandenen Schnappschuss-Hash, mit dem vollen Wert im Titel Tooltip. Keine neuen Übersetzungen - verwendet das bestehende Layout.
· kamo-shared-library
Hash-Chain LoanPipelineMilestone-Reihen zur Manipulationserkennung
LoanPipelineMilestone gewinnt PREVIOUS_MILESTONE_SHA256. Auf jedem Übergang, LoanPipelineService berechnet die SHA-256 der bisherigen Meilensteine kanonische Form ************ und speichert es in der neuen Zeile. Mutating jede frühere Zeile in der DB ändert seine hat - bricht die Kette von diesem Punkt an vorwärts. DTO zeigt das neue Feld, so dass die Timeline UI den Link anzeigen kann.
· kamo-internal
Oberfläche HMDA LAR Validierungsprobleme in der UI
· SecurityService
GET /mordgage-apps/hmda/lar/issues count Zusammenfassung
Aggregate Validierungsemissionen über das LAR für das gegebene Jahr und Rendite {Fehler, warnt, rowsWithIssues", so dass die Benutzeroberfläche ein einzeilenloses Banner darstellen kann bevor der Betreiber die CSV herunterlädt.
· kamo-shared-library
HMDA LAR Vor-Export-Validierung
Neue HmdaLarValidationIssue DTO (ERROR/WARN Schwere, Feldname, Nachricht). HmdaLarService kommentiert jetzt jede Zeile in buildLar() mit einer Liste von Problemen für die häufigsten GFPB-Abweisungsursachen: - entstanden/verleugnt (actionTaken in {1,3] erfordern BewerberEthnizität/Rasse/Sex - jede Handlung erfordert DarlehenZusatz und Immobilienstaat - AntragstellerGehalt für die Aktion erforderlich In {1,3,4,5] Ausgaben live auf HmdaLarRecordDTO, also der bestehende /hmda/lar Endpunkt Oberflächen sie pro Zeile; der CSV-Export emittiert immer noch die gleichen Spalten unverändert. Ein gruppiger Zähler-Halter für den neuen /hmda/lar/issues Endpunkt folgt in SecurityService.
· kamo-internal
Oberflächenvoreinführungswarnungen im TransitionDialog
Beide TransitionDialog-Implementierungen (Detail Pipeline Abschnitt + kanban board) feuert jetzt den lint Endpunkt ab, wenn der Benutzer einen Zielstatus wählt und geben Sie einen Bernstein-Beratungsblock über Bestätigen. Bestätigen ist immer noch aktiviert die LO entscheidet, ob sie fortfährt. Strings in hypothekenApps.pipeline.lint*.
· SecurityService
Expose GET ************
Oberflächen **************** als beratende Vorflug Überprüfen Sie die TransitionDialog-Feuer, wenn der Benutzer einen Zielstatus wählt.
· kamo-shared-library
PreTransitionLint Beratung für APPLICATION_TAKEN
Neue @Transactional(readOnly) Methode auf LoanPipelineService zurück eine Liste von menschenlesbaren Warnungen für das APPLICATION_TAKEN Ziel: fehlende SSN (last 4), DOB, Staatsbürgerschaftsstatus, aktuelle Adresse, der Beset-Primary Erklärung für jeden Primärkreditnehmer; fehlende Darlehensart/Gesichtsbeträge; fehlender Betreff-Eigentumsadresse. Andere Zielzustänger geben wieder leer Liste. Beratende, nicht blockierende - Controller sind so an, dass LOs entscheiden können.
· kamo-internal
Global Toast Warteschlange mit Anbieter + useToast Hook
Neuer ToastProvider auf der Layout-Ebene macht einen Framer Motion Stapel von kontextverwalte Toasts und setzt eine getippte useToast() API aus (Erfolg/Fehler/Info/Warnung). Übergänge der Pipeline, Zustand klar/aufgebend, und webhook geheime Rotation jetzt Feuer Toasts statt Inline-Banner; die CONCURRENT_MODIFIKATION Erholung von #1 Oberflächen ein bernsteinischer "erfrischend" Toast in der detaillierten Pipeline-Sektion und der kanban-Board. Streicher leben unter toasts.pipeline.* und toasts.webhooks.* in en.json.
· kamo-shared-library
Langlebbare JetStream Verbraucher, Vollstrecker Isolation, Zeitstempel Unterschriften
Drei Änderungen gebündelt, weil sie alle leben in WebhookDeliveryWorker und machen gemeinsam Sinn: 1. Wechseln Sie vom Kern NATS Disponent zu einem JetStream langlebigen Push-Konsumenten ("los-pipeline-webhook-worker", AckPolicy.Explicit). Restartet Replay ungeackte Ereignisse; Versuchszahl stammt aus msg.metaData().deliveredCount() so die WebhookDelivery Audit Log spiegelt Redelivery in-Prozess-Schleife. maxDiver Kappen redelivery. 2. Verschicken Sie jede Nachricht an einen kleinen ScheduledExecutorService so eine langsame (10s-timeout) Teilnehmer können den NATS-Diser-Thread nicht unterstützen. 3. Unterschreiben 't.body' (Stripe/GitHub style) und strahlen Header aus X-Kamo-Zeitstempel + X-Kamo-Signature: t=<ts>v1=<hex? also ein Lauschangriff Anfrage kann nicht auf unbestimmte Zeit wiederholt werden. deliverForOrg ist nicht mehr @Transaktional: ein gescheiterter HTTP-Versuch wirft also JetStream redelivers, und wir wollen, dass die Prüfungsreihe in seiner eigenen fortbestehen kurze Transaktion, anstatt mit dem äußeren Umfang zurück zu rollen.
· kamo-internal
Rückerholen Sie sich anmutig von CONCURRENT_MODIFIKATION auf Übergänge
Fördert API-Fehlerbehandlung zu einer HypothekenApiError-Klasse, die die Backend-Fehlercode; Übergangshandler in PipelineSection und der Pipeline kanban erkennen CONCURRENT_MODIFICATION, schließen Sie den Dialog, aktualisieren und Oberfläche eine bernstein übersetzte Notiz anstelle des Rohen 409.

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