- Shipped
- May 15, 2026 at 4:41 PM UTC
- Author
- Kamo
- Commit
- 97c2825
Refactor AppMortgage into a full URLA package root supporting multiple 1003s per loan with up to two borrowers per pair (married/joint or unmarried). Replaces the empty AppMortgage placeholder with a structured entity graph mirroring every 2021 URLA section: core/ LoanFile, Loan, Property, LoanOriginator, ApplicationSubmission party/ BorrowerPair (the "1003"), Borrower employment/ Employment (Sections 1d/1e/1f/Sec.7), OtherIncome (1g) assets/ Asset (2a/2b), Gift (4e) liabilities/ Liability (2c), OtherExpense (2d) reo/ RealEstateOwned (Sec.3) + ReoLien declarations/Declarations (Sec.5), MilitaryService (Sec.7) hmda/ HmdaDemographics (Sec.8) otherloans/ OtherNewMortgage (4d) Assets/Liabilities/REO use the "per-borrower with isJoint flag" ownership model so the URLA "Account owned by Borrower / Co-Borrower / Both" radio collapses to a single row with implicit pair-mate co-ownership. All monetary fields use EmbMoney (BigDecimal + currency) and all rates use EmbPercent (4dp BigDecimal) — no doubles, no JSON. ID strategy follows existing conventions: unique_rowid() for user-facing entities, gen_random_uuid() for internal detail tables. JSONB appears only on the ApplicationSubmission audit snapshot (intentional — not for live data). Schema is auto-created by KamoInitializerService via hibernate.ddl-auto on the rebuilt JAR; no DDL scripts required. Backend service, UI, and remaining LOS sub-projects (pipeline workflow, pricing/locks, disclosures, HMDA reporting) are deferred to subsequent sessions per the 7-part decomposition.