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

28 lines
1.6 KiB
Markdown

# 구현 증적 (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()`를 기본값으로 사용해 현재 월 표시 동작을 유지함.