- income page renders only selected-period totals and payments; the
comparison blocks, notices and display-only percentage math removed
- new shared PayoutCard presents executed payouts, forecasts and
per-security schedules with explicit money semantics
- ledger rows, upcoming events, stock dividends and bond coupons use
the same card; period filter lost its duplicated paper wrapper
Use Query cancellation and native mutation results instead of HTTP
registries, access epochs and copied scope state.
Keep local auth ordering and mutation identity fences.
Allow staged generated files to remain excluded from ESLint.
Backend contract: WealthLedger/backend@d698ed9
BREAKING CHANGE: drop investment stateVersion/progress/resources
from the client contract and use data/metadata readiness instead of
rewritten query status. Cross-tab auth may require re-login.
Enable every plugin recommended preset and replace Biome with ESLint formatting.
Preserve API contracts and JSX whitespace; verify source, tests, builds and tooling.
Repair investment recovery, draft preservation, date validation,
currency presentation, accessibility, and route error recovery.
Correct Docker and dependency checks and consume explicit income roles.
Consume the provided resource-envelope API snapshot. Preserve financial snapshots during
refresh, observe synchronization without importing, and fence late responses across
account and connection changes.