- Shipped
- July 8, 2026 at 10:42 PM UTC
- Author
- Kamo
- Commit
- 71091ae
The binding rate-lock-of-record and its bound quote carried only rate + lockDays; discount/origination points were left null, so the core entities read PAR while the real priced number **************** price-to-100 with lender margin baked in) lived only on the MLOS side-ledger MlosLockRecord.lockedPrice. Add an INVESTOR_PRICE column (DECIMAL(9,4), matching the shipped price-to-100 grids) to both entities + their DTOs + **************** It is the INVESTOR execution price, deliberately NOT decomposed into borrower points (that nets out margin and needs the fee model — decomposing now would misstate borrower points, a Reg-Z/ECOA disclosure error). Points stay null until the fee model lands; the raw price is now preserved on the lock-of-record, not just the side ledger. Populated by the RCE (MLOSCapitalMarketsService) from finalPrice; column materialized by KamoInitializer RateLockInvestorPriceMigration (ADD COLUMN IF NOT EXISTS).