Spec: AI-first MCP interface phase (ledger-mcp, receipt store, capability parity)

This commit is contained in:
swaits committed 2026-10-11 01:07:47 +00:00
1 parent 3a9d83ec6c
commit ae61f02eb8
1 file changed
+27 -21
+27 -21
View File
@@ -1,19 +1,27 @@
# Roadmap # Roadmap
## Phase 1 — Semantics core (now) ## Phase 1 — Semantics core (done)
The engine: money, accounts, journal, ledger commands, trial balance, P&L, The engine: money, accounts, journal, ledger commands, trial balance, P&L,
balance sheet, golden files, property tests, and the docs an agent needs to balance sheet, golden files, property tests, and the docs an agent needs to
work here (AGENTS.md, requirements, architecture, oracle, parity, glossary). work here (AGENTS.md, requirements, architecture, oracle, parity, glossary).
Done when the parity floor is 6+ and every `done` item is tested + Parity floor: 6 done.
golden-covered.
## Phase 2 — Close the accounting loop ## Phase 2 — AI-first interface (now)
- Period close (fiscal periods, closing entries, locked periods) The primary interface is MCP, not a cloned GUI (Stephen's call, 2026-10-10).
- Cash flow statement, indirect method
- `proptest` with shrinking; properties for close and cash flow - `ledger-store`: SQLite persistence, append-only triggers, amounts as TEXT,
- Parity floor moves; goldens grow event log, migrations, rebuild-from-log verify. Spec: `docs/receipt-store.md`.
- Blob store: content-addressed receipts and documents, attachment metadata,
Drive backfill script.
- `ledger-mcp`: stdio transport first, Streamable HTTP later; narrow tools,
preview-before-post, digest, read-only resources, the agent operating
contract in the tool descriptions. Spec: `docs/mcp-interface.md`.
- Capability parity vs the GSheet+GDrive system: `docs/capability-parity.md`.
- Parallel run with the sheet; cutover per the cutover rule.
- Done when: every specced capability-parity row is covered, a month of
parallel run diffs clean, Stephen approves the cutover.
## Phase 3 — Oracle harness ## Phase 3 — Oracle harness
@@ -25,25 +33,23 @@ golden-covered.
- Done when: a fixture book produces byte-identical snapshots from both - Done when: a fixture book produces byte-identical snapshots from both
engines with zero manual steps engines with zero manual steps
## Phase 4 — App shell (egui) ## Phase 4 — Read-only GUI
- `books-app`: one Rust codebase, native desktop + WASM (the storytold - Consumes the `ledger-store` event log: live updates via tail/SSE — the
stack: egui/eframe, no Electron, no React) answer to "watch its files to update live."
- Command-driven UI: every UI action goes through the `Ledger` command - egui or web; a dumb client holding no accounting logic.
surface; the UI holds no accounting logic - This is the trust layer for humans (Stephen, Kat, the CPA), not the
- storytold's screenshot-in-the-loop returns: agents verify UI changes primary interface. Read-only at first; editing stays with the agent.
visually, against reference screenshots of GnuCash/QuickBooks kept
maintainer-local (never committed)
- Workflow parity catalog starts (QuickBooks/Xero reference): invoices,
bills, bank rec, chart management
## Phase 5 — Workflow parity ## Phase 5 — Workflow parity
- A/R and A/P workflows, bank reconciliation, budgets, scheduled transactions - A/R and A/P workflows, bank reconciliation, budgets, scheduled transactions
- Multi-currency with FX translation - Multi-currency with FX translation
- The goal: a self-hosted bookkeeping app with a tested claim to - Period close and cash flow (engine R-FUTURE items) land as their phases
semantic parity with GnuCash and workflow parity with QuickBooks — demand, not before
no SaaS subscription required - The goal: a self-hosted bookkeeping system with a tested claim to
semantic parity with GnuCash and capability parity with the old
GSheet+GDrive workflow — no SaaS subscription required
## Explicitly not on the roadmap ## Explicitly not on the roadmap