# BAT-020 Implementation Evidence - Timestamp: 2026-07-12T19:20:23+09:00 (KST 기준) - Batch: BAT-020 - REQ: REQ-025 - Scope: 월정산 페이지 read-only Evidence / 다음 액션 하드닝, AppTest 검증 강화, docs 정합성 반영 ## 변경 파일 - `dashboard/app.py` - `tests/test_dashboard_app.py` - `docs/project-structure.md` - `docs/runtime-flows.md` ## 변경 요약 1. `dashboard/app.py` - `page_monthly_settlement()` 의 `자산 / 순자산 마감 상태` 블록 뒤에 `월정산 결과 / Evidence` 섹션 추가. - 해당 섹션에서 `읽기 전용 근거 요약`과 함께 `close 준비 상태`, `source coverage`, `최근 Import`, `자산/마감`, `미해결 블로커`를 read-only 텍스트로 노출. - 즉시 뒤 `다음 액션` 섹션 추가. - 문구에 `예산 조정 후보`, `분류/검토 규칙 후보`, `대조/Import/백업 후속 작업`, `이번 범위에는 월정산 close 저장/실행이 포함되지 않습니다` 포함. - 새로운 쓰기/마감 동작이나 close 실행 버튼은 추가하지 않음. 2. `tests/test_dashboard_app.py` - 월정산 페이지 AppTest 분기에서 위 요구 문자열을 검증하도록 assertion 확장. - 기존 forbidden 문자열 검증 (`fixture.sqlite3`, `.local/share/jarca/uploads`, `/home/`, `raw_payload`) 유지. 3. 문서 - `docs/project-structure.md`: 월정산 Evidence/다음 액션 책임 반영 및 change log 추가. - `docs/runtime-flows.md`: 월정산 read-only evidence/next-action 운영 플로우 문서화 및 change log 추가. ## 검증 명령 - `/home/ubuntu/workspaces/jarca-ledger-mcp/.venv/bin/python -m ruff check .` - `/home/ubuntu/workspaces/jarca-ledger-mcp/.venv/bin/python -m pytest -q tests/test_dashboard_app.py` - `/home/ubuntu/workspaces/jarca-ledger-mcp/.venv/bin/python scripts/ci_dashboard_http_smoke.py` ## AC 대응 매핑 (REQ-025) - AC-1: 월정산 페이지에 Evidence 헤더/요약 블록 노출 - `월정산 결과 / Evidence`, `읽기 전용 근거 요약` 텍스트 추가로 검증. - AC-2: 다음 액션 제시 및 read-only 경계 유지 - `다음 액션` 및 close 비포함 문구, 후보 항목 텍스트 추가. - AC-3: 근거 문자열 및 소스 범위 가시성 확보 - `close 준비 상태`, `source coverage`, `최근 Import`, `자산/마감` 노출. - AC-4: 기존 경량 UI 노출 및 위험 정보 차단 - `fixture.sqlite3`, `/home/`, `.local/share/jarca/uploads`, `raw_payload` 미포함 보장 (테스트로 확인). - AC-5: 문서 동기화 - project-structure/runtime-flows에 월정산 완료 하드닝 반영 및 change log 갱신.