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