48 lines
2.7 KiB
Markdown
48 lines
2.7 KiB
Markdown
# 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.
|