- Shipped
- May 15, 2026 at 7:27 PM UTC
- Author
- Kamo
- Commit
- 6aa4d79
Sub-projects 5, 6, and 7 backend shipped together: Sub-project 5 (pricing & locks): - LoanPricingSnapshot — append-only quotes (program, investor, rate, APR, points, lock days) - RateLock — locked-rate record with status, expiration, broke reason - AusFinding — DU/LP/GUS run record with decision + raw payload - New enums: RateLockStatus, AusKind, AusDecision - LoanPricingService for CRUD across all three Sub-project 6 (disclosures + TRID + e-sign stub): - DisclosureSet (LE/CD/etc.) with delivery method, presumed-received date computed via the mailbox rule (business-day math) - DisclosureDocument backed by MinIO via the existing MinIOStorageService - EsignEnvelope — provider-agnostic stub for the future integration - TridTimer — arms automatically when LE/CD issues; helpers for intent-to-proceed, CD-receipt-required, post-consummation CD due - DisclosureService orchestrates issuance, MinIO upload, presigned download URLs, envelope tracking, and timer satisfaction Sub-project 7 (HMDA LAR): - HmdaLarRecordDTO mirrors the 2018+ HMDA FIG layout - HmdaLarService builds rows from existing URLA entities and emits CSV with proper field-quoting; HMDA Action Taken codes derived from LoanFileStatus