Files
wanderbooks/docs/parallel-run.md
T

43 lines
1.9 KiB
Markdown

# 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.