Files
wanderbooks/docs/parallel-run.md
T

1.9 KiB

Parallel-run readiness

The Google Sheet stays the system of record until the parallel run passes and Stephen explicitly approves cutover. This doc is the plan; the run itself needs Stephen's go-ahead.

Prerequisites (all met)

  • Capability parity 12 of 12 rows covered (docs/capability-parity.md).
  • Engine semantics verified: 70 workspace tests, property tests, mutation testing, 11.5M fuzz executions with zero crashes.
  • Storage: hash-chained JSONL journal (source of truth), SQLite as disposable projection with auto-rebuild, content-addressed blob store.
  • Export: CSV/JSON/XLSX/IIF for CPA handoff and QuickBooks Desktop.

The run

  1. Duration: one full calendar month.
  2. Dual entry: every transaction goes into BOTH the Sheet and wanderbooks (via the MCP tools). Receipts attach in both.
  3. Month-end diff: export trial balance, P&L, balance sheet, and cash flow from wanderbooks (XLSX); compare against the Sheet's tabs. Every line must match to the cent.
  4. Discrepancy protocol: any mismatch is investigated before the next month starts. If the engine is wrong, fix the engine (with a test). If the Sheet is wrong, note it — the Sheet is the record until cutover.
  5. Cutover: only after a clean month AND Stephen's explicit approval. Cutover means: the Sheet becomes read-only history; wanderbooks becomes the system of record. The journal's git backup becomes the archive.

What the agent does during the run

  • Daily: books.digest review of what was recorded.
  • Weekly: trial-balance export, eyeball against the Sheet.
  • Month-end: full four-statement export + line-by-line diff.
  • Every discrepancy gets a written explanation before proceeding.

Rollback

If the run fails: the Sheet never stopped being the record. Delete the wanderbooks data dir, fix the issues, restart the month. No data loss — the Sheet has everything.