2.3 KiB
2.3 KiB
BAT-008 Planning
Scope
- Implement REQ-009:
asset_snapshots/manual_assetsvaluation model, authority-source rule, month-end manual snapshot policy support. - Implement REQ-010: asset snapshot read MCP, net-worth timeseries read MCP, manual assets read MCP, dashboard/MCP alignment.
- Preserve REQ-005 safety fallback when new tables are empty.
- Use synthetic/temp data only for tests and verification evidence.
Dependencies
- dcy-008 confirmed Discovery and approved REQ-009/REQ-010.
- Existing REQ-005 dashboard liquidity/net-worth flow and
accounts.last_balanceauthority-source baseline. - Existing MCP server/service pattern in
jarca_ledger_mcp/server.py,jarca_ledger_mcp/service.py,jarca_ledger_mcp/db.py. - Additive/idempotent SQLite migration discipline and synthetic-only evidence policy.
Work plan
- Create BAT-008 standard batch docs and register entry.
- Add schema/model support for
manual_assetsandasset_snapshotswith safe empty-table fallback. - Add service-layer valuation helpers, snapshot accumulation/report functions, and dashboard alignment logic.
- Add read-only MCP tool endpoints/contracts for snapshot read, net-worth timeseries, and manual assets read.
- Update baseline docs (
docs/data-model.md,docs/interface-contract.md,docs/project-structure.md,docs/runtime-flows.md). - Run narrow validation first (targeted tests / lint / smoke as applicable), then broader regression if narrow gates pass.
- If evidence satisfies ACs, move BAT-008 to release-candidate and REQ-009/REQ-010 to Implemented.
Design Gate
- Result: standard batch 유지.
- Reason: schema, service, MCP contract, dashboard alignment, baseline docs를 함께 변경하며 interface/data/fallback 설계가 필요하다.
Risks and mitigations
- Authority-source drift between dashboard and MCP: mitigate by centralizing valuation helpers and writing shared regression tests.
- Empty new tables breaking existing REQ-005 flows: mitigate by explicit fallback tests and additive migrations only.
- Double counting between account-backed assets and manual assets: mitigate by clearly separating source responsibility and documenting inclusion/exclusion rules.
- Snapshot history ambiguity: mitigate by storing basis date, source type, and memo for every snapshot row.