44 lines
2.2 KiB
Markdown
44 lines
2.2 KiB
Markdown
# BAT-004 Verification
|
|
|
|
## 검증 계획
|
|
|
|
1. Python 문법 검증
|
|
- `.venv/bin/python -m py_compile scripts/streamlit_browser_evidence.py dashboard/app.py`
|
|
2. 대상 browser smoke
|
|
- `.venv/bin/python scripts/streamlit_browser_evidence.py`
|
|
- 확인 대상: `분류 규칙`, `확인필요 큐`, `Import`
|
|
3. 전체 테스트
|
|
- `.venv/bin/python -m pytest -q`
|
|
4. evidence 민감정보 검토
|
|
- manifest와 DOM snapshot에는 synthetic fixture 식별자만 포함되어야 한다.
|
|
- 운영 DB 기본 경로, 원본 금융 파일명, 비밀번호, 실제 raw_payload는 포함하지 않는다.
|
|
|
|
## Acceptance Mapping
|
|
|
|
- AC-1: `scripts/streamlit_browser_evidence.py`의 `assert_synthetic_db_path` 및 fixture 생성 로직.
|
|
- AC-2: py_compile 결과.
|
|
- AC-3: full pytest 결과.
|
|
- AC-4/5: browser evidence script manifest 및 screenshot/snapshot 파일.
|
|
- AC-6: `dashboard/app.py` Import page의 `db_path` 전달 수정.
|
|
- AC-7: REQ/BAT/runtime/interface/project-structure/runbook 문서 갱신.
|
|
|
|
## 결과
|
|
|
|
최종 검증 결과(2026-06-29 KST):
|
|
|
|
- `.venv/bin/python -m py_compile scripts/streamlit_browser_evidence.py dashboard/app.py jarca_ledger_mcp/db.py jarca_ledger_mcp/service.py jarca_ledger_mcp/server.py tests/test_service.py` — PASS.
|
|
- `.venv/bin/python -m pytest -ra` — PASS (`27 passed, 4 skipped in 27.37s`).
|
|
- `.venv/bin/python scripts/streamlit_browser_evidence.py` — PASS.
|
|
- Evidence directory: `docs/batches/bat-004_20260629_browser-streamlit-e2e-evidence/evidence/run-20260629-192835/`
|
|
- Manifest: `manifest.json` (`success: true`).
|
|
- Captured pages:
|
|
- `분류 규칙`: `rules.png` 364,876 bytes, `rules.dom.html` 174,470 bytes.
|
|
- `확인필요 큐`: `transfer-review.png` 275,792 bytes, `transfer-review.dom.html` 25,551 bytes.
|
|
- `Import`: `import.png` 297,424 bytes, `import.dom.html` 23,649 bytes.
|
|
|
|
## Sensitive Evidence Review
|
|
|
|
- Evidence DB path is the generated fixture path under BAT-004 evidence, not the operating DB default path.
|
|
- Fixture rows use `SYNTHETIC_*` labels and do not include real account numbers, real financial source filenames, passwords, or raw payloads.
|
|
- DOM/screenshot evidence was generated from synthetic fixture data only.
|