Problem
Balances, shares, and transaction records can drift if a multi-record mutation partially succeeds or a downstream write fails.
Objective
Deliver a production-quality improvement to storage, vault accounting, and analytics that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
- Define the accounting invariants for assets, shares, fees, and transaction status.
- Execute related writes atomically where supported and record recoverable reconciliation findings when not.
- Expose a bounded reconciliation report that identifies mismatches without silently changing financial state.
Acceptance criteria
- Failed mutations leave no partial accounting state.
- Reconciliation detects seeded mismatches with actionable identifiers.
- The report is authenticated, bounded, and never performs an implicit repair.
Required validation
- Rollback/failure injection tests, invariant tests, and end-to-end reconciliation tests with representative data.
- 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 on this issue and explain design tradeoffs.
- Include test evidence, compatibility impact, and migration or rollout notes where relevant.
- 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
Balances, shares, and transaction records can drift if a multi-record mutation partially succeeds or a downstream write fails.
Objective
Deliver a production-quality improvement to storage, vault accounting, and analytics that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
Acceptance criteria
Required validation
PR quality bar
Out of scope