feat: stabilize category rule operations

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
This commit is contained in:
Jarca
2026-06-27 00:02:06 +09:00
parent 97115f6acf
commit 0f881b245f
12 changed files with 459 additions and 5 deletions
@@ -0,0 +1,21 @@
# BAT-001 Planning
## 1. Goal
REQ-001의 분류 규칙 운영 액션을 작은 단위로 구현하고 검증한다.
## 2. Design Gate
- Decision: design.md 생략, batch-lite 유지.
- Rationale: schema 변경이나 신규 runtime flow 없이 기존 service function을 MCP에 additive 등록하고 dashboard 호출부의 `db_path` 전달 누락을 수정하는 국소 변경이다.
## 3. Implementation Plan
1. `server.py`에 `delete_category_rule(rule_id: str)` MCP tool을 추가한다.
2. `dashboard/app.py`의 분류 규칙 seed/update, preview, apply 호출에 `db_path=db_path`를 전달한다.
3. `tests/test_category_rule_filters.py`에 삭제 성공/삭제 후 list 제외/없는 ID 실패 regression을 추가한다.
4. 검증 명령을 실행하고 결과를 `verification.md`에 기록한다.
5. 검수관 QC gate PASS 후 REQ-001을 Implemented로 전환한다.
## 4. Risks and Mitigations
- Risk: Streamlit smoke 중 기본 운영 DB를 건드릴 수 있음.
- Mitigation: `JARCA_LEDGER_DB_PATH`를 tmp synthetic DB로 지정해 dashboard를 실행한다.
- Risk: MCP tool 목록이 캐시되어 신규 tool이 보이지 않을 수 있음.
- Mitigation: `hermes mcp test jarca-ledger`로 새 프로세스 기준 smoke를 수행한다.