docs: record React component style evidence
This commit is contained in:
@@ -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<PropsWithChildren>`; чистые 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.
|
||||
|
||||
Reference in New Issue
Block a user