8.6 KiB
8.6 KiB
1. Frontend behavior and presentation
- 1.1 [frontend] Перевести форму периода income page на управляемые Mantine DateInput, сохранив отдельные draft и applied значения, строгую проверку видимого ввода, московскую границу сегодняшнего дня, явное применение, немедленный сброс и восстановление из URL.
- Covers:
brokerage-account-income-analytics—User explicitly applies an analytics period represented in the URL - Verification: Page UI tests подтверждают формат
ДД.ММ.ГГГГ, календарный и клавиатурный ввод, отсутствие запроса и сохранение результата/URL при invalid draft, применение допустимого периода, reset при изменённом draft и восстановление applied period из URL.
- Covers:
- 1.2 [frontend] Заменить Accordion breakdown плоским разделом «Выплаты» с отдельной LedgerEntryRow-карточкой каждой entry, без внешних instrument cards, их итогов/count и заголовков валют; сохранить исходный порядок entries, opaque membership guards, signed payments и устойчивые keys повторяющихся entries.
- Covers:
brokerage-account-income-analytics—Instrument breakdown is traceable to exact Ledger Entries;brokerage-account-income-analytics—Income payments remain traceable to exact Ledger Entries - Verification: Page/component tests подтверждают одну карточку на entry в исходном порядке, отсутствие instrument/currency groups и instrument totals/count; несколько валют, отрицательные корректировки, повторяющиеся IDs и повреждённый membership сохраняют согласованные outcomes без disclosure action.
- Covers:
- 1.3 [frontend] Удалить из income page trend и forecast composition, derived models, events query subscription и ставшие неиспользуемыми локальные views/styles/i18n, сохранив текстовые totals, currency separation, comparisons и независимую страницу Future Cash Events.
- Covers:
brokerage-account-income-analytics—Analytics summary and trend remain readable per currency;brokerage-account-income-analytics—Forecast is separate from realized income;brokerage-account-income-analytics—Analytics summary remains readable per currency;brokerage-account-income-analytics—Income page excludes upcoming forecasts - Verification: Page/route tests подтверждают текстовые итоги и сравнения без «Динамики» и «Ближайшего прогноза», отсутствие запроса events со страницы income, устойчивость realized analytics при недоступности events API и прежнюю доступность самостоятельной страницы «Будущие события».
- Covers:
- 1.4 [frontend] Привести loaded, loading, empty, error и cached-snapshot presentation к inline UI/UX package revision
simplify-income-page-ui-r2, включая отсутствие отдельной подписи периода, семантическую иерархию, keyboard focus, field errors и responsive layout фильтров и отдельных карточек выплат.- Covers:
brokerage-account-income-analytics—User explicitly applies an analytics period represented in the URL;brokerage-account-income-analytics—Instrument breakdown is traceable to exact Ledger Entries;brokerage-account-income-analytics—Income payments remain traceable to exact Ledger Entries;brokerage-account-income-analytics—Analytics summary remains readable per currency;brokerage-account-income-analytics—Income page excludes upcoming forecasts - Verification: UI tests проверяют доступные labels/errors, порядок действий и state selection; scoped review на ширинах 320 px, менее
36em,36em–48emи от48emподтверждает отсутствие горизонтального scroll, перенос длинных названий и сумм, 44 px touch targets и соответствие package revision.
- Covers:
2. Affected repository delivery
- 2.1 [frontend] Выполнить canonical frontend gate после завершения income page delivery.
- Covers:
N/A— non-mutating gate проверяет frontend implementation уже покрытых Requirements и UI/UX package, не создавая самостоятельного observable behavior. - Verification: Под Node 22 выполнить
npm run verifyвfrontend.
- Covers:
- 2.2 [docs] Обновить as-built описание пассивного дохода: календарные draft/applied фильтры, отдельная карточка каждой выплаты без instrument/currency groups и подписи периода, сохранённые totals/comparisons и отсутствие trend/forecast UI при неизменном income-analytics API.
- Covers:
brokerage-account-income-analytics—Analytics summary and trend remain readable per currency;brokerage-account-income-analytics—Forecast is separate from realized income;brokerage-account-income-analytics—User explicitly applies an analytics period represented in the URL;brokerage-account-income-analytics—Instrument breakdown is traceable to exact Ledger Entries;brokerage-account-income-analytics—Income payments remain traceable to exact Ledger Entries;brokerage-account-income-analytics—Analytics summary remains readable per currency;brokerage-account-income-analytics—Income page excludes upcoming forecasts - Verification:
docs/features/brokerage-account-income-analytics.mdописывает только фактически поставленный flow, сохраняет корректные локальные ссылки и не копирует Proposal, Delta Specs, Design или Tasks.
- Covers:
- 2.3 [docs] Выполнить canonical docs gate после as-built update.
- Covers:
N/A— non-mutating gate проверяет affected docs delivery и ссылочную целостность, не добавляя product behavior. - Verification: Под Node 22 выполнить
npm run verifyвdocs.
- Covers:
- 2.4 [specs] Сверить завершённые frontend и docs изменения и отмеченные Tasks со всеми operation sections canonical delta, не изменяя approved semantics и сохраняя backend и runtime-openapi как
N/A.- Covers:
brokerage-account-income-analytics—Analytics summary and trend remain readable per currency;brokerage-account-income-analytics—Forecast is separate from realized income;brokerage-account-income-analytics—User explicitly applies an analytics period represented in the URL;brokerage-account-income-analytics—Instrument breakdown is traceable to exact Ledger Entries;brokerage-account-income-analytics—Income payments remain traceable to exact Ledger Entries;brokerage-account-income-analytics—Analytics summary remains readable per currency;brokerage-account-income-analytics—Income page excludes upcoming forecasts - Verification: Requirement-by-requirement comparison с Proposal, Delta Specs, Design package revision
simplify-income-page-ui-r2и delivery не оставляет unchecked implementation scope или поведения вне approved artifacts; найденный semantic mismatch маршрутизируется в ответственную planning boundary.
- Covers:
- 2.5 [specs] Выполнить canonical native strict validation change и main specs после обновления task progress.
- Covers:
N/A— structural validation является обязательным gate affected specs repository и не представляет новое пользовательское поведение. - Verification: Под Node 22 выполнить
openspec validate simplify-income-page --type change --strict --store wealth-ledger-specsиopenspec validate --specs --strict --store wealth-ledger-specsизspecs.
- Covers: