Merge dcy-015 monthly settlement dashboard delivery after local and GitHub Actions verification.
2.0 KiB
2.0 KiB
BAT-018 Planning: Monthly settlement dashboard shell, KPI, cashflow, and budget
Planning Status
- Status: completed
- Profile: batch-lite
- Design Gate: no
- Design Gate Rationale: REQ-023 is a bounded read-only dashboard slice that reuses the implemented REQ-022 read model and existing dashboard page patterns without introducing new persistence, interface contracts, or runtime flows beyond local page composition.
Objective
Turn REQ-023 into the first user-visible 월정산 page slice while preserving the read-model/service boundary established in REQ-022.
Work Slices
- Page entry and header
- Add
월정산navigation/routing. - Provide month selector, basis date, KST timestamp, and read-only badge.
- Add
- KPI + visual summary
- Render representative KPI cards from the monthly settlement summary.
- Add cashflow/spending structure visuals/tables from existing grouped reports.
- Budget and CTA guidance
- Render budget-vs-actual status and representative CTA/menu hints.
- Add AppTest coverage for route/headings/representative content.
Acceptance Source
- REQ-023 Acceptance Criteria AC-1 through AC-6.
Dependencies
- REQ-022 monthly settlement read-model foundation.
- Existing dashboard page rendering patterns and synthetic fixture DB generation.
Milestones
- Route/page shell visible in AppTest.
- KPI/cashflow/budget sections bound to read-model/gateway outputs.
- Relevant lint/test coverage passes in the isolated worktree.
Risks
- UI code may accidentally duplicate service formulas instead of reusing the REQ-022 seam.
- Representative fixture data may not expose all intended budget/KPI states without targeted assertions.
- Section sprawl could bleed into REQ-024 scope if blocker/import/asset details are added too early.
Handoff Readiness
- Ready for implementation: yes.
- Lead authority needed before delivery: no additional user decision is currently open; scope is approved in dcy-015 / REQ-023.
- Kanban status: deliberately not used.