4.1 KiB
4.1 KiB
BAT-014 Verification
Verification summary
Status: PASS
All required code-path checks for BAT-014 passed, and local browser-level screenshot/DOM evidence was successfully captured against a synthetic fixture DB. No production ledger DB, real financial statement files, passwords, or raw financial payloads were used.
Acceptance criteria evidence
AC-1. MCP contract/helper seam and Streamlit page/domain gateways exist
- Evidence:
jarca_ledger_mcp/adapters/mcp/tool_contracts.pyadded andadapters/mcp/server.pynow callscontracts.*.search_files('*_gateway.py')underadapters/streamlitreturned 9 gateway/aggregator files.
AC-2. dashboard/app.py no longer uses a flat broad gateway surface
- Evidence:
search_files(pattern='service\\.', path='dashboard', file_glob='app.py')returned 0 matches after rewiring.- Dynamic hot-reload lookup now targets passed gateway modules (
categorization_gateway,transfers_gateway) instead of a flatservicebinding.
AC-3. Regression, adapter verification, and browser smoke pass
python3 -m py_compile jarca_ledger_mcp/adapters/mcp/*.py jarca_ledger_mcp/adapters/streamlit/*.py dashboard/app.py→ PASSpytest -q tests/test_dashboard_app.py→ PASS (....)pytest -q→ PASS (........................ss...............ss...)hermes mcp test jarca-ledger→ PASS, 56 tools discovered.venv/bin/python scripts/streamlit_browser_evidence.py→ PASS- Output dir:
docs/batches/bat-014_20260703_adapter-surface-narrowing-baseline-refresh/evidence/run-20260703-100358/ - Artifacts:
overview.png,rules.png,transfer-review.png,import.pngplus matching*.dom.htmlandmanifest.json - Cleanup check:
search_files('chrome-profile-*')under the run dir returned 0 results after the retry-cleanup fix
- Output dir:
AC-4. Baseline docs, discovery metadata, and BAT-local evidence tooling reflect completion
- Evidence:
docs/project-structure.mdupdated with new owning services, parser seam, MCP contract helper, and Streamlit page/domain gateways.docs/runtime-flows.mdupdated with import/parser seam, MCP contract routing, and dashboard gateway flow.docs/runbooks/streamlit-browser-evidence.mdnow points at the BAT-014 evidence root and includes요약in the default capture set.- dcy-011 metadata and close-out notes updated to reference
REQ-015REQ-018/BAT-011BAT-014completion.
Browser evidence details
Evidence source: docs/batches/bat-014_20260703_adapter-surface-narrowing-baseline-refresh/evidence/run-20260703-100358/manifest.json
Captured pages
요약- Screenshot:
overview.png - DOM:
overview.dom.html - Evidence text included
📊 요약,가계부 운영 대시보드, and the synthetic fixture DB path under the BAT-014 evidence directory.
- Screenshot:
분류 규칙- Screenshot:
rules.png - DOM:
rules.dom.html - Evidence text included
⚙️ Rule Engine,분류 규칙, and seeded default categorization rules.
- Screenshot:
확인필요 큐- Screenshot:
transfer-review.png - DOM:
transfer-review.dom.html - Evidence text included
🔁 Transfer Review,KB↔토스뱅크 확인필요 큐, and a synthetic transfer-review row for2026-06-29/SYNTHETIC_TRANSFER/120,000원/이체/확인필요.
- Screenshot:
Import- Screenshot:
import.png - DOM:
import.dom.html - Evidence text included
📥 Statement Import, Toss Securities import copy, and Toss Bank import copy.
- Screenshot:
Automation script close-out
- Script:
scripts/streamlit_browser_evidence.py - Behavior:
- Generates a synthetic fixture DB under the BAT-014 evidence run directory.
- Starts Streamlit against that fixture DB only.
- Uses local Chrome DevTools Protocol to capture screenshots and DOM snapshots.
- Writes
manifest.jsonwith page/url/path/byte-size evidence. - Retries Chrome profile cleanup and leaves only the intended evidence artifacts in the final run directory.
Safety boundary
- Synthetic/temp DBs only.
- No destructive migration.
- No production ledger DB mutation.
- No real statement files, passwords, or raw payloads in screenshots, DOM snapshots, or manifest output.