docs: align inventory with simplified conventions
Workspace security / security (pull_request) Successful in 6s
Workspace verify / verify (pull_request) Successful in 20s
Conventional commits / commits (pull_request) Successful in 10s
Workspace security / security (push) Successful in 5s
Workspace verify / verify (push) Successful in 19s

This commit was merged in pull request #9.
This commit is contained in:
2026-09-15 05:58:30 +03:00
parent 93dd5539ad
commit 4a78dd640d
2 changed files with 23 additions and 11 deletions
+9 -10
View File
@@ -32,7 +32,7 @@ Confidence: High / Medium / Low. P0 по проверенной области
- **Location:** [configureApp](../../../backend/src/main.ts), строка 28; - **Location:** [configureApp](../../../backend/src/main.ts), строка 28;
[HttpExceptionFilter](../../../backend/src/common/filters/http-exception.filter.ts), [HttpExceptionFilter](../../../backend/src/common/filters/http-exception.filter.ts),
`catch` / `validationErrors`. `catch` / `validationErrors`.
- **Convention:** [Errors](../../../backend/.ai/conventions/backend-error-handling.md), - **Convention:** [Errors](../../../backend/.ai/conventions/error-handling.md),
[требование](../../../specs/openspec/specs/user-authentication/spec.md#requirement-стандартные-ответы-об-ошибках). [требование](../../../specs/openspec/specs/user-authentication/spec.md#requirement-стандартные-ответы-об-ошибках).
- **Current state:** стандартный ValidationPipe формирует `message: string[]`; - **Current state:** стандартный ValidationPipe формирует `message: string[]`;
filter трактует его как `ValidationError[]`, возвращая пустой `errors`. filter трактует его как `ValidationError[]`, возвращая пустой `errors`.
@@ -50,8 +50,8 @@ Confidence: High / Medium / Low. P0 по проверенной области
- **Location:** [BankCardsRepository](../../../backend/src/modules/banking/bank-cards/infrastructure/bank-cards.repository.ts), - **Location:** [BankCardsRepository](../../../backend/src/modules/banking/bank-cards/infrastructure/bank-cards.repository.ts),
`card(active)` и `write`; callers в `card(active)` и `write`; callers в
[BankOperationsService](../../../backend/src/modules/banking/bank-cards/application/bank-operations.service.ts). [BankOperationsService](../../../backend/src/modules/banking/bank-cards/application/bank-operations.service.ts).
- **Convention:** [Data](../../../backend/.ai/conventions/backend-data.md), - **Convention:** [Data](../../../backend/.ai/conventions/data.md),
[application boundaries](../../../backend/.ai/conventions/backend-architecture.md#ответственность-и-направление-зависимостей). [application boundaries](../../../backend/.ai/architecture.md#ответственность-и-направление-зависимостей).
- **Current state:** repository импортирует application `conflict/missing`, - **Current state:** repository импортирует application `conflict/missing`,
решает запрет archived card и переводит общий P2002 в DuplicateCategory. решает запрет archived card и переводит общий P2002 в DuplicateCategory.
- **Expected state:** repository владеет owner-filtered reads, transaction/retry - **Expected state:** repository владеет owner-filtered reads, transaction/retry
@@ -68,7 +68,7 @@ Confidence: High / Medium / Low. P0 по проверенной области
- **Location:** [BankCardForm](../../../frontend/src/entities/bank-card/ui/BankCardForm.tsx), - **Location:** [BankCardForm](../../../frontend/src/entities/bank-card/ui/BankCardForm.tsx),
[CategoryManager](../../../frontend/src/entities/bank-card/ui/CategoryManager.tsx); [CategoryManager](../../../frontend/src/entities/bank-card/ui/CategoryManager.tsx);
consumers — CardsPage и CardPage. consumers — CardsPage и CardPage.
- **Convention:** [FSD ownership](../../../frontend/.ai/conventions/frontend-architecture.md#выбор-владельца). - **Convention:** [FSD ownership](../../../frontend/.ai/architecture.md#выбор-владельца).
- **Current state:** entity UI координирует создание/редактирование карты, - **Current state:** entity UI координирует создание/редактирование карты,
idempotency intent, submit, version adoption, создание/редактирование категорий. idempotency intent, submit, version adoption, создание/редактирование категорий.
- **Expected state:** самостоятельные пользовательские workflows имеют feature - **Expected state:** самостоятельные пользовательские workflows имеют feature
@@ -84,7 +84,7 @@ Confidence: High / Medium / Low. P0 по проверенной области
- **Location:** [CardPage.view](../../../frontend/src/pages/card/ui/CardPage.view.tsx), - **Location:** [CardPage.view](../../../frontend/src/pages/card/ui/CardPage.view.tsx),
[CardsPage.view](../../../frontend/src/pages/cards/ui/CardsPage.view.tsx), [CardsPage.view](../../../frontend/src/pages/cards/ui/CardsPage.view.tsx),
соответствующие `CardPage.vm.ts` / `CardsPage.vm.ts` рядом. соответствующие `CardPage.vm.ts` / `CardsPage.vm.ts` рядом.
- **Convention:** [Container/VM/view](../../../frontend/.ai/conventions/frontend-ui.md#container-vm-и-view). - **Convention:** [Container/VM/view](../../../frontend/.ai/conventions/ui.md#container-vm-и-view).
- **Current state:** VM отдаёт query objects; views выбирают initial/cached/error - **Current state:** VM отдаёт query objects; views выбирают initial/cached/error
states через `data/isLoading/isError/isPlaceholderData` и вызывают `refetch`. states через `data/isLoading/isError/isPlaceholderData` и вызывают `refetch`.
- **Expected state:** VM выбирает presentation states и retry callbacks, - **Expected state:** VM выбирает presentation states и retry callbacks,
@@ -100,8 +100,7 @@ Confidence: High / Medium / Low. P0 по проверенной области
- **Location:** [AppShell](../../../frontend/src/shared/ui/AppShell.tsx), - **Location:** [AppShell](../../../frontend/src/shared/ui/AppShell.tsx),
`items`, `useLocation`, `Outlet`, nav rendering; public export в shared/ui. `items`, `useLocation`, `Outlet`, nav rendering; public export в shared/ui.
- **Convention:** [FSD](../../../frontend/.ai/conventions/frontend-architecture.md), - **Convention:** [FSD и устройство](../../../frontend/.ai/architecture.md).
[mental model](../../../frontend/.ai/architecture.md).
- **Current state:** shared owner содержит конкретные `/accounts`, `/cards`, - **Current state:** shared owner содержит конкретные `/accounts`, `/cards`,
`/stocks`, `/bonds`, `/settings` и application navigation. `/stocks`, `/bonds`, `/settings` и application navigation.
- **Expected state:** navigation/composition принадлежит app; shared сохраняет - **Expected state:** navigation/composition принадлежит app; shared сохраняет
@@ -118,7 +117,7 @@ Confidence: High / Medium / Low. P0 по проверенной области
[AccountsPageError](../../../frontend/src/pages/accounts/ui/components/AccountsPageError.view.tsx), [AccountsPageError](../../../frontend/src/pages/accounts/ui/components/AccountsPageError.view.tsx),
[StocksPage.view](../../../frontend/src/pages/stocks/ui/StocksPage.view.tsx), [StocksPage.view](../../../frontend/src/pages/stocks/ui/StocksPage.view.tsx),
[BondsPage.view](../../../frontend/src/pages/bonds/ui/BondsPage.view.tsx). [BondsPage.view](../../../frontend/src/pages/bonds/ui/BondsPage.view.tsx).
- **Convention:** [Frontend errors](../../../frontend/.ai/conventions/frontend-data.md#errors), - **Convention:** [Frontend errors](../../../frontend/.ai/conventions/data.md#errors),
[pattern convergence](../../conventions/code-health.md#search--reuse--converge). [pattern convergence](../../conventions/code-health.md#search--reuse--converge).
- **Current state:** несколько owners повторяют `TBANK_NOT_CONNECTED` / - **Current state:** несколько owners повторяют `TBANK_NOT_CONNECTED` /
`INVALID_TBANK_TOKEN` comparisons; presentation/retry actions различаются. `INVALID_TBANK_TOKEN` comparisons; presentation/retry actions различаются.
@@ -136,8 +135,8 @@ Confidence: High / Medium / Low. P0 по проверенной области
`call` (throw Error); [TbankTokenService](../../../backend/src/integrations/tbank/tbank-token.service.ts), `call` (throw Error); [TbankTokenService](../../../backend/src/integrations/tbank/tbank-token.service.ts),
`translateInvalidToken`; [InstrumentMetadataService](../../../backend/src/integrations/tbank/instrument-metadata.service.ts), `translateInvalidToken`; [InstrumentMetadataService](../../../backend/src/integrations/tbank/instrument-metadata.service.ts),
invalid-token catch. invalid-token catch.
- **Convention:** [Errors](../../../backend/.ai/conventions/backend-error-handling.md), - **Convention:** [Errors](../../../backend/.ai/conventions/error-handling.md),
[Integrations](../../../backend/.ai/conventions/backend-integrations.md). [Integrations](../../../backend/.ai/conventions/integrations.md).
- **Current state:** low-level client бросает `Error('INVALID_TBANK_TOKEN')`, - **Current state:** low-level client бросает `Error('INVALID_TBANK_TOKEN')`,
два consumers сравнивают строку сообщения для выбора recovery/HTTP mapping. два consumers сравнивают строку сообщения для выбора recovery/HTTP mapping.
- **Expected state:** один явный local typed/code outcome на integration boundary, - **Expected state:** один явный local typed/code outcome на integration boundary,
+14 -1
View File
@@ -63,7 +63,7 @@ checkout; сегодня проверка `.ai` выполнена локаль
| Backend ValidationPipe → filter reproduction | Подтверждён BE-001: invalid CredentialsDto → 400/VALIDATION_ERROR, `errors: []` | | Backend ValidationPipe → filter reproduction | Подтверждён BE-001: invalid CredentialsDto → 400/VALIDATION_ERROR, `errors: []` |
| `git diff --check` в root/frontend/backend/docs/specs | PASS | | `git diff --check` в root/frontend/backend/docs/specs | PASS |
Semantic review: маршруты UI-only, API/contract, auth, tests-only, helper/package, Semantic review первого прохода: маршруты UI-only, API/contract, auth, tests-only, helper/package,
Prisma, logging и migration достигают нужных owners; ссылки compatibility Prisma, logging и migration достигают нужных owners; ссылки compatibility
не дублируют таблицы routing. Общие policy имеют root owner, stack-specific не дублируют таблицы routing. Общие policy имеют root owner, stack-specific
исключения остались локальными. Проверены новые файлы и отсутствие production, исключения остались локальными. Проверены новые файлы и отсутствие production,
@@ -73,3 +73,16 @@ Application build/coverage/e2e целиком не запускались: из
root tracking не меняет production behavior. Existing dependency checks и root tracking не меняет production behavior. Existing dependency checks и
воспроизведение BE-001 подтверждают только указанные границы, не отсутствие воспроизведение BE-001 подтверждают только указанные границы, не отсутствие
всех semantic/security проблем. Full gates выполняются при будущих code slices. всех semantic/security проблем. Full gates выполняются при будущих code slices.
## Упрощение структуры после review
Conventions frontend/backend именуются без repo-префиксов. Устройство и правила
архитектуры объединены в единственный `.ai/architecture.md` каждого repo.
Routing и карта источников объединены в `AGENTS.md`; прежние CONVENTIONS/SOURCES
и отдельные architecture conventions удалены без compatibility-заглушек.
Активные ссылки обновлены; в audit изменены только ссылки, findings сохранены.
Исторические архивы specs остаются источниками своего времени.
Повторная проверка: existing markdownlint-cli2 с docs config по root/frontend/backend
AGENTS, README и `.ai/**/*.md` — 27 файлов, 0 ошибок, включая относительные ссылки
и якоря. `git diff --check` — PASS. Production-код и dependencies не менялись.