Problem
New transfers arriving during paging can duplicate or omit entries, confusing reconciliation.
Objective
Deliver a production-quality improvement to transfer history pagination and cache that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
- Use cursor or snapshot pagination with stable tie-breakers; reset cursors on filter changes; handle expired cursors safely.
Acceptance criteria
- Pages are complete and deterministic for their snapshot; cursor scope is enforced; expired cursors have recovery behavior.
Required validation
- Concurrent-insert, cursor-expiry, filter-reset, and large-fixture 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
New transfers arriving during paging can duplicate or omit entries, confusing reconciliation.
Objective
Deliver a production-quality improvement to transfer history pagination and cache that creates measurable value for correctness, security, reliability, performance, or maintainability.
Implementation scope
Acceptance criteria
Required validation
PR quality bar
Out of scope