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,
|
(accessibility); конфликтов, race conditions, log noise, non-determinism,
|
||||||
DEBUG/TODO/console и deprecated API не внесено.
|
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