Files
jarca-ledger-mcp/docs/batches/bat-009_20260701_manual-asset-crud-snapshot-close/implementation.md
T

2.7 KiB

BAT-009 Implementation

Plan summary

BAT-009 extends the BAT-008 valuation/read foundation into a full write workflow: manual asset CRUD, month-end snapshot preview/close/correction, mutation MCP contracts, operator dashboard UX, and baseline doc alignment while preserving shared valuation rules and safe fallback behavior.

Changed files

  • jarca_ledger_mcp/db.py
  • jarca_ledger_mcp/service.py
  • jarca_ledger_mcp/server.py
  • dashboard/app.py
  • tests/test_asset_snapshots.py
  • tests/test_contract_regression.py
  • tests/test_dashboard_app.py
  • tests/test_ledger_categories.py
  • tests/test_service.py
  • tests/contract_snapshots/response_contract_v1_0.json
  • docs/data-model.md
  • docs/interface-contract.md
  • docs/discovery/dcy-009_20260701_manual-asset-crud-month-end-snapshot-close-workflow.md
  • docs/srs/Data/req-011_manual-asset-crud-month-end-snapshot-write-model.md
  • docs/srs/Interface/req-012_manual-asset-crud-snapshot-close-mcp-and-operator-dashboard-alignment.md
  • docs/srs/index.md
  • docs/batches/index.md
  • docs/batches/bat-009_20260701_manual-asset-crud-snapshot-close/index.md
  • docs/batches/bat-009_20260701_manual-asset-crud-snapshot-close/verification.md

Execution log

  • 2026-07-01 09:03 KST: BAT-009 standard batch scaffold created from approved REQ-011/REQ-012.
  • 2026-07-01 10:52 KST: manual_assets write lifecycle(create/update/deactivate), asset_snapshots close/correction metadata, latest-run snapshot read selection, mutation MCP 5종, 대시보드 자산/마감 페이지, contract snapshot/test, baseline docs 정렬을 반영했다.
  • 2026-07-01 10:52 KST: stale schema-version expectations(8/9)을 current schema version 10에 맞게 tests/test_ledger_categories.py, tests/test_service.py에서 정렬했다.

Validation

  • python3 -m py_compile jarca_ledger_mcp/*.py dashboard/app.py → PASS
  • python3 -m pytest tests/test_asset_snapshots.py tests/test_contract_regression.py tests/test_dashboard_app.py -q → PASS (12 passed)
  • python3 -m pytest -q → PASS (42 passed, 4 skipped)
  • hermes mcp test jarca-ledger → PASS (Connected, Tools discovered: 56)
  • Browser smoke: Streamlit app on http://127.0.0.1:18501/?page=자산/마감 rendered the new page with manual asset CRUD section and snapshot preview/close section; browser console JS errors 없음.

Remaining risks / follow-up notes

  • Correction metadata shape must remain compatible with existing read helpers and historical snapshots.
  • Dashboard UX should not imply production-safe automation; this batch is still synthetic-evidence only.
  • Automatic valuation feeds and scheduled month-end close remain explicitly out of scope for BAT-009.