Spec: AI-first MCP interface phase (ledger-mcp, receipt store, capability parity)
This commit is contained in:
1 parent
3a9d83ec6c
commit
ae61f02eb8
1 file changed
+27
-21
+27
-21
@@ -1,19 +1,27 @@
|
||||
# Roadmap
|
||||
|
||||
## Phase 1 — Semantics core (now)
|
||||
## Phase 1 — Semantics core (done)
|
||||
|
||||
The engine: money, accounts, journal, ledger commands, trial balance, P&L,
|
||||
balance sheet, golden files, property tests, and the docs an agent needs to
|
||||
work here (AGENTS.md, requirements, architecture, oracle, parity, glossary).
|
||||
Done when the parity floor is 6+ and every `done` item is tested +
|
||||
golden-covered.
|
||||
Parity floor: 6 done.
|
||||
|
||||
## Phase 2 — Close the accounting loop
|
||||
## Phase 2 — AI-first interface (now)
|
||||
|
||||
- Period close (fiscal periods, closing entries, locked periods)
|
||||
- Cash flow statement, indirect method
|
||||
- `proptest` with shrinking; properties for close and cash flow
|
||||
- Parity floor moves; goldens grow
|
||||
The primary interface is MCP, not a cloned GUI (Stephen's call, 2026-10-10).
|
||||
|
||||
- `ledger-store`: SQLite persistence, append-only triggers, amounts as TEXT,
|
||||
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
|
||||
|
||||
@@ -25,25 +33,23 @@ golden-covered.
|
||||
- Done when: a fixture book produces byte-identical snapshots from both
|
||||
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
|
||||
stack: egui/eframe, no Electron, no React)
|
||||
- Command-driven UI: every UI action goes through the `Ledger` command
|
||||
surface; the UI holds no accounting logic
|
||||
- storytold's screenshot-in-the-loop returns: agents verify UI changes
|
||||
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
|
||||
- Consumes the `ledger-store` event log: live updates via tail/SSE — the
|
||||
answer to "watch its files to update live."
|
||||
- egui or web; a dumb client holding no accounting logic.
|
||||
- This is the trust layer for humans (Stephen, Kat, the CPA), not the
|
||||
primary interface. Read-only at first; editing stays with the agent.
|
||||
|
||||
## Phase 5 — Workflow parity
|
||||
|
||||
- A/R and A/P workflows, bank reconciliation, budgets, scheduled transactions
|
||||
- Multi-currency with FX translation
|
||||
- The goal: a self-hosted bookkeeping app with a tested claim to
|
||||
semantic parity with GnuCash and workflow parity with QuickBooks —
|
||||
no SaaS subscription required
|
||||
- Period close and cash flow (engine R-FUTURE items) land as their phases
|
||||
demand, not before
|
||||
- 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
|
||||
|
||||
|
||||
Reference in new issue
Block a user