Merge dcy-015 monthly settlement dashboard delivery after local and GitHub Actions verification.
57 lines
3.6 KiB
Markdown
57 lines
3.6 KiB
Markdown
# BAT-019 Planning: Monthly settlement operational blockers, import/account, and asset status
|
|
|
|
## Planning Status
|
|
- Status: ready-for-resume
|
|
- Profile: batch-lite
|
|
- Design Gate: no
|
|
- Design Gate Rationale: REQ-024 extends the approved read-only monthly settlement UI with additional section composition and existing-service data exposure. The resume-ready context now pins exact read-only service seams, return shapes, render insertion point, tests, and forbidden data exposure, so no additional design artifact is required before implementation.
|
|
|
|
## Objective
|
|
Turn REQ-024 into a bounded follow-on slice after BAT-018 so the `월정산` page can show settlement-readiness blockers and status summaries without adding writes.
|
|
|
|
## Work Slices
|
|
1. Blocker summary section
|
|
- Use `overview_gateway.list_cross_transfer_review_queue` and `reconciliation_gateway.get_review_operating_indicators`.
|
|
- Show user-friendly unresolved item labels and counts.
|
|
- Add CTA/menu hints to existing review/import/reconciliation pages.
|
|
2. Import/account status section
|
|
- Use `overview_gateway.list_ledger_import_batches(limit=1, db_path=db_path)` with minimal provenance only.
|
|
- Use `reconciliation_gateway.get_balance_reconciliation_report(db_path=db_path)` for account freshness/reconciliation status.
|
|
- Preserve REQ-021 privacy boundaries.
|
|
3. Asset/net-worth status section
|
|
- Add/read `overview_gateway.get_asset_snapshot_report` as a pass-through to the existing service.
|
|
- Show preview/closed state and net worth summary.
|
|
- Add representative dashboard/AppTest assertions.
|
|
|
|
## Acceptance Source
|
|
- REQ-024 Acceptance Criteria AC-1 through AC-6.
|
|
|
|
## Dependencies
|
|
- REQ-022 monthly settlement summary foundation.
|
|
- BAT-018 / REQ-023 page shell and navigation.
|
|
- REQ-021 provenance and sensitive-data policy.
|
|
|
|
## Implementation Readiness Seed
|
|
- Target area: `dashboard.app.page_monthly_settlement(db_path)` after the existing BAT-018 blocker-count caption.
|
|
- Service/adapter seams: `list_cross_transfer_review_queue`, `get_review_operating_indicators`, `get_balance_reconciliation_report`, `list_ledger_import_batches`, and `get_asset_snapshot_report` through `overview_gateway` where applicable.
|
|
- Expected data/return shape: defined in `.stagepilot/delivery/dcy-015_monthly-settlement/impl-bat-019-implementation-context.md`.
|
|
- Render insertion point: three sections after existing KPI/cashflow/budget summary: `정산 전 검토`, `거래 반영 / 계좌 상태`, `자산 / 순자산 마감 상태`.
|
|
- Representative test assertions: labels, CTA/menu hints, representative metrics, no raw path/payload strings.
|
|
- Forbidden exposure: absolute upload paths, raw payloads, debug-gated provenance, source hashes, or write/close action controls on `월정산`.
|
|
- Open questions: none. Invalid seam/key should become a worker blocker artifact, not broad repository exploration.
|
|
|
|
## Milestones
|
|
1. Blocker section renders with readable labels.
|
|
2. Import/account and asset sections render without sensitive leakage.
|
|
3. Relevant lint/tests pass in the isolated worktree.
|
|
|
|
## Risks
|
|
- Existing import/account payloads may tempt direct raw-field display that violates REQ-021; use default minimal provenance only.
|
|
- Asset snapshot preview data needs empty-state handling for fixture DBs.
|
|
- CTA wording must remain tied to actual existing page names: `확인필요 큐`, `계좌`, `Import`, `자산/마감`.
|
|
|
|
## Handoff Readiness
|
|
- Ready for implementation: yes, after lead rewrite to patch-ready context.
|
|
- Lead authority needed before delivery: no additional user decision is currently open; scope is approved in dcy-015 / REQ-024.
|
|
- Kanban status: deliberately not used.
|