spec: archive income page simplification with evidence
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
# Completion Evidence: simplify-income-page
|
||||
|
||||
## Outcome and authority
|
||||
|
||||
Finalization consumed independent **PASS** from Validation task
|
||||
`01a085bd-2f84-7801-a9c1-d35abc346df1`, record
|
||||
`.agents/sdd/changes/simplify-income-page/005-validation-2.md` (workspace-relative).
|
||||
All nine implementation Tasks 1.1–1.4 and 2.1–2.5 are complete.
|
||||
Canonical store: `wealth-ledger-specs`.
|
||||
|
||||
The owner authorized separate Validation/Finalization tasks, delivery commits and
|
||||
archive in task `01a085af-72e7-78d3-b8a1-bfda579191a6`: «все ок, давай завершать».
|
||||
This authorization supersedes the earlier request to leave delivery uncommitted.
|
||||
No push or deployment is part of completion.
|
||||
|
||||
## Actual Delivery Map and existing delivery commits
|
||||
|
||||
| Area | Status and delivered result | Delivery commit |
|
||||
| --- | --- | --- |
|
||||
| frontend | affected: calendar draft/apply/reset form, flat individual payment cards, states and responsive fixes; income-owned trend/forecast consumers removed; regression tests updated | `26f229ba3e0f8335dde297bf6c4575f7014e9f28` |
|
||||
| docs | affected: as-built calendar filters, flat payments, removed trend/forecast UI and unchanged analytics API | `7166ee51d181b04f3892ff6757a56b578ee9df64` |
|
||||
| specs | affected: approved Proposal, Delta Specs, inline Design r2 and completed Tasks | `4c905c143368d799c142dbbce3a97d74108d6d28` |
|
||||
| backend | N/A: existing endpoint, buckets, monetary calculations, events and persisted data unchanged; working tree clean | N/A |
|
||||
|
||||
`runtime-openapi`: N/A because neither API side changes; frontend continues using
|
||||
the existing typed response and shared Future Cash Events remain available.
|
||||
No empty backend commit or contract gate was required.
|
||||
|
||||
Delivery commits existed before this evidence was created. After committing,
|
||||
re-expansion of all reviewed roots and explicit paths still matched the independent
|
||||
PASS exactly, including raw content and modes; commit hooks did not alter inputs.
|
||||
The subsequent evidence/archive/sync commit ID is reported outside this file to
|
||||
avoid a self-reference.
|
||||
|
||||
## Verification commands and observed results
|
||||
|
||||
Commands below ran under the applicable `.nvmrc` via
|
||||
`source ~/.nvm/nvm.sh && nvm use --silent`; specs used frontend runtime before
|
||||
`cd ../specs`. Current Finalization repeated only `npm ls --depth=0` in frontend
|
||||
and docs (both exit 0), native status/specs instructions (exit 0), and content
|
||||
binding checks. Package/lock/runtime inputs match. No install or dependency change
|
||||
occurred. Unchanged gates and independent review were consumed without repetition.
|
||||
|
||||
| cwd | Exact verification command | Observed result |
|
||||
| --- | --- | --- |
|
||||
| frontend | `npm run verify` | exit 0: OpenAPI generated comparison, strict TypeScript, Biome, 26 files / 147 tests and coverage, Knip, dependency boundaries, application and catalog builds passed; existing catalog chunk warning nonblocking |
|
||||
| docs | `npm run verify` | exit 0: Markdown validation and whitespace checks passed; 44 Markdown files checked, 0 issues |
|
||||
| specs | `openspec validate simplify-income-page --type change --strict --store wealth-ledger-specs` | exit 0: change valid |
|
||||
| specs | `openspec validate --specs --strict --store wealth-ledger-specs` | exit 0: 25 passed / 0 failed |
|
||||
| frontend | `npm run test:run -- src/pages/account-income/ui/AccountIncomePage.test.tsx src/pages/account-events/ui/AccountEventsPage.test.tsx` | independent Validation exit 0: 2 files / 35 tests |
|
||||
| frontend | `node /tmp/validation-005-browser.cjs > /tmp/validation-005-browser.log 2>&1` | independent Validation exit 0; all acceptance assertions pass, zero page errors, contexts closed |
|
||||
| frontend | `npm run dev -- --host 127.0.0.1 --port 5175 --strictPort` | Vite ready for browser proof; deliberately stopped with Ctrl-C, exit 130 |
|
||||
| frontend, docs, specs | `git diff --check` | exit 0 in each affected repository |
|
||||
|
||||
Exact full command wrappers, cwd, exit codes and logs are retained at workspace
|
||||
`.agents/sdd/changes/simplify-income-page/evidence-004/commands.json` and
|
||||
`evidence-005/commands.json` under that same change envelope. Reused gate logs:
|
||||
`evidence-004/frontend-verify.log`, `docs.log`, `specs-change.log`, `specs-main.log`.
|
||||
Independent browser harness and observations: `evidence-005/browser.cjs`,
|
||||
`browser.log`, `browser-result.json` and PNG captures. Detailed independent review:
|
||||
`evidence-005/review.md`. These are evidence locators, not a competing planning store.
|
||||
|
||||
## Independent semantic and acceptance review
|
||||
|
||||
PASS; no Critical or Important findings. Review covered approved behavior and
|
||||
inline package `simplify-income-page-ui-r2`: raw invalid dates retain text, focus,
|
||||
URL and request count; calendar/keyboard apply, reset, browser navigation and
|
||||
Moscow date boundary hold. Money signs, repeated IDs, server order, complete
|
||||
membership validation and per-currency summaries remain intact. Cached snapshot,
|
||||
empty/error/retry states and independent Future Cash Events navigation pass.
|
||||
|
||||
At 320/480/640/960 px all three fixture cards and complete descriptions remain
|
||||
visible without horizontal overflow; mobile inputs meet 44 px. Actual Chrome
|
||||
200% zoom measured outer width 960, inner width 480, DPR 2 and viewport height 406;
|
||||
both calendars fit (bottom 401.5 and 327.70). Screenshots were independently
|
||||
inspected. The shared Ledger consumer retains its prior clamp behavior.
|
||||
|
||||
Limits: browser proof used synthetic intercepted responses and installed Chrome,
|
||||
not live brokerage data or every browser/zoom setting. A first harness assertion
|
||||
included hidden inputs; the corrected visible-input selector passed on rerun.
|
||||
These are not unresolved implementation findings.
|
||||
|
||||
## Approval and PASS input binding
|
||||
|
||||
Algorithm: `wealth-ledger-input-v1` from context authority. Each entry binds
|
||||
workspace-relative path, kind, executable mode and SHA-256 payload; files are sorted
|
||||
by UTF-8 path and NUL-framed. Only Tasks approval normalizes completed task prefixes;
|
||||
verification includes raw Tasks. No unresolved Git conflicts were present.
|
||||
|
||||
Exact reviewed inventory and decision sources are preserved in workspace
|
||||
`.agents/sdd/changes/simplify-income-page/005-inputs.json` and
|
||||
`evidence-003/owner-decisions.json`. Inventory file raw SHA-256:
|
||||
`2f207a30a2eb8f7d8924e5b1b8d98ad7d7f3ac62fbe9b380094741af3c131743`.
|
||||
|
||||
| Binding | Fingerprint |
|
||||
| --- | --- |
|
||||
| Proposal approval | `sha256:64879ac90bb35ca44922501abbb91d313cdea2d2a47a44bbd7a105d4ff572689` |
|
||||
| Delta Specs approval | `sha256:d65555952f71f8c9080958adbc954589247ac53041baa3090b5c3da5383379c1` |
|
||||
| Design approval | `sha256:000c2fcc1fce0e80805aa0b56380f3a616556461e49e6e86a5e721d2caa79490` |
|
||||
| Tasks approval | `sha256:c99a5e5e5358f30c873b6231119f29d69c6edcf63897e9626d59a967bfd18d3e` |
|
||||
| Raw planning | `sha256:41a86b7d134a978a19714c0c4d04f3cb51935d21a18db26d188f72794d030915` |
|
||||
| Frontend gate, 209 entries | `sha256:f799913a03e5513838df53fb9f0f9c25548ec79558238a8b027aa35091e73b12` |
|
||||
| Docs gate, 63 entries | `sha256:8a9c3bc06dc3a8ddb4f444ecc8a1b5c400804fb822c0cf5cb9d94259695001cf` |
|
||||
| Specs gate, 347 entries | `sha256:509f2a7112061627fe876039b6bf69c1540d74ba0266e620bcc44eefd559631d` |
|
||||
| Independent PASS, 620 entries | `sha256:3893b8301a80dfae92676a8bf2c3f78b294007bdd51b230ce35fb09d177d0d93` |
|
||||
|
||||
All four canonical artifact identities, native Delta Specs membership and approval
|
||||
fingerprints match the original owner decisions. Explicit amendment source:
|
||||
owner task `01a0855f-9b55-7d30-91ca-85636984ca6f`, turn
|
||||
`01a0857c-1dec-7090-9102-1aeec4ce9c65`, including «Да, отдельная карточка каждой выплаты».
|
||||
|
||||
Reviewed roots are the complete frontend/, docs/, specs/ Git tracked and nonignored
|
||||
untracked candidates from `git ls-files --cached --others --exclude-standard -z`,
|
||||
union previous inventory entries (deletions remain missing). This covers planning,
|
||||
relevant main baseline, dependency/config inputs and actual delivery.
|
||||
Explicit workspace paths: root AGENTS.md; sdd-session, sdd-implementation,
|
||||
sdd-validation SKILL.md files; sdd-session/references/workflow-protocol.md.
|
||||
Each gate includes its local instructions. Explicit ignored frontend inputs are
|
||||
.env, .env.local, .env.development, .env.development.local, .env.production and
|
||||
.env.production.local; values are never copied into evidence.
|
||||
|
||||
Exclusions: .git, node_modules, ignored generated build/coverage/cache outputs,
|
||||
this change's `.agents/sdd/changes/simplify-income-page/` navigation/evidence,
|
||||
and its canonical completion-evidence.md. Expected archive/sync/evidence outputs
|
||||
are verified separately; no unrelated input change is hidden by these exclusions.
|
||||
|
||||
## Semantic sync review and completion scope
|
||||
|
||||
Current native status and specs instructions resolved exactly one delta:
|
||||
`specs/brokerage-account-income-analytics/spec.md` inside this change. The main
|
||||
baseline is `openspec/specs/brokerage-account-income-analytics/spec.md` in the
|
||||
canonical specs repository. All operation identities matched and all surviving
|
||||
scenarios in the modified period requirement are retained.
|
||||
|
||||
Approved semantic diff: remove requirements for summary/trend visualization,
|
||||
forecast display and instrument-grouped breakdown; add readable text summary,
|
||||
income-page forecast exclusion and exact flat payment cards; modify explicit
|
||||
period selection to include calendar controls, keyboard operation, validation and
|
||||
no repeated period caption. Preserve the five other requirements and existing
|
||||
Purpose byte-for-byte. The known old forecast wording in Purpose is explicitly
|
||||
deferred by approved Design; it does not authorize restoring removed UI.
|
||||
|
||||
The package is wholly inline Design revision r2: no attachments or immutable reuse
|
||||
inputs exist. Native archive must preserve Design and all planning bytes and
|
||||
relative structure. No Audit ID applies, so no remediation registry mutation is
|
||||
needed. New archive/main-spec outputs receive native strict checks; completion
|
||||
record reports the observed archive path and separate completion commit.
|
||||
Reference in New Issue
Block a user