- Shipped
- July 23, 2026 at 1:39 AM UTC
- Author
- kamo
- Commit
- 11ed666
Adjustments could not vary by borrower: MlosAdjustmentCondition had no writer, and the pricing engine treats an adjustment with no conditions as always-applies, so every LLPA fired for every borrower and a 780-FICO borrower took the same hit as a 620. This form authors an adjustment together with the conditions that gate it. Modelled on the lock-policy form in the same panel: a rate-sheet-version id, the price delta and label, and a repeatable list of condition rows (attribute + operator + numLow, with numHigh shown only for BETWEEN). The client mirrors the server guards — at least one condition, a bound on every condition, both bounds for BETWEEN with low <= high — so a bad rule is caught inline rather than on a round-trip.