Merge dcy-015 monthly settlement dashboard delivery after local and GitHub Actions verification.
2.4 KiB
2.4 KiB
REQ-023 Monthly settlement dashboard shell, KPI, cashflow, and budget sections
- Status: Implemented
- Type: Interface
- Priority: High
- Owner: 렛저장인
- Source Discovery:
docs/discovery/dcy-015_20260711_monthly-settlement-page-requirements-wireframe.md - Depends On: REQ-022
- Created At (KST): 2026-07-11 20:56 KST
- Approved At: 2026-07-12 09:01 KST
- Implemented At (KST): 2026-07-12 12:24 KST
1. Intent
Add the visible Streamlit 월정산 page shell and implement the first user-facing sections that rely on the REQ-022 read model.
2. In Scope
- Add
월정산to Streamlit routing/sidebar. - Provide Header / 월 선택 with selected month, basis date, KST timestamp, and read-only status badge.
- Render 월간 핵심 KPI: actual income, actual expense, net cashflow, savings rate, budget overrun count, unresolved blocker count.
- Render 현금흐름 / 지출 구조 using existing category/person/cashflow groupings where available.
- Render 예산 대비 점검 with budget, actual, remaining, usage rate, and status.
- Provide user-friendly CTA/menu guidance to existing transaction/budget pages without creating new writes.
- Add AppTest coverage for page routing, headings, month selector, and key section rendering.
3. Out of Scope
- Detailed blocker/import/account/asset status sections.
- Evidence/next action section hardening.
- Monthly close persistence, MCP tool, or export.
4. Acceptance Criteria
- AC-1: Streamlit can navigate to
월정산. - AC-2: The page displays selected month and basis date.
- AC-3: KPI, cashflow/spending structure, and budget sections render on the synthetic fixture DB.
- AC-4: The UI calls the read-model/gateway seam rather than duplicating core formulas in
dashboard/app.py. - AC-5: AppTest verifies the core headings and representative KPI/budget content.
- AC-6:
python -m ruff check .and the relevant dashboard tests pass.
5. Notes
This slice intentionally stops before operational blocker/import/asset sections to keep the first UI delivery small and verifiable.
Implementation Evidence
- Batch:
BAT-018 - QC verdict:
.stagepilot/delivery/dcy-015_monthly-settlement/bat-018-qc-verdict-03.md - Validation: independent QC rerun confirmed
ruff check .andpytest -q tests/test_dashboard_app.pypass. - Scope note: REQ-024 blocker/import/account/asset sections and REQ-025 evidence/next-action hardening remain separate approved follow-on slices.