ProgramSeederRunner - seed 17 baseline LoanProgramCode programs (idempotent)
Repositories, DTOs, ProgramService (read-only catalog with naive overlay merge)
Add lenderModel column (additive; null = BROKER default at app layer)
Add Program + OrgProgramOverride entities (catalog + per-org overlay)
Ceremony stage + registry (8 placeholders) + /journey/ceremonies/[id] route
Add LOS enum types (status, role, persona, program, lender model)
Document myloan alias for KamoLOS
Adds `myloan` to the SUBDOMAINS recognition list and rewrites the comment to make the list's purpose explicit (it's documentary; the dynamic Traefik log scan is...
Expose Prometheus metrics endpoint
Adds micrometer-registry-prometheus and configures management.endpoints to expose /actuator/prometheus alongside health/info. Required so the counters/timer add...
Micrometer counters/timer for transitions, conditions, webhooks
LoanPipelineService increments los_transitions_total{from,to} per successful transition. LoanConditionService increments **************** for cleared/waived. We...
Surface previousMilestoneSha256 in pipeline timeline
The hash-chain link is rendered as a small monospaced 'prev <hash>' chip next to the existing snapshot hash, with the full value in the title tooltip. No new tr...
Hash-chain LoanPipelineMilestone rows for tamper detection
LoanPipelineMilestone gains PREVIOUS_MILESTONE_SHA256. On every transition, LoanPipelineService computes the SHA-256 of the previous milestone's canonical form ...
Surface HMDA LAR validation issues in the UI
HmdaLarRecordDTO now carries an issues array; HmdaLarClient renders: - an amber banner above the table summarising rows-with-issues (Σ errors / Σ warnings) ...
GET /mortgage-apps/hmda/lar/issues count summary
Aggregates validation issues across the LAR for the given year and returns {errors, warns, rowsWithIssues} so the UI can render a one-line banner before the ope...
HMDA LAR pre-export validation
New HmdaLarValidationIssue DTO (ERROR/WARN severity, field name, message). HmdaLarService now annotates each row in buildLar() with a list of issues covering th...
Surface preTransitionLint warnings in TransitionDialog
Both TransitionDialog implementations (detail Pipeline section + kanban board) now fire the lint endpoint when the user picks a target status and render an ambe...
Expose GET ****************
Surfaces **************** as an advisory pre-flight check the TransitionDialog fires when the user picks a target status.
PreTransitionLint advisory for APPLICATION_TAKEN
New @Transactional(readOnly) method on LoanPipelineService returning a list of human-readable warnings for the APPLICATION_TAKEN target: missing SSN (last 4), D...
Global toast queue with provider + useToast hook
New ToastProvider at the layout level renders a Framer Motion stack of context-managed toasts and exposes a typed useToast() API (success/error/info/warn). Pipe...
Durable JetStream consumer, executor isolation, timestamped signatures
Three changes bundled because they all live in WebhookDeliveryWorker and make sense together: 1. Switch from core NATS dispatcher to a JetStream durable push ...
Recover gracefully from CONCURRENT_MODIFICATION on transitions
Promotes API error handling to a MortgageApiError class that preserves the backend error code; transition handlers in PipelineSection and the pipeline kanban de...
Translate concurrent-modification IllegalStateException to 409 with code
Pairs with the shared-lib optimistic-lock change: when LoanPipelineService throws "Concurrent modification: refresh and retry", surface a structured {error, cod...
Optimistic-lock LoanFile.status to prevent racing transitions
Concurrent "Advance" clicks could both write milestones. Adds @Version to LoanFile and an explicit flush in LoanPipelineService.transition so the OptimisticLock...
Name display, REO lien editor, webhook admin, string cleanup
Polish pass aligning the frontend with the corresponding backend changes: - Components now render the resolved *MemberName fields from the backend (PipelineS...
REO lien endpoints + webhook subscription controller
- MortgageAppController: POST /{uid}/reos/{reoId}/liens, PATCH /{uid}/reo-liens/{id}, DELETE /{uid}/reo-liens/{id} — delegating to the new BorrowerSectionSe...
Name resolution, REO liens, TRID holidays, webhook delivery, ESignTemplate link
Cross-cutting polish pass across all LOS sub-projects: Member display name resolution (MemberNameResolver): - Single shared resolver service that follows the s...
Pricing, disclosures, HMDA LAR UI
Three more sub-projects shipped end-to-end: Sub-project 5 — Pricing & AUS section on the detail page: - Pricing snapshots list with add dialog (program, invest...
Controllers for pricing, disclosures, HMDA LAR
Three new REST controllers under /api/security/mortgage-apps: - MortgagePricingController: pricing snapshots, rate locks, AUS findings CRUD ({uid}/pricing, {...
Pricing snapshots, rate locks, AUS findings, disclosures, TRID timers, HMDA LAR
Sub-projects 5, 6, and 7 backend shipped together: Sub-project 5 (pricing & locks): - LoanPricingSnapshot — append-only quotes (program, investor, rate, APR,...
LOS pipeline UI — kanban, detail section, template admin
Sub-project 4 frontend, end-to-end: - /applications/pipeline (PipelineBoardClient): kanban grouped by LoanFileStatus with off-ramp lanes below the happy-path...
MortgagePipelineController + LOS_PIPELINE configmap entry
Exposes the LOS pipeline backend under /api/security/mortgage-apps: - GET /pipeline — kanban summary - GET /{uid}/pipe...
Pipeline state machine, conditions, templates, NATS events
Sub-project 4 (LOS pipeline & workflow) backend: - New enum LoanConditionStatus (OPEN/CLEARED/WAIVED) - New entities: LoanPipelineMilestone (append-only transi...
Originator & Submissions sections UI
Closes out Sub-project 3: the originator route gets a two-block editor (individual NMLS + organization NMLS + org address) wired to patchOriginator with the sta...
HMDA Demographics section UI
Replaces the Coming-Soon placeholder for the hmda route. Ethnicity uses the tri-state lookup with an inline sub-checkbox block when Hispanic is selected (Mexica...
Military Service section UI
Replaces the Coming-Soon placeholder for the military route. The everServed switch upserts via mortgageAppsApi.putMilitary; toggling it off also clears the serv...
Real Estate Owned section UI
Replaces the Coming-Soon placeholder for the REO route. Each property card edits the address, occupancy/status/intended-use, market value, monthly insurance+tax...
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.