codex-bot
d567fc31b0
Merge branch 'develop' into feature/120-structured-error-logging
Backend verify / commits (pull_request) Failing after 32s
Backend verify / security (pull_request) Skipped
Backend verify / verify (pull_request) Skipped
2026-10-24 13:44:06 +03:00
codex-bot
d1f6969dc7
fix: persist refresh cookie across browser restarts ( WealthLedger/backend#123 )
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 9s
Backend verify / verify (push) Failing after 4m58s
2026-10-23 08:34:39 +03:00
ksv741
e3e12260ce
feat: log unhandled errors and pretty dev output ( WealthLedger/backend#120 )
Backend verify / commits (pull_request) Successful in 37s
Backend verify / security (pull_request) Successful in 15s
Backend verify / verify (pull_request) Failing after 3m40s
2026-10-20 21:44:20 +03:00
codex-bot
32622c1dad
test: cover auth token, cookie and expiry boundaries (WealthLedger/backend#61) ( #113 )
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 12s
Backend verify / verify (push) Failing after 6m26s
2026-10-18 15:55:05 +03:00
codex-bot
8a6f60d965
fix: translate permanent invalid-token errors on online entrypoints (WealthLedger/backend#59) ( #110 )
Backend verify / commits (push) Skipped
Backend verify / commits (pull_request) Failing after 33s
Backend verify / security (pull_request) Skipped
Backend verify / verify (pull_request) Skipped
Backend verify / security (push) Successful in 11s
Backend verify / verify (push) Failing after 6m40s
2026-10-16 23:23:12 +03:00
codex-bot
e03fad622b
fix: align password policy to 8-72 printable ASCII on register (WealthLedger/backend#60) ( #109 )
Backend verify / commits (push) Skipped
Backend verify / commits (pull_request) Failing after 32s
Backend verify / security (pull_request) Skipped
Backend verify / verify (pull_request) Skipped
Backend verify / security (push) Successful in 10s
Backend verify / verify (push) Failing after 6m21s
2026-10-16 10:00:47 +03:00
codex-bot
ec6d9a2639
test: replace metadata sleeps with upstream start barriers (WealthLedger/backend#63) ( #102 )
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 15s
Backend verify / verify (push) Failing after 6m46s
2026-10-15 14:46:09 +03:00
codex-bot
7bc7d8ddec
test: replace late portfolio sleep with started and done barriers (WealthLedger/backend#63) ( #101 )
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 12s
Backend verify / verify (push) Failing after 6m21s
2026-10-15 12:23:14 +03:00
codex-bot
9e4f9d9cab
test: isolate HTTP suites from scheduler and bank-card case order (WealthLedger/backend#65) ( #100 )
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 12s
Backend verify / verify (push) Failing after 5m59s
2026-10-15 11:50:47 +03:00
codex-bot
96d4de4195
refactor: remove unreachable catalog producer and sync orchestration (WealthLedger/backend#62) ( #98 )
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 12s
Backend verify / verify (push) Failing after 5m47s
2026-10-15 10:46:58 +03:00
codex-bot
2ad3517d87
fix: restore screener OpenAPI constraints (WealthLedger/backend#70) ( #95 )
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 12s
Backend verify / verify (push) Failing after 5m50s
2026-10-15 06:00:39 +03:00
codex-bot
6975853656
fix: skip hourly terms overlapped by a long walk ( WealthLedger/backend#54 )
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 13s
Backend verify / verify (push) Failing after 6m56s
2026-10-14 22:43:08 +03:00
codex-bot
14bcb9da5f
fix: surface durable hourly attempt in accounts and income meta ( WealthLedger/backend#58 )
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 17s
Backend verify / verify (push) Failing after 7m31s
2026-10-14 18:00:20 +03:00
codex-bot
1033d2114e
test: slim sqlite runner regression workload ( WealthLedger/backend#72 )
...
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 11s
Backend verify / verify (push) Failing after 5m47s
Closes #72
2026-10-14 08:34:37 +03:00
codex-bot
31b0e15579
feat: unify income payment cards and drop period comparisons (WealthLedger/main#33) ( #83 )
...
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 13s
Backend verify / verify (push) Failing after 7m1s
feat: unify income payment cards and drop period comparisons (WealthLedger/main#33 )
2026-10-13 18:16:46 +03:00
ksv741
52fa3a36ba
fix: bound hourly step awaits by the per-step wait limit ( #56 )
Backend verify / commits (pull_request) Successful in 32s
Backend verify / security (pull_request) Successful in 12s
Backend verify / verify (pull_request) Successful in 5m45s
2026-10-12 22:17:53 +03:00
ksv741
fa57a201fd
fix: restore terminal hourly lifecycle after persistence failure ( #56 )
Backend verify / commits (pull_request) Successful in 33s
Backend verify / security (pull_request) Successful in 12s
Backend verify / verify (pull_request) Successful in 5m48s
2026-10-12 20:42:19 +03:00
ksv741
7d10ef8adf
feat: add stock screener
Backend verify / commits (pull_request) Successful in 28s
Backend verify / security (pull_request) Successful in 11s
Backend verify / verify (pull_request) Successful in 4m45s
2026-10-11 11:18:21 +03:00
ksv741
bc631e72de
test: align resource availability metadata
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 13s
Backend verify / verify (push) Failing after 6m21s
2026-10-09 23:10:50 +03:00
ksv741
947ffefa9b
fix: keep candle retries read-only
2026-10-09 23:10:50 +03:00
ksv741
db375cbee7
test: align all accounts metadata
2026-10-09 23:10:50 +03:00
ksv741
966b2a5836
test: align upcoming events with local reads
2026-10-09 23:10:50 +03:00
ksv741
2facd8675c
test: increase ledger request timeout
Backend verify / commits (pull_request) Successful in 33s
Backend verify / security (pull_request) Successful in 11s
Backend verify / verify (pull_request) Successful in 5m21s
2026-10-09 09:50:59 +03:00
ksv741
4870d49503
test: extend ledger sqlite timeout
Backend verify / commits (pull_request) Successful in 32s
Backend verify / security (pull_request) Successful in 10s
Backend verify / verify (pull_request) Failing after 4m32s
2026-10-09 09:43:41 +03:00
ksv741
0057925888
feat: add hourly portfolio sync history
Backend verify / commits (pull_request) Successful in 33s
Backend verify / security (pull_request) Failing after 12s
Backend verify / verify (pull_request) Skipped
2026-10-09 09:04:41 +03:00
ksv741
01e2de6a04
test: separate performance budget from e2e gate
Backend verify / commits (pull_request) Successful in 38s
Backend verify / security (pull_request) Successful in 39s
Backend verify / verify (pull_request) Successful in 5m46s
Backend verify / commits (push) Skipped
Backend verify / security (push) Successful in 16s
Backend verify / verify (push) Successful in 6m50s
2026-10-07 16:35:23 +03:00
ksv741
d698ed9425
refactor!: simplify runtime coordination #7
...
Backend verify / commits (pull_request) Successful in 29s
Backend verify / security (pull_request) Successful in 8s
Backend verify / verify (pull_request) Failing after 9m36s
Keep financial ownership, atomic publication and refresh CAS.
Failed refresh leaves cookies untouched; logout still clears them.
Remove full-history candle prefetch and special metadata retries.
Use native Pino request context instead of parallel middleware.
BREAKING CHANGE: remove investment stateVersion, queued sync state,
and tbank-sync status progress/resources. Consumers must observe
resources through sync=observe with the updated frontend contract.
2026-10-03 11:38:08 +03:00
ksv741
14a204de0d
chore: guard backend responsibility boundaries
Backend verify / commits (pull_request) Successful in 35s
Backend verify / security (pull_request) Successful in 9s
Backend verify / verify (pull_request) Successful in 10m0s
2026-10-01 20:53:01 +03:00
ksv741
a13cf84ead
refactor: isolate operation ranges and intents
2026-10-01 20:53:01 +03:00
ksv741
190eb90ffe
refactor: clarify nullable card metadata
2026-10-01 20:53:00 +03:00
ksv741
e76eb545d7
perf: group catalog source reads by identity
Backend verify / commits (pull_request) Successful in 30s
Backend verify / security (pull_request) Successful in 8s
Backend verify / verify (pull_request) Successful in 10m48s
2026-09-28 16:23:58 +03:00
ksv741
7d2262fb43
fix: resolve build imports before linting
...
Backend verify / commits (pull_request) Successful in 29s
Backend verify / security (pull_request) Successful in 8s
Backend verify / verify (pull_request) Failing after 11m25s
Resolve dist imports in runtime scripts against their TypeScript sources.
Keep missing-module checks enabled and cover absent build output in the lint gate.
Verified npm ci, prisma generate and full verify with dist absent at startup.
2026-09-28 15:48:44 +03:00
ksv741
2d14081d27
refactor: enforce enum machine codes
...
Backend security / security (push) Successful in 8s
Backend security / security (pull_request) Canceled after 0s
Backend verify / verify (push) Canceled after 9s
Backend verify / verify (pull_request) Canceled after 4s
Conventional commits / commits (pull_request) Successful in 31s
Use owner enums for error and T-Bank protocol values with ESLint regression checks.
Preserve open wire fallbacks and keep protocol imports independent of DI and Prisma.
Verified npm ci, verify, 226 unit tests, 262 isolated e2e tests and unchanged OpenAPI.
2026-09-28 13:18:06 +03:00
ksv741
0303e60b64
style: align multiline ternary operators
Backend security / security (push) Successful in 8s
Backend verify / verify (push) Failing after 2m11s
Backend security / security (pull_request) Successful in 8s
Backend verify / verify (pull_request) Failing after 2m17s
Conventional commits / commits (pull_request) Successful in 34s
2026-09-28 12:33:56 +03:00
ksv741
9cc9fbdcff
refactor: replace ignored numeric literals with constants
Backend security / security (push) Successful in 8s
Backend verify / verify (push) Failing after 2m17s
Conventional commits / commits (pull_request) Successful in 31s
Backend security / security (pull_request) Successful in 8s
Backend verify / verify (pull_request) Failing after 1m56s
2026-09-28 11:24:59 +03:00
ksv741
9b3558f96c
chore: strengthen backend eslint profile
2026-09-28 11:04:18 +03:00
ksv741
4796d9d3f0
fix: harden auth and investment synchronization
...
Backend security / security (push) Successful in 8s
Backend verify / verify (push) Successful in 11m9s
Conventional commits / commits (pull_request) Successful in 28s
Backend security / security (pull_request) Successful in 7s
Backend verify / verify (pull_request) Successful in 10m38s
Resolve A01-A10 and C01-C07 from the backend audit.
Preserve auth failures, forced candle reconciliation and forecast freshness.
Validate MOEX responses and nested HTTP errors; remove unused legacy paths.
Verified: 209 unit tests, 262 SQLite e2e tests on Linux, OpenAPI and durability.
Record the remaining macOS native SQLite abort in the audit.
2026-09-27 14:09:05 +03:00
ksv741
516e43203e
fix(investments): align roles and date contracts
...
Backend security / security (push) Successful in 9s
Backend verify / verify (push) Successful in 10m23s
Backend security / security (pull_request) Successful in 8s
Backend verify / verify (pull_request) Successful in 10m39s
Conventional commits / commits (pull_request) Successful in 29s
Identify income dependencies by role and document screen-specific dates.
Convert inclusive calendar days into half-open source ranges while
preserving operation timestamps and existing stored coverage.
2026-09-27 11:38:13 +03:00
ksv741
e4232138d0
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
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.
2026-09-26 21:45:50 +03:00
ksv741
d6e6c4ace5
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
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.
2026-09-26 21:29:15 +03:00
ksv741
1a6be432f2
feat: add backend container delivery
Backend security / security (push) Failing after 5s
Backend verify / verify (push) Successful in 2m19s
Backend security / security (pull_request) Failing after 5s
Backend verify / verify (pull_request) Successful in 2m17s
Conventional commits / commits (pull_request) Successful in 25s
2026-09-16 09:41:56 +03:00
ksv741
32c12fb10d
feat: generate OpenAPI without peer repositories
Backend security / security (pull_request) Successful in 7s
Backend verify / verify (pull_request) Successful in 2m28s
Conventional commits / commits (pull_request) Successful in 25s
Backend security / security (push) Successful in 6s
Backend verify / verify (push) Successful in 2m16s
2026-09-15 20:45:39 +03:00
ksv741
ce24a84b7f
fix: make SQLite migrations and e2e reproducible
2026-09-13 14:52:09 +03:00
ksv741
8ba005346d
refactor: organize backend by business responsibility
2026-09-13 13:52:57 +03:00
ksv741
7fde3ece6e
test: cover isolated SQLite invariants and durability
2026-09-13 12:33:17 +03:00
ksv741
346a6f0057
refactor: enforce strict backend typing
...
Enable strict TypeScript and reject non-null and definite-assignment assertions. Declare externally populated DTO fields, preserve runtime validation, and narrow values at their owners.
Verified: backend verify (257 tests), unchanged OpenAPI, and 21 SQLite/HTTP tests on retry. The initial SQLite run had two timeouts; baseline HEAD passed 21 tests as well.
2026-09-13 12:17:46 +03:00
ksv741
3cf883efbc
feat(cards): support inclusive date range queries
2026-09-12 21:52:17 +03:00
ksv741
8c074d85de
chore: save pending changes
2026-09-12 19:59:10 +03:00
ksv741
e6f58ef0ee
feat: add manual bank card ledger
...
Store exact RUB balances, atomic transfers, linked refunds and versioned edits independently of T-Bank. Add migration, HTTP and durability verification.
2026-09-12 18:34:18 +03:00
ksv741
a79f59a468
feat(events): support date range filtering
2026-09-12 11:57:41 +03:00