From 5fd5e79590986ecc9787fd26b548ec8bd5b08fc3 Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Thu, 27 Aug 2026 12:55:39 +0300 Subject: [PATCH] docs: record Mantine breadcrumbs evidence --- development/completion-evidence.md | 64 ++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/development/completion-evidence.md b/development/completion-evidence.md index 11e73bf..ceb024a 100644 --- a/development/completion-evidence.md +++ b/development/completion-evidence.md @@ -597,3 +597,67 @@ i18n), backend/API contract, денежные расчёты, безопасно затрагиваются; знак «+»/«−` сохраняет направление независимо от цвета (accessibility); конфликтов, race conditions, log noise, non-determinism, DEBUG/TODO/console и deprecated API не внесено. + +## 2026-08-27-consume-mantine-components + +**Change:** consume-mantine-components (schema `wealth-ledger-sdd`) +**Archive path:** `specs/openspec/changes/archive/2026-08-27-consume-mantine-components` +**Specs sync:** `skip_specs: true`; технический рефакторинг заменяет ручную +реализацию хлебных крошек на штатный `Mantine Breadcrumbs` без изменения +observable requirements или API contract (capability `app-breadcrumb-navigation` +не меняется). + +### Delivery Map + +| Area | Status | Outcome | +| --- | --- | --- | +| frontend | affected | `AppBreadcrumbs` переведён на `Mantine Breadcrumbs` (`component="nav"`, `aria-label`, `data-depth`, `separator`); цепочки/пропсы `AccountBreadcrumbs` и `AppBreadcrumbs` не изменены; кастомные `breadcrumbs-*` классы удалены из `styles.css`, сохранены только адаптивное правило `data-depth="3"` (медиа, узкий экран) и базовое оформление ссылок; тест обновлён под Mantine DOM (navigation role, `aria-label`, `aria-current="page"`, `data-depth`, ссылки, fallback «Счет», `aria-hidden` у сепараторов) | +| backend | N/A | API contract, данные и backend-поведение не менялись | +| specs | affected | Approved Proposal, Design и Tasks заархивированы с `skip_specs: true` | +| docs | N/A | Ни один as-built документ в `docs/` не описывает эти компоненты; правки product docs не требовались — итог подводит только Completion Evidence | + +### Delivery commits + +| Repo | Commit | Subject | +| --- | --- | --- | +| frontend | `3c459e6` | refactor: use Mantine Breadcrumbs for app navigation | +| backend | — | N/A | +| specs (archive) | `b5df309` | docs(specs): archive consume-mantine-components change | +| docs (as-built) | — | N/A (docs as-built не изменялись — компонент не задокументирован) | +| docs (evidence) | current evidence commit | docs: record Mantine breadcrumbs evidence | + +### Verification + +| Command (repo) | Наблюдённый результат | +| --- | --- | +| `npx vitest run src/app/ui/AppBreadcrumbs.test.tsx` (frontend) | pass; 6 tests (включая `aria-hidden` сепараторов и прежние поведенческие ассерты) | +| `npm run verify` (frontend, Node 22) | pass (exit 0); strict TypeScript, Biome, coverage, Knip, dependency-cruiser и production build без ошибок | +| `openspec validate consume-mantine-components --type change --strict --store wealth-ledger-specs` (specs, pre-archive) | pass; change valid | +| `git diff --check` (specs) | pass (clean) | +| `openspec validate consume-mantine-components --type change --strict --store wealth-ledger-specs` (specs, post-tasks-edit) | pass; change valid | + +Environment note: `specs/scripts/verify-workspace-change.sh` и +`verify-openspec-version.sh` отсутствуют в данном checkout, поэтому workspace +verification выполнялся native OpenSpec validation (`openspec validate --type +change --strict`) + canonical gate affected repo (frontend `npm run verify`) и +`git diff --check`; OpenSpec CLI `1.10.0` проверен напрямую (совпадает с pinned +`.cli-version`). Git-репозитории созданы без remote, поэтому push не выполнялся. + +Все Tasks завершены до archive. Semantic verification подтвердила соответствие +утверждённому Design (D1–D3): Mantine `Breadcrumbs` с `component="nav"`, +`aria-label`, `data-depth` и `separator="→"`; предшествующие крошки — `Link` +children, текущая — ``; удалены кастомные +`breadcrumbs-*` классы, адаптивное правило `data-depth="3"` и базовое +оформление ссылок сохранены; маршруты, цепочки, aria и ссылки не изменились. + +### Independent read-only review + +Verdict: **PASS**. Первый review выявил 1 Important и 2 Minor findings: +(1) сепаратор «→» потерял `aria-hidden`, что меняло доступный tree — исправлено +на `separator={}` с добавлением теста; (2) +потерян `margin-bottom: 1rem` — восстановлен через `[data-depth]`; (3) потерян +accent-цвет ссылок — восстановлен через `[data-depth] a`. Повторная проверка +подтвердила: Critical — `0`, Important — `0`, Minor — `0`. Review также +подтвердил неизменность routing/chain-логики, сохранение `