From 6812fdeae36faf93e682d1ec089bd2e839ea6fdc Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Tue, 25 Aug 2026 15:34:37 +0300 Subject: [PATCH] docs: record React component style evidence --- development/completion-evidence.md | 51 ++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/development/completion-evidence.md b/development/completion-evidence.md index 426a496..969602b 100644 --- a/development/completion-evidence.md +++ b/development/completion-evidence.md @@ -192,3 +192,54 @@ query params/keys, `staleTime` и `retry: false` сохранены, а оста явному non-goal Design. Residual risk: full AuthProvider login/refresh/logout path enabling/disabling authenticated queries покрыт ограниченно; direct session snapshot transition через `configureAuthClient` покрыт regression test. + +## 2026-08-25-codify-frontend-component-style + +**Change:** codify-frontend-component-style (schema `wealth-ledger-sdd`) +**Archive path:** `specs/openspec/changes/archive/2026-08-25-codify-frontend-component-style` +**Specs sync:** дельта `frontend-quality-guardrails` слита в main spec; `openspec validate --specs --strict --store wealth-ledger-specs` — `20 passed, 0 failed`. + +### Delivery Map + +| Area | Status | Outcome | +| --- | --- | --- | +| frontend | affected | Authored React components мигрированы на const-valued `FC` declarations; props destructuring перенесён внутрь component body; лишние children-only props aliases удалены в пользу `FC`; чистые barrels используют direct re-exports; Biome gate блокирует проверяемую часть style | +| backend | N/A | Backend behavior, routes, DTOs, persistence и runtime OpenAPI contract не менялись | +| specs | affected | Delta `frontend-quality-guardrails` синхронизирована в main spec, change заархивирован | +| docs | N/A | As-built product docs не менялись; Completion Evidence добавлен отдельным финальным docs-коммитом | + +### Delivery commits + +| Repo | Commit | Subject | +| --- | --- | --- | +| frontend | `d10e1dd1827094e6e52768f0ccd2ea060aef95a1` | chore: codify React component style | +| backend | — | N/A | +| specs | `6898732dd8e933e9d6a587aef48ebe0eddaa0cf2` | docs: archive React component style change | +| docs | current evidence commit | docs: record React component style evidence | + +### Verification + +| Command (repo) | Наблюдённый результат | +| --- | --- | +| `npm run typecheck` (frontend, baseline before structural edits) | pass | +| `npm run test:coverage` (frontend, baseline before structural edits) | pass; 21 test files / 67 tests | +| `npm exec biome -- check .tmp-biome-style/compliant.tsx` (frontend) | pass; compliant representative sample accepted | +| `npm exec biome -- check .tmp-biome-style/function-component.tsx` (frontend) | failed as expected with `lint/nursery/useReactFunctionComponentDefinition` | +| `npm exec biome -- check .tmp-biome-style/default-export.tsx` (frontend) | failed as expected with `lint/style/noDefaultExport` | +| `npm exec biome -- check .tmp-biome-style/export-order.tsx` (frontend) | failed as expected with `lint/style/useExportsLast` | +| `rg "type \\w+Props = PropsWithChildren;" frontend/src -g '!shared/api/generated/**'` (workspace) | no matches | +| `rg -n "^import \\{ .+ \\} from \\\"\\." frontend/src/**/index.ts` (workspace) | no matches | +| `PATH=/Users/ksv741/.nvm/versions/node/v22.21.0/bin:$PATH npm run verify` (frontend) | pass; runtime Node 22.21.0, OpenAPI/hygiene/typecheck/lint/vitest/knip/deps/build/bundle checks passed; 21 test files / 67 tests; initial JavaScript payload 510523 bytes | +| `bash specs/scripts/verify-workspace-change.sh codify-frontend-component-style` (workspace, Node 22.21.0) | pass; Delivery Map verified frontend/specs=affected, backend/docs/runtime-openapi=N/A; main specs 20 passed, frontend canonical verification passed | +| `openspec archive codify-frontend-component-style --yes --store wealth-ledger-specs` (specs) | pass; archived as `2026-08-25-codify-frontend-component-style` | +| `openspec validate --specs --strict --store wealth-ledger-specs` (specs, post-archive) | pass; 20 passed, 0 failed | +| `git diff --check` (frontend/specs) | pass | + +### Independent read-only review + +Verdict: **PASS**. Critical и Important findings отсутствовали. Minor findings +о mixed-language summary и stale wording устранены до archive. После уточнения +Change Owner дополнительно удалены children-only aliases вида +`type TestWrapperProps = PropsWithChildren` и чистые barrel imports ради +последующего re-export; обе convention-проверки подтверждены пустыми `rg` +результатами. Generated OpenAPI source остался вне manual migration.