From fc9960eb8317d80eede6ae7b44b873400665006b Mon Sep 17 00:00:00 2001 From: Stephen Waits <1+swaits@noreply.git.swaits.com> Date: Sun, 11 Oct 2026 03:02:48 +0000 Subject: [PATCH] Next steps 5-10: resources, cash flow, QB interop, backfill, HTTP, parallel-run plan --- docs/receipt-store.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/receipt-store.md b/docs/receipt-store.md index dfb2f98..ec276a1 100644 --- a/docs/receipt-store.md +++ b/docs/receipt-store.md @@ -56,11 +56,14 @@ apply is safe — on startup the applier replays every journal line with - `prev`: hex SHA-256 of the previous line's canonical JSON (keys sorted, no whitespace). The genesis line uses `"prev": "000...0"` (64 zeros). -### Drafts are not journaled +### Drafts are journaled (durable) -Draft entries are ephemeral: they live in the MCP server's memory and are -**not** journaled until posted. The journal records facts, not intentions. -A draft that never posts leaves no trace — which is correct. +Draft entries are durable: `entry.created` and `entry.line_added` journal +lines record the draft as the agent builds it, so drafts (and receipts +attached to them) survive server restarts. Drafts never touch the SQLite +projection until posted — reports only see posted entries. A draft that +never posts leaves its `created`/`line_added` lines in the journal, which +is correct: the journal records what happened, including abandoned work. ### Verification