3.1 KiB
3.1 KiB
BAT-013 Implementation
Plan summary
BAT-013 implements dcy-011 Phase 6 by extracting advanced finance workflows into dedicated owning application services: cross_transfer_service.py, reconciliation_service.py, assets_service.py, and uncategorized_workbench_service.py. Existing broad modules remain as compatibility layers so MCP/service/dashboard callers keep their contracts.
Changed files
jarca_ledger_mcp/application/assets_service.pyjarca_ledger_mcp/application/asset_account_services.pyjarca_ledger_mcp/application/cross_transfer_service.pyjarca_ledger_mcp/application/import_transfer_services.pyjarca_ledger_mcp/application/reconciliation_service.pyjarca_ledger_mcp/application/transaction_report_services.pyjarca_ledger_mcp/application/uncategorized_workbench_service.pyjarca_ledger_mcp/application/categorization_services.pyjarca_ledger_mcp/application/__init__.pyjarca_ledger_mcp/service.pydocs/srs/index.mddocs/srs/Non-Functional/req-017_advanced-finance-workflow-service-split.mddocs/batches/index.mddocs/batches/bat-013_20260703_advanced-workflow-service-split/*docs/discovery/dcy-011_20260703_backend-refactor-phase4-write-import-workflow-adapter-narrowing.md
Execution log
- 2026-07-03 07:55 KST: dcy-011 Phase 6 범위로
REQ-017/BAT-013를 생성하고 Approved 상태를 확정했다. - 2026-07-03 07:57~07:59 KST: AST-extracted function ranges를 기준으로 assets / cross-transfer / reconciliation / uncategorized workbench 흐름을 새 owning services로 이동했다.
- 2026-07-03 07:59 KST:
asset_account_services.py,import_transfer_services.py,transaction_report_services.py,categorization_services.py를 compatibility delegation 레이어로 축소했다. - 2026-07-03 08:00 KST:
application/__init__.py와service.pyexport/proxy surface를 새 owning modules까지 확장했다. - 2026-07-03 08:00~08:01 KST: targeted workflow regression, full pytest, MCP discovery, provenance checks를 실행했고 모두 PASS했다.
Validation
python3 -m py_compile jarca_ledger_mcp/application/*.py jarca_ledger_mcp/service.py→ PASSpytest -q tests/test_cross_account_transfer_matching.py tests/test_asset_snapshots.py tests/test_categorization.py tests/test_contract_regression.py tests/test_service.py→ PASS (24 passed)pytest -q→ PASS (42 passed, 4 skipped)hermes mcp test jarca-ledger→ PASS (Connected,Tools discovered: 56)python3provenance check → PASS- cross-transfer APIs →
jarca_ledger_mcp.application.cross_transfer_service - reconciliation API →
jarca_ledger_mcp.application.reconciliation_service - asset workflows →
jarca_ledger_mcp.application.assets_service - uncategorized workbench APIs →
jarca_ledger_mcp.application.uncategorized_workbench_service
- cross-transfer APIs →
Remaining risks / follow-up notes
- broad compatibility layers still exist by design; final dcy-011 batch should narrow MCP/Streamlit adapter imports and refresh baseline docs.
- top-level module names remain public to avoid breaking monkeypatch/tests; final cleanup should preserve this constraint.