docs: record Mantine breadcrumbs evidence
This commit is contained in:
@@ -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, текущая — `<span aria-current="page">`; удалены кастомные
|
||||
`breadcrumbs-*` классы, адаптивное правило `data-depth="3"` и базовое
|
||||
оформление ссылок сохранены; маршруты, цепочки, aria и ссылки не изменились.
|
||||
|
||||
### Independent read-only review
|
||||
|
||||
Verdict: **PASS**. Первый review выявил 1 Important и 2 Minor findings:
|
||||
(1) сепаратор «→» потерял `aria-hidden`, что меняло доступный tree — исправлено
|
||||
на `separator={<span aria-hidden="true">→</span>}` с добавлением теста; (2)
|
||||
потерян `margin-bottom: 1rem` — восстановлен через `[data-depth]`; (3) потерян
|
||||
accent-цвет ссылок — восстановлен через `[data-depth] a`. Повторная проверка
|
||||
подтвердила: Critical — `0`, Important — `0`, Minor — `0`. Review также
|
||||
подтвердил неизменность routing/chain-логики, сохранение `<nav>`/`aria-label`/
|
||||
`data-depth`, адаптивного скрытия промежуточных крошек и отсутствие остаточных
|
||||
`breadcrumbs-*` ссылок во `frontend/src`.
|
||||
|
||||
Reference in New Issue
Block a user