From eb69300ebed41bc19e78909195387dce4e2c0ec7 Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Mon, 24 Aug 2026 13:08:52 +0300 Subject: [PATCH] docs: record frontend quality guardrails evidence --- development/audit-remediation.md | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/development/audit-remediation.md b/development/audit-remediation.md index e9c1ec9..55b12e7 100644 --- a/development/audit-remediation.md +++ b/development/audit-remediation.md @@ -15,8 +15,13 @@ ## Текущее состояние workflow - Bootstrap change: [`2026-08-23-establish-audit-remediation-workflow`](../../specs/openspec/changes/archive/2026-08-23-establish-audit-remediation-workflow/) — `archived`; это process foundation и не закрывает ни одного Audit ID. -- Последний завершённый audit remediation change: [`2026-08-24-address-dependency-advisories-and-repo-hygiene`](../../specs/openspec/changes/archive/2026-08-24-address-dependency-advisories-and-repo-hygiene/) — `archived`; WL-P2-12, WL-P3-07 и WL-P3-08 закрыты. -- Активный audit remediation change: [`tighten-frontend-quality-guardrails`](../../specs/openspec/changes/tighten-frontend-quality-guardrails/) — `active`; scope ограничен WL-P3-02, WL-P3-03, WL-P3-05 и WL-P3-06. +- Последний завершённый audit remediation change: [`2026-08-24-tighten-frontend-quality-guardrails`](../../specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/) — `archived`; WL-P3-02, WL-P3-03, WL-P3-05 и WL-P3-06 закрыты. +- Активных audit remediation changes нет. + +## Следующая задача + +`tighten-backend-request-feedback`: выбрать policy для unknown request fields и +зафиксировать её в новом OpenSpec change для WL-P3-01. ## Реестр findings @@ -53,11 +58,11 @@ | Audit ID | Цель | Репозитории | Статус | Связанный change | Следующее действие | Terminal evidence | | --- | --- | --- | --- | --- | --- | --- | | WL-P3-01 | Сделать unknown request fields явной ошибкой или документированной policy. | backend | planned | `tighten-backend-request-feedback` (ещё не создан) | Выбрать validation policy. | — | -| WL-P3-02 | Устранить shared i18n import cycle. | frontend | active | [`tighten-frontend-quality-guardrails`](../../specs/openspec/changes/tighten-frontend-quality-guardrails/) | Добавить cycle rule и leaf import. | — | -| WL-P3-03 | Восстановить FSD public API boundary. | frontend | active | [`tighten-frontend-quality-guardrails`](../../specs/openspec/changes/tighten-frontend-quality-guardrails/) | Расширить dependency rule. | — | +| WL-P3-02 | Устранить shared i18n import cycle. | frontend | done | [`2026-08-24-tighten-frontend-quality-guardrails`](../../specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/) | — | 2026-08-24; frontend `1fc269a`, specs `2029519`, docs `fa5db07`; Node 22 `npm run verify` — passed. | +| WL-P3-03 | Восстановить FSD public API boundary. | frontend | done | [`2026-08-24-tighten-frontend-quality-guardrails`](../../specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/) | — | 2026-08-24; frontend `1fc269a`, specs `2029519`, docs `fa5db07`; dependency fixture gate — passed. | | WL-P3-04 | Исправить базовые language/loading accessibility semantics. | frontend | planned | — | Пересмотреть при включении accessibility в MVP scope. | — | -| WL-P3-05 | Ввести пропорциональный bundle regression budget. | frontend | active | [`tighten-frontend-quality-guardrails`](../../specs/openspec/changes/tighten-frontend-quality-guardrails/) | Проверить route splitting boundaries. | — | -| WL-P3-06 | Добавить coverage ratchet только как regression signal. | frontend | active | [`tighten-frontend-quality-guardrails`](../../specs/openspec/changes/tighten-frontend-quality-guardrails/) | Зафиксировать baseline после risk tests. | — | +| WL-P3-05 | Ввести пропорциональный bundle regression budget. | frontend | done | [`2026-08-24-tighten-frontend-quality-guardrails`](../../specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/) | — | 2026-08-24; frontend `1fc269a`, specs `2029519`, docs `fa5db07`; initial JS payload 509,165 B ≤ 512,000 B. | +| WL-P3-06 | Добавить coverage ratchet только как regression signal. | frontend | done | [`2026-08-24-tighten-frontend-quality-guardrails`](../../specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/) | — | 2026-08-24; frontend `1fc269a`, specs `2029519`, docs `fa5db07`; coverage 82.57/76.08/77.35/83.48% — passed. | | WL-P3-07 | Защитить рабочий `.env` от случайного commit. | frontend, specs, docs | done | [`2026-08-24-address-dependency-advisories-and-repo-hygiene`](../../specs/openspec/changes/archive/2026-08-24-address-dependency-advisories-and-repo-hygiene/) | — | 2026-08-24; frontend `826936c`, specs `8897bd9`, docs `60a1c33`; hygiene check passed. | | WL-P3-08 | Исключить runtime SQLite DB из Git. | backend, specs, docs | done | [`2026-08-24-address-dependency-advisories-and-repo-hygiene`](../../specs/openspec/changes/archive/2026-08-24-address-dependency-advisories-and-repo-hygiene/) | — | 2026-08-24; backend `6052565`, specs `8897bd9`, docs `60a1c33`; hygiene check passed. | @@ -65,6 +70,16 @@ Terminal evidence добавляется сюда только после завершения соответствующего change. +### 2026-08-24 — WL-P3-02, WL-P3-03, WL-P3-05, WL-P3-06: done + +Change синхронизирован в canonical specs и архивирован в [`2026-08-24-tighten-frontend-quality-guardrails`](../../specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/). + +- Затронутые Git-репозитории: frontend `1fc269a` (`feat: enforce frontend quality guardrails`), specs `2029519` (`docs(specs): archive frontend quality guardrails`), docs `fa5db07` (`docs: activate frontend quality guardrails remediation`); terminal evidence фиксируется следующим docs commit. +- Frontend под Node 22.21.0: `npm run verify` — passed: OpenAPI and hygiene checks, strict TypeScript, Biome, 17 test files / 56 tests, coverage all committed `src` 82.57% statements / 76.08% branches / 77.35% functions / 83.48% lines, Knip, dependency gate с четырьмя fixtures, production build и bundle gate. Initial JavaScript payload — 509,165 B при budget 512,000 B; committed lazy baselines включают все dynamic route boundaries, включая `ProtectedLayout`. +- `openspec validate tighten-frontend-quality-guardrails --type change --strict --store wealth-ledger-specs` — passed до archive; после sync/archive `openspec validate --specs --strict --store wealth-ledger-specs` — 18 passed, 0 failed; `bash specs/scripts/verify-openspec-authority.sh` и `git diff --check` по затронутым repositories — passed. +- `opsx-verify` не установлен как shell executable; выполнена эквивалентная процедура из `.opencode/skills/openspec-verify-change/SKILL.md`: completeness 21/21 tasks, 3 requirements / 7 scenarios, correctness и coherence — без blocking findings. Independent read-only review нашёл три Important guardrail gaps; после fixes re-review — без Critical или Important findings. +- WL-P3-04 остаётся `planned` по явному решению owner: application accessibility semantics не входят в текущий MVP scope. Следующая единственная recommended задача — `tighten-backend-request-feedback` для WL-P3-01. + ### 2026-08-24 — WL-P2-12, WL-P3-07, WL-P3-08: done Change синхронизирован в canonical specs и архивирован в [`2026-08-24-address-dependency-advisories-and-repo-hygiene`](../../specs/openspec/changes/archive/2026-08-24-address-dependency-advisories-and-repo-hygiene/).