Files
jarca-ledger-mcp/docs/batches/bat-016_20260708_review-decision-reconciliation-workbench/implementation.md
T
genichin 698dd9e62e feat: persist review workbench decisions (#1)
Merge dcy-012 / REQ-020 / BAT-016 implementation after green CI.
2026-07-08 10:22:53 +09:00

53 lines
2.8 KiB
Markdown

# BAT-016 Implementation Log
## Status
- Implemented locally; release-candidate after verification.
- Completed At (KST): 2026-07-08 07:11 KST
- Branch: `feat/bat-016-review-decision-workbench`
## Implementation Owner
- 가웨인 direct recovery path. User explicitly prohibited Kanban after prior worker failures.
## Changed Files
- `jarca_ledger_mcp/infrastructure/sqlite/schema.py`
- `jarca_ledger_mcp/infrastructure/sqlite/migrations.py`
- `jarca_ledger_mcp/application/review_decision_service.py`
- `jarca_ledger_mcp/application/cross_transfer_service.py`
- `jarca_ledger_mcp/application/reconciliation_service.py`
- `jarca_ledger_mcp/application/uncategorized_workbench_service.py`
- `jarca_ledger_mcp/application/system_services.py`
- `jarca_ledger_mcp/service.py`
- `jarca_ledger_mcp/adapters/mcp/tool_contracts.py`
- `jarca_ledger_mcp/adapters/mcp/server.py`
- `jarca_ledger_mcp/adapters/streamlit/transfers_gateway.py`
- `jarca_ledger_mcp/adapters/streamlit/reconciliation_gateway.py`
- `jarca_ledger_mcp/adapters/streamlit/categorization_gateway.py`
- `dashboard/app.py`
- `tests/test_review_decision_workbench.py`
- `tests/test_service.py`
- `tests/test_ledger_categories.py`
- `docs/data-model.md`
- `docs/project-structure.md`
- `docs/runtime-flows.md`
## Implementation Summary
- Raised SQLite schema version to `11` and added additive/idempotent `review_decisions` and `reconciliation_sessions` schema objects.
- Added `review_decision_service.py` for safe non-destructive review decision and reconciliation session operations.
- Added payload minimization to prevent raw payload/password/token/secret/file-path persistence.
- Added review/session state enrichment to cross-transfer queue, balance reconciliation report, and uncategorized workbench outputs.
- Added MCP tools for list/upsert/hold/recheck/release review decisions, list/upsert/close reconciliation sessions, and review operating indicators.
- Added Streamlit actions and gateway exports for review decision/session workflow state.
- Added regression tests for schema idempotency, sensitive payload filtering, reconciliation session round trip, report integration, and MCP tool surface.
## Commands and Results
- `python -m ruff check .` → passed.
- `python -m pytest tests/test_review_decision_workbench.py -q` → `.... [100%]`.
- `python -m pytest -q` → passed, with existing skipped tests preserved.
- MCP surface smoke: required 9 review/session tools present; destructive delete/reset absent; tool count `65`.
- DB safety smoke: schema version `11`, `PRAGMA integrity_check` `ok`, new tables present and empty on synthetic DB.
## Notes
- No production DB destructive operation was performed.
- No raw financial evidence or secrets were added to repository fixtures.
- Final PR/CI evidence remains the next gate after commit/push.