Files
T
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

1.6 KiB

구현 증적 (impl-bat-018)

변경 파일

  • jarca_ledger_mcp/adapters/streamlit/overview_gateway.py
  • dashboard/app.py
  • tests/test_dashboard_app.py

수행 내용

  1. overview_gateway가 get_monthly_settlement_summary 를 스트림릿 용 게이트웨이로 노출하도록 서비스 seam 추가.
  2. dashboard/app.py에 page_monthly_settlement(db_path: str) 추가:
    • current_kst_month() 기본값의 대상 월 텍스트 입력
    • overview_gateway.get_monthly_settlement_summary(...) 호출
    • 선택 월/기준일 표시
    • 월간 핵심 KPI, 현금흐름 / 지출 구조, 예산 대비 점검 섹션을 통한 read-only 렌더링
  3. Streamlit 네비게이션에 "월정산" 페이지 추가 및 dispatch 연결.
  4. tests/test_dashboard_app.py에 월정산 페이지 AppTest 기대 문자열/섹션 텍스트 검증 추가.
  5. 월정산 헤더에 모드: 읽기 전용 캡션 외부로 표시되는 읽기 전용 배지를 st.markdown 기반 HTML 칩으로 추가하고, AppTest가 배지 텍스트를 별도 검사하도록 강화.

검증

  • /home/ubuntu/workspaces/jarca-ledger-mcp/.venv/bin/python -m ruff check .
    • 결과: All checks passed!
  • /home/ubuntu/workspaces/jarca-ledger-mcp/.venv/bin/python -m pytest -q tests/test_dashboard_app.py
    • 결과: .... (4 passed)

잔여 리스크 / 한계

  • 월정산 섹션은 REQ-024/025의 블로커·계정·자산 상세, evidence/next-action 하드닝은 범위 밖이라 미구현.
  • 월정산 페이지는 month 쿼리 파라미터를 우선 사용하되, 미지정 시 current_kst_month()를 기본값으로 사용해 현재 월 표시 동작을 유지함.