Problem
Separate calculations can disagree on streamed amounts, rounding, minimum units, or final withdrawal values.
Objective
Deliver a production-quality improvement to vesting projections, balances, and amount validation that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
- Introduce canonical fixed-point math and rounding; define time and amount units; use the policy in previews, validation, and settlement.
Acceptance criteria
- Preview equals execution for identical state; unsupported precision and overflow fail safely; no value is created or lost by rounding.
Required validation
- Boundary, property, preview/settlement, and long-duration tests.
- Existing tests and CI remain passing.
- Add regression coverage for the original failure mode.
- Do not weaken, delete, or skip unrelated tests to obtain a green build.
PR quality bar
- Keep the PR focused and explain design tradeoffs, compatibility impact, and test evidence.
- Avoid typo-only, documentation-only, cosmetic-only, or unrelated refactor submissions.
Out of scope
- Broad rewrites not required by the acceptance criteria.
- Changes to unrelated services, contracts, or user flows.
Problem
Separate calculations can disagree on streamed amounts, rounding, minimum units, or final withdrawal values.
Objective
Deliver a production-quality improvement to vesting projections, balances, and amount validation that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
Acceptance criteria
Required validation
PR quality bar
Out of scope