approve dcy-001 and add REQ/BAT evidence pass selected DB path through Streamlit rule actions expose delete_category_rule MCP tool add category rule deletion regression
2.2 KiB
2.2 KiB
BAT-001 Implementation
Status
- Status: implemented-qc-passed
- Last Updated (KST): 2026-06-26 23:41
Changed Files
jarca_ledger_mcp/server.pydelete_category_rule(rule_id: str)MCP tool을 additive 등록했다.
dashboard/app.py- 분류 규칙 page의
seed_default_category_rules,preview_categorization,apply_categorization_rules호출이 page-leveldb_path를 전달하도록 수정했다.
- 분류 규칙 page의
tests/test_category_rule_filters.py- category rule 삭제 성공, 삭제 후 list 제외, missing ID
not_foundregression을 추가했다.
- category rule 삭제 성공, 삭제 후 list 제외, missing ID
- StagePilot 문서
docs/srs/Interface/req-001_category-rule-ops.mddocs/srs/index.mddocs/batches/bat-001_20260626_category-rule-ops/*docs/batches/index.mddocs/discovery/dcy-001_20260626_streamlit-ux-e2e-categorization-refund-workflows.md
Execution Log
- 2026-06-26 23:31 KST: batch-lite 계획 수립.
- 2026-06-26 23:33 KST: MCP delete tool, Streamlit db_path 전달, deletion regression test 구현.
- 2026-06-26 23:36 KST: service/pytest/MCP/Streamlit AppTest smoke 검증 완료.
- 2026-06-26 23:41 KST: 검수관 QC gate
PASS_WITH_NOTES확인, blocker 없음.
Validation During Implementation
python -m py_compile jarca_ledger_mcp/*.py dashboard/app.py: pass.pytest tests/test_category_rule_filters.py: 3 passed.pytest tests/test_cross_account_transfer_matching.py: 3 passed.pytest: 17 passed, 4 skipped.hermes mcp test jarca-ledger: connected, 41 tools discovered,delete_category_rulediscovered.- Streamlit smoke: port 8502 synthetic fixture DB
/tmp/jarca-ledger-bat-001-smoke.sqlite3; browser tool unavailable because local Chromium snap is not installed, sostreamlit.testing.v1.AppTestwas used. 분류 규칙 page rendered without exceptions; title/subheader/buttons/rule item were visible; preview/apply buttons ran without errors; default 운영 DB mtime unchanged.
Remaining Risks
- Browser screenshot evidence was not captured because
/usr/bin/chromium-browserrequires the unavailable chromium snap. AppTest + HTTP 200 smoke was used as substitute evidence. - Import/rollback and cancel/refund workflows remain outside BAT-001 and should be handled by later REQ/BAT.