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.4 KiB

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
  • 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.