Add BAT-014 browser evidence artifacts
This commit is contained in:
+38
-7
@@ -4,7 +4,7 @@
|
||||
|
||||
Status: PASS
|
||||
|
||||
All required code-path checks for BAT-014 passed. A manual local browser-evidence launch was attempted but blocked by the runtime’s consent guard for long-running local server startup, so the close-out evidence uses AppTest + full pytest + MCP discovery + structural call-site verification. No production ledger DB or real financial files were used.
|
||||
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
|
||||
|
||||
@@ -18,26 +18,57 @@ All required code-path checks for BAT-014 passed. A manual local browser-evidenc
|
||||
- `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 flat `service` binding.
|
||||
|
||||
### AC-3. Regression and adapter verification pass
|
||||
### 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` → PASS
|
||||
- `pytest -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.png` plus matching `*.dom.html` and `manifest.json`
|
||||
- Cleanup check: `search_files('chrome-profile-*')` under the run dir returned 0 results after the retry-cleanup fix
|
||||
|
||||
### AC-4. Baseline docs and discovery metadata reflect completion
|
||||
### AC-4. Baseline docs, discovery metadata, and BAT-local evidence tooling reflect completion
|
||||
- Evidence:
|
||||
- `docs/project-structure.md` updated with new owning services, parser seam, MCP contract helper, and Streamlit page/domain gateways.
|
||||
- `docs/runtime-flows.md` updated with import/parser seam, MCP contract routing, and dashboard gateway flow.
|
||||
- `docs/runbooks/streamlit-browser-evidence.md` now 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-015`~`REQ-018` / `BAT-011`~`BAT-014` completion.
|
||||
|
||||
## Browser evidence note
|
||||
## Browser evidence details
|
||||
|
||||
- Attempted: synthetic local dashboard browser/HTTP smoke.
|
||||
- Result: blocked by terminal consent guard for long-running local server startup in this session.
|
||||
- Impact: none on code correctness regression; AppTest remained green and no UI functional regression was detected in test coverage.
|
||||
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: `rules.png`
|
||||
- DOM: `rules.dom.html`
|
||||
- Evidence text included `⚙️ Rule Engine`, `분류 규칙`, and seeded default categorization rules.
|
||||
- `확인필요 큐`
|
||||
- Screenshot: `transfer-review.png`
|
||||
- DOM: `transfer-review.dom.html`
|
||||
- Evidence text included `🔁 Transfer Review`, `KB↔토스뱅크 확인필요 큐`, and a synthetic transfer-review row for `2026-06-29` / `SYNTHETIC_TRANSFER` / `120,000원` / `이체` / `확인필요`.
|
||||
- `Import`
|
||||
- Screenshot: `import.png`
|
||||
- DOM: `import.dom.html`
|
||||
- Evidence text included `📥 Statement Import`, Toss Securities import copy, and Toss Bank import copy.
|
||||
|
||||
### 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.json` with 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.
|
||||
|
||||
Reference in New Issue
Block a user