Files
genichin 835728793e feat: complete dcy-015 monthly settlement dashboard
Merge dcy-015 monthly settlement dashboard delivery after local and GitHub Actions verification.
2026-07-12 20:16:36 +09:00

3.6 KiB

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.