docs: record frontend view model boundary evidence

This commit is contained in:
2026-08-25 13:19:58 +03:00
parent 0c53c50c62
commit 373c18a2f1
+49
View File
@@ -1,5 +1,7 @@
# Completion Evidence # Completion Evidence
<!-- markdownlint-disable MD024 -->
Фактические записи о поставке завершённых changes: Delivery Map, archive path, Фактические записи о поставке завершённых changes: Delivery Map, archive path,
delivery commits, точные verification commands с наблюдёнными результатами и delivery commits, точные verification commands с наблюдёнными результатами и
итог independent read-only review. Записи добавляются после archive и являются итог independent read-only review. Записи добавляются после archive и являются
@@ -91,3 +93,50 @@ archive: (1) изменение ассерта в stale-тесте объясн
поведения облигаций согласно дельте; (2) хрупкий глобальный скан стилей поведения облигаций согласно дельте; (2) хрупкий глобальный скан стилей
усилен до `toHaveLength(1)` вместо `some()`. 2 SUGGESTION приняты без усилен до `toHaveLength(1)` вместо `some()`. 2 SUGGESTION приняты без
действий (существующий паттерн хардкода URL в тестах, именование тестов). действий (существующий паттерн хардкода URL в тестах, именование тестов).
## 2026-08-25-codify-frontend-view-model-boundary
**Change:** codify-frontend-view-model-boundary (schema `wealth-ledger-sdd`)
**Archive path:** `specs/openspec/changes/archive/2026-08-25-codify-frontend-view-model-boundary`
**Specs sync:** `skip_specs: true`; change закрепляет frontend/docs/process
границы View/ViewModel без изменения runtime product requirements.
### Delivery Map
| Area | Status | Outcome |
| --- | --- | --- |
| frontend | affected | `AccountPage` разделён на thin container, ViewModel и props-only view; VM владеет data/auth/router/application hooks и derived presentation model; view оставлен только с `useTranslation`; крупные смысловые секции вынесены в небольшие presentation components; добавлены VM regression tests |
| backend | N/A | API и backend-поведение не менялись |
| specs | affected | OpenSpec change заархивирован после workspace verification |
| docs | N/A | As-built product docs не менялись; Completion Evidence добавлен отдельным финальным docs-коммитом |
### Delivery commits
| Repo | Commit | Subject |
| --- | --- | --- |
| frontend | `fff36f252aa1a7bb18042c8fc2d06262b687b0b1` | refactor: enforce account page view model boundary |
| backend | — | N/A |
| specs | `5cc42f30cab997a6d0889c124279d06d64fc8e07` | docs(specs): archive frontend view model boundary change |
| docs | current evidence commit | docs: record frontend view model boundary evidence |
### Verification
| Command (repo) | Наблюдённый результат |
| --- | --- |
| `npm run test:run -- src/pages/account/ui/AccountPage.test.tsx` (frontend, baseline) | pass; 1 файл, 12 тестов |
| `npm run test:run -- src/pages/account/ui/AccountPage.test.tsx src/pages/account/ui/AccountPage.vm.test.tsx` (frontend) | pass; 2 файла, 15 тестов |
| `npm run typecheck` (frontend) | pass |
| `npm run lint` (frontend) | pass |
| `npm run knip` (frontend) | pass |
| `npm run deps` (frontend) | pass |
| `npm ci && npm run verify` (frontend, Node 22.21.0) | pass; runtime/hygiene/typecheck/lint/vitest/knip/deps/build/bundle-budget без ошибок; 18 test files / 64 tests |
| `openspec validate codify-frontend-view-model-boundary --type change --strict --store wealth-ledger-specs` (specs) | pass |
| `bash specs/scripts/verify-workspace-change.sh codify-frontend-view-model-boundary` (workspace, Node 22.21.0) | pass; Delivery Map verified frontend/specs=affected, backend/docs/runtime-openapi=N/A |
| `openspec validate --specs --strict --store wealth-ledger-specs` (specs) | pass; 20 passed, 0 failed |
| `bash specs/scripts/verify-openspec-authority.sh` (workspace) | pass |
| `git diff --check` (frontend/specs) | pass |
### Independent read-only review
Verdict: **PASS**. Critical и Important findings отсутствовали. Minor hygiene:
удалены случайные `.DS_Store` файлы из `specs` до archive/commit.