Merge dcy-015 monthly settlement dashboard delivery after local and GitHub Actions verification.
51 lines
3.4 KiB
Markdown
51 lines
3.4 KiB
Markdown
# BAT-019: Monthly settlement operational blockers, import/account, and asset status
|
|
|
|
- Profile: batch-lite
|
|
- Status: release-candidate
|
|
- Included REQ: REQ-024
|
|
- Source Discovery: dcy-015
|
|
- Root Delivery: dcy-015_monthly-settlement
|
|
- Queue Item: 1
|
|
- Created At (KST): 2026-07-12 10:31 KST
|
|
- Resume Prepared At (KST): 2026-07-12 13:11 KST
|
|
|
|
## Objective
|
|
Deliver the second `월정산` page slice by adding operational blocker, import/account status, and asset/net-worth status sections on top of the REQ-022 read model and REQ-023 page shell.
|
|
|
|
## Included Scope
|
|
- Render the 정산 전 검토 blocker section with user-facing labels and existing-page CTA guidance.
|
|
- Render import/account freshness and status information without exposing raw file paths or raw payloads.
|
|
- Render asset snapshot/net-worth status by reusing the existing asset snapshot/report service boundary.
|
|
- Add representative dashboard/AppTest coverage for blocker/import/asset rendering.
|
|
|
|
## Excluded Scope
|
|
- KPI/cashflow/budget shell already covered by REQ-023.
|
|
- Evidence/next-actions/docs/smoke hardening tracked by REQ-025.
|
|
- Monthly settlement close writes, export, MCP summary tool, or policy changes outside approved REQs.
|
|
|
|
## Implementation Readiness Seed
|
|
- Target area: `dashboard.app.page_monthly_settlement(db_path)` after the existing BAT-018 blocker-count caption.
|
|
- Service/adapter seams:
|
|
- `overview_gateway.list_cross_transfer_review_queue(limit=300, db_path=db_path)` + existing `get_transfer_review_items` helper.
|
|
- `reconciliation_gateway.get_review_operating_indicators(db_path=db_path)`.
|
|
- `reconciliation_gateway.get_balance_reconciliation_report(db_path=db_path)`.
|
|
- `overview_gateway.list_ledger_import_batches(limit=1, db_path=db_path)` with default minimal provenance.
|
|
- Add/read `overview_gateway.get_asset_snapshot_report(basis_date, db_path=db_path)` as a pass-through to existing service.
|
|
- Expected data/return shape: see `.stagepilot/delivery/dcy-015_monthly-settlement/impl-bat-019-implementation-context.md` `## Return shape`.
|
|
- Render insertion point: add `정산 전 검토`, `거래 반영 / 계좌 상태`, `자산 / 순자산 마감 상태` sections in that order after BAT-018 summary sections.
|
|
- Representative test assertions: section labels, CTA text, representative metrics, and negative assertions for raw local path / raw payload leakage.
|
|
- Forbidden data exposure: no `/home/...`, `~/.local/share/jarca/uploads`, `raw_payload`, raw PDF/XLSX contents, or debug-gated provenance.
|
|
- Open questions: none for runner; if any listed seam/key is invalid, impl must write a blocker artifact instead of broad-searching.
|
|
|
|
## Documents
|
|
- [planning.md](planning.md)
|
|
- [implementation.md](implementation.md)
|
|
- Implementation context: `.stagepilot/delivery/dcy-015_monthly-settlement/impl-bat-019-implementation-context.md`
|
|
|
|
## Delivery Notes
|
|
- This slice depends on BAT-018 delivering the visible `월정산` page shell first.
|
|
- REQ-021 provenance and sensitive-data policy must remain enforced on all import/account displays.
|
|
- BAT-018 completed and REQ-023 is now Implemented, so BAT-019 is the active implementation slice for REQ-024.
|
|
- Prior canonical supervised dev-impl launch stalled in a repeated context-compaction/read loop before code diff or completion evidence; see `.stagepilot/delivery/dcy-015_monthly-settlement/bat-019-impl-stall-escalation.md`.
|
|
- Lead has rewritten this batch/context to the patch-ready harness standard before resume.
|