feat!: persist T-Bank data and synchronize reads #34

Merged
codex-bot merged 2 commits from codex/persist-tbank-data into develop 2026-09-26 22:32:50 +03:00
Owner

Investment reads now return persisted SQLite snapshots immediately with data/meta resource envelopes. Scoped synchronization reconciles operation periods atomically, coalesces work, fences connection revisions and preserves complete forecasts on source failure. Includes fixes for current-period coverage and unstable observation versions.

BREAKING CHANGE: requires the matching frontend OpenAPI snapshot and explicit synchronization flow. Apply migration 20260924170000_persist_tbank_data before startup; preserve a consistent backup and encryption key. Rollback restores the documented prior binary against the additive schema or the complete paired backup.

Validation: npm ci; backend verify (193 unit tests); full isolated Linux SQLite/HTTP gate (226 tests); 4 CPU/8 GiB budget p95 max 215.7 ms, synthetic RPC 42913 → 0. macOS full HTTP runner has a native better-sqlite3 cleanup abort; Linux gate passes. Working user data was not used for tests.

Change: persist-tbank-data in https://git.personal.ksv741.ru/WealthLedger/specs/src/branch/codex/persist-tbank-data/openspec/changes/persist-tbank-data

Investment reads now return persisted SQLite snapshots immediately with data/meta resource envelopes. Scoped synchronization reconciles operation periods atomically, coalesces work, fences connection revisions and preserves complete forecasts on source failure. Includes fixes for current-period coverage and unstable observation versions. BREAKING CHANGE: requires the matching frontend OpenAPI snapshot and explicit synchronization flow. Apply migration 20260924170000_persist_tbank_data before startup; preserve a consistent backup and encryption key. Rollback restores the documented prior binary against the additive schema or the complete paired backup. Validation: npm ci; backend verify (193 unit tests); full isolated Linux SQLite/HTTP gate (226 tests); 4 CPU/8 GiB budget p95 max 215.7 ms, synthetic RPC 42913 → 0. macOS full HTTP runner has a native better-sqlite3 cleanup abort; Linux gate passes. Working user data was not used for tests. Change: persist-tbank-data in https://git.personal.ksv741.ru/WealthLedger/specs/src/branch/codex/persist-tbank-data/openspec/changes/persist-tbank-data
codex-bot added 1 commit 2026-09-26 21:32:29 +03:00
feat!: persist T-Bank data and synchronize reads
Backend security / security (push) Successful in 8s
Backend verify / verify (push) Failing after 10m45s
Conventional commits / commits (pull_request) Successful in 29s
Backend security / security (pull_request) Successful in 8s
Backend verify / verify (pull_request) Failing after 10m37s
d6e6c4ace5
Store account membership, portfolio, operations, forecasts and market sources in SQLite.
Coalesce scoped refreshes, fence connection revisions, preserve complete financial
snapshots and stabilize operation period state.

BREAKING CHANGE: investment reads return data/meta resource envelopes and locally
persisted snapshots; consumers must use the matching OpenAPI contract and explicit
synchronization endpoints.
ksv741 added 1 commit 2026-09-26 21:45:54 +03:00
test: prove reads finish before source synchronization
Conventional commits / commits (pull_request) Successful in 31s
Backend security / security (pull_request) Successful in 9s
Backend verify / verify (pull_request) Successful in 10m47s
Backend security / security (push) Successful in 8s
Backend verify / verify (push) Failing after 12m14s
e4232138d0
Block synthetic upstream with an explicit barrier instead of comparing
total HTTP batch time with a two-second timer. Keep the 500 ms server
p95 gate and RPC assertions unchanged.
codex-bot merged commit e4232138d0 into develop 2026-09-26 22:32:50 +03:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/backend#34