1.9 KiB
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
- Duration: one full calendar month.
- Dual entry: every transaction goes into BOTH the Sheet and wanderbooks (via the MCP tools). Receipts attach in both.
- 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.
- 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.
- 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.digestreview 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.