docs: record improved ledger row evidence

This commit is contained in:
2026-08-26 15:04:50 +03:00
parent d39a9d3df0
commit 35c5302e78
+55
View File
@@ -7,6 +7,61 @@ delivery commits, точные verification commands с наблюдёнными
итог independent read-only review. Записи добавляются после archive и являются итог independent read-only review. Записи добавляются после archive и являются
неизменяемой историей поставки. неизменяемой историей поставки.
## 2026-08-26-improve-ledger-event-rows
**Change:** improve-ledger-event-rows (schema `wealth-ledger-sdd` v3)
**Archive path:** `specs/openspec/changes/archive/2026-08-26-improve-ledger-event-rows`
**Specs sync:** три изменения в `brokerage-account-ledger` слиты в main spec;
post-archive strict validation подтвердил `20 passed, 0 failed`, archived
changes `34 passed, 0 failed`.
### Delivery Map
| Area | Status | Outcome |
| --- | --- | --- |
| frontend | affected | `Последние события` и `Журнал операций` используют общий compact row с логотипом или буквенным fallback, русскими подписями `Поступление` / `Списание` / `Без движения денег`, знаком суммы и семантическими тонами; полный журнал переведён на `container -> ViewModel -> view` без потери фильтров, cursor-пагинации и состояний |
| backend | affected | Ledger entry DTO получил additive nullable `logoName`; общий resolver metadata переиспользуется между portfolio и ledger, сохраняет UID-first/FIGI-fallback и кэширует как найденные, так и отрицательные lookup results без скрытия операций при ошибках enrichment |
| specs | affected | Approved Proposal, Design, Tasks и Delta Spec заархивированы; изменения синхронизированы в `brokerage-account-ledger` |
| docs | affected | As-built documentation закрепляет nullable visual metadata и русскую семантику поступления, списания и отсутствия движения денег |
### Delivery commits
| Repo | Commit | Subject |
| --- | --- | --- |
| frontend | `488ccad540c771e862fb795edf2df6c6cea315af` | feat: improve ledger event rows |
| backend | `84fabd264fa539dfefb1172e27a038870a30d845` | feat: enrich ledger events with logo metadata |
| specs (archive) | `9a8687feda24edcc6ee6412313a844afce50f5eb` | docs(specs): archive improved ledger event rows |
| docs (as-built) | `d39a9d3df08d068b0c5fba97cfb7bb0d5755f329` | docs: describe improved ledger event rows |
| docs (evidence) | current evidence commit | docs: record improved ledger row evidence |
### Verification
| Command (repo) | Наблюдённый результат |
| --- | --- |
| `PATH=/Users/ksv741/.nvm/versions/node/v22.21.0/bin:$PATH npm run verify` (backend) | pass; runtime/hygiene/lint/typecheck/Jest/build зелёные, `23` suites / `78` tests после регрессионных фиксов по metadata fallback и negative cache |
| `PATH=/Users/ksv741/.nvm/versions/node/v22.21.0/bin:$PATH bash specs/scripts/verify-workspace-change.sh improve-ledger-event-rows` (workspace, pre-archive final) | pass; Delivery Map verified frontend/backend/specs/docs=affected, runtime-openapi=required; frontend `21` files / `73` tests, backend `23` suites / `78` tests, docs lint clean, runtime OpenAPI SHA совпадает со snapshot |
| `openspec archive improve-ledger-event-rows --yes --store wealth-ledger-specs` (specs) | pass; archived as `2026-08-26-improve-ledger-event-rows`, `brokerage-account-ledger` updated with `3 modified` requirements |
| `openspec validate --specs --strict --store wealth-ledger-specs` (specs, post-archive) | pass; `20 passed, 0 failed` |
| `openspec validate --archived --strict --store wealth-ledger-specs` (specs, post-archive) | pass; `34 passed, 0 failed` |
| `openspec schema validate wealth-ledger-sdd --verbose` (specs, post-archive) | pass; schema and dependency graph valid |
| `bash scripts/verify-openspec-authority.sh` (specs, post-archive) | pass; OpenSpec CLI `1.10.0`, authority `wealth-ledger-specs` |
Все Tasks были завершены до archive. Semantic verification подтвердила, что
оба пользовательских surface (`Последние события` и `Журнал операций`) получили
одинаковую компактную композицию, денежное направление выражается не только
цветом, backend enrichment остаётся additive и nullable, а существующие суммы,
категории, курсоры, loading/error/empty states и runtime OpenAPI contract не
сломаны.
### Independent read-only review
Verdict: **PASS**. Первый review обнаружил два Important findings:
page-local dedupe в журнале мог подавлять FIGI fallback после UID-only miss, а
negative metadata lookups не кэшировались и повторно били в upstream. Оба
finding устранены: ключ дедупликации учитывает `uid + figi`, `null`-results
кэшируются через sentinel, добавлены прямые regression tests. Повторный
read-only review подтвердил итог: Critical `0`, Important `0`, Minor `0`.
## 2026-08-26-polish-stock-position-cards ## 2026-08-26-polish-stock-position-cards
**Change:** polish-stock-position-cards (schema `wealth-ledger-sdd` v3) **Change:** polish-stock-position-cards (schema `wealth-ledger-sdd` v3)