44 lines
5.8 KiB
Markdown
44 lines
5.8 KiB
Markdown
## 1. Backend contract and metadata delivery
|
||
|
||
- [x] 1.1 [backend] Извлечь из Portfolio общий bounded resolver metadata инструмента, применить его к уникальным идентификаторам страницы журнала и добавить nullable `logoName` в Ledger Entry без изменения исходных сумм, категорий или ошибок журнала.
|
||
- **Covers:** `brokerage-account-ledger` — `Ledger entries preserve broker operation meaning`
|
||
- **Verification:** Добавить risk-based Jest-проверки UID/FIGI lookup, дедупликации, nullable fallback и сохранения содержимого Ledger Entry; выполнить `npm run verify` в `backend`.
|
||
|
||
- [x] 1.2 [backend] Опубликовать additive nullable metadata в runtime OpenAPI и проверить совместимость существующего ответа операций.
|
||
- **Covers:** `N/A` — реализация Contract Gate Decision из утверждённого Design; самостоятельного дополнительного observable requirement не создаёт.
|
||
- **Verification:** Выполнить backend runtime preflight и подтвердить наличие nullable `logoName` в `BrokerageOperationDto` опубликованного OpenAPI до frontend sync.
|
||
|
||
## 2. Frontend ledger presentation
|
||
|
||
- [x] 2.1 [frontend] Синхронизировать committed OpenAPI snapshot после опубликованного backend contract и обновить типизированное потребление Ledger Entry.
|
||
- **Covers:** `N/A` — обязательное связывание frontend с изменённым публичным contract из Design, без нового отдельного behavior.
|
||
- **Verification:** Выполнить `npm run openapi:sync` в `frontend`, проверить generated diff на nullable `logoName` и выполнить `npm run openapi:check`.
|
||
|
||
- [x] 2.2 [frontend] Создать единое presentation отображение Ledger Entry с логотипом или текстовым fallback, русскими подписями «Поступление»/«Списание», знаком и семантическими тонами; применить его к пяти последним записям обзора и полному журналу.
|
||
- **Covers:** `brokerage-account-ledger` — `Account overview includes recent ledger events`; `brokerage-account-ledger` — `Full ledger presents compact rows`
|
||
- **Verification:** Добавить риск-ориентированные Vitest-проверки положительной, отрицательной, безденежной и безлоготипной записи в обоих потребителях; вручную проверить узкую ширину, клавиатурный фокус и читаемость без цветового восприятия.
|
||
|
||
- [x] 2.3 [frontend] Перевести полный журнал на finance boundary `container → ViewModel → view`, сохранив фильтрацию, cursor-пагинацию и все loading/error/empty состояния.
|
||
- **Covers:** `N/A` — техническая структура нужна для повторного использования строки и соблюдения утверждённого UI Pattern, не расширяя Delta Specs.
|
||
- **Verification:** Выполнить `npm run verify` в `frontend`.
|
||
|
||
## 3. Documentation and SDD delivery
|
||
|
||
- [x] 3.1 [docs] Обновить as-built Account Ledger documentation после поставки: отразить nullable visual metadata и русскую семантику поступления, списания и отсутствия движения денег без дублирования change artifacts.
|
||
- **Covers:** `N/A` — docs фиксирует только проверенное поставленное состояние, определённое Delivery Map.
|
||
- **Verification:** Выполнить `npm run verify` в `docs` и проверить локальные ссылки изменённого feature document.
|
||
|
||
- [x] 3.2 [specs] Выполнить strict validation change и Delta Specs в canonical store после завершения planning artifacts.
|
||
- **Covers:** `N/A` — specs владеет versioned SDD contract и его structural validation, а application behavior реализуют frontend и backend.
|
||
- **Verification:** Выполнить `openspec validate improve-ledger-event-rows --type change --strict --store wealth-ledger-specs`, `openspec validate --specs --strict --store wealth-ledger-specs` и `git diff --check` в `specs`.
|
||
|
||
## 4. Cross-area contract and completion
|
||
|
||
- [x] 4.1 [workspace] Выполнить required runtime OpenAPI gate после backend publication и frontend snapshot sync.
|
||
- **Covers:** `N/A` — workspace координирует Contract Gate Decision между двумя владельцами, не реализуя отдельное behavior.
|
||
- **Verification:** Выполнить `bash specs/scripts/verify-runtime-openapi.sh` из workspace root.
|
||
|
||
- [x] 4.2 [workspace] Сверить поставленное поведение с Proposal, Delta Specs и Design, затем запустить canonical dispatcher и независимый read-only review перед archive.
|
||
- **Covers:** `N/A` — workspace владеет только межрепозиторной semantic verification и review, а не реализацией требований.
|
||
- **Verification:** Выполнить `bash specs/scripts/verify-workspace-change.sh improve-ledger-event-rows` из workspace root и подтвердить отсутствие Critical/Important findings в independent review.
|