## 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.