diff --git a/development/completion-evidence.md b/development/completion-evidence.md index 753e482..a02a43e 100644 --- a/development/completion-evidence.md +++ b/development/completion-evidence.md @@ -7,6 +7,58 @@ delivery commits, точные verification commands с наблюдёнными итог independent read-only review. Записи добавляются после archive и являются неизменяемой историей поставки. +## 2026-09-01-harden-tbank-connection-cache-boundary + +**Change:** harden-tbank-connection-cache-boundary (schema `wealth-ledger-sdd`) +**Archive path:** `specs/openspec/changes/archive/2026-09-01-harden-tbank-connection-cache-boundary` +**Specs sync:** Requirement `Frontend сохраняет когерентность кэша T-Bank +connection` обновлён в main spec `frontend-query-coherence`; post-archive strict +validation подтвердил `23 passed, 0 failed`. + +### Delivery Map + +| Area | Status | Outcome | +| --- | --- | --- | +| frontend | affected | Successful T-Bank connection mutation коммитит status и сбрасывает весь generated brokerage query subtree без reuse предыдущей connection boundary. | +| backend | affected | Portfolio, Account Ledger и производные Income caches допускают hit, fallback и late completion reuse только внутри opaque generation текущей persisted connection. | +| specs | affected | Approved change заархивирован, а пересмотренный Requirement синхронизирован в canonical main specs. | +| docs | affected | As-built connection, Portfolio, Account Ledger и domain glossary описывают generation isolation, frontend reset, current-generation snapshot и отдельный logout cleanup. | + +### Delivery commits + +| Repo | Commit | Subject | +| --- | --- | --- | +| frontend | `175727bc93876f950280d0ad35515a6d4acffbaf` | fix(tbank): reset connection-derived query cache | +| backend | `19fe7e75d59792e9c6d6b702ab192fa2d5ccc936` | fix(tbank): isolate caches by connection generation | +| specs (archive/sync) | `0386b6b26fa06014182736d1773eb2e48c0293dc` | docs(specs): archive T-Bank cache boundary change | +| docs (as-built) | `3d2bc1eac4add7cc3316c97d4d02a78fe91620d5` | docs: document T-Bank cache generation boundary | +| docs (evidence) | current evidence commit | docs: record T-Bank cache boundary evidence | + +### Verification + +| Command (repo) | Наблюдённый результат | +| --- | --- | +| `npm run verify` (frontend, Node 22, pre-archive) | pass; strict TypeScript, Biome, 22 Vitest files / 91 tests, Knip, dependency-cruiser и production build. | +| `npm run verify` (backend, Node 22, pre-archive) | pass; lint, application/test typecheck, 25 Jest suites / 99 tests и build. | +| `npm run verify` (docs, Node 22, pre-archive) | pass; 39 Markdown files, 0 issues, `git diff --check` clean. | +| `openspec validate harden-tbank-connection-cache-boundary --type change --strict --store wealth-ledger-specs` (specs, Node 22, pre-archive) | pass; completed change valid. | +| `openspec archive harden-tbank-connection-cache-boundary --yes --store wealth-ledger-specs` (specs, Node 22) | pass; all Tasks complete, `frontend-query-coherence` synced, change archived as `2026-09-01-harden-tbank-connection-cache-boundary`. | +| `openspec validate --specs --strict --store wealth-ledger-specs` (specs, Node 22, post-archive) | pass; `23 passed, 0 failed`. | + +Все Tasks были завершены до archive. Semantic verification подтвердила +successful create/replace/delete как общую frontend/backend cache boundary: +status коммитится сразу, cached и late completions предыдущей generation не +обслуживают новый consumer, failed mutation и current-generation background +snapshot сохраняются, а logout независимо очищает session cache. Storage schema, +endpoints и OpenAPI contract не изменились. + +### Independent read-only review + +Verdict: **PASS**. Critical findings — `0`, Important findings — `0`. +Validation No. 1 подтвердила Requirement, Design и Tasks на итоговом +frontend/backend/docs scope без blocking implementation или specification +findings. + ## 2026-08-28-portfolio-income-analytics **Change:** portfolio-income-analytics (schema `wealth-ledger-sdd`)