[object Object]

← back to Dw Signup Fulfillment

honor-reissue: isolate DRY ledger from live (dry preview no longer pollutes live done-state); gitignore ledgers

28160cb488cca9b16e105808dea807493906e362 · 2026-08-14 12:08:35 -0700 · steve

Files touched

Diff

commit 28160cb488cca9b16e105808dea807493906e362
Author: steve <steve@designerwallcoverings.com>
Date:   Fri Aug 14 12:08:35 2026 -0700

    honor-reissue: isolate DRY ledger from live (dry preview no longer pollutes live done-state); gitignore ledgers
---
 .gitignore               | 2 ++
 scripts/honor-reissue.js | 5 ++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 909bc1e..e7e11d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,5 @@ __pycache__/
 *.pyc
 *.bak
 data/minted-cards-honor-worklist.jsonl
+data/honor-reissue-ledger*.jsonl
+data/*.bak-*
diff --git a/scripts/honor-reissue.js b/scripts/honor-reissue.js
index ee8588a..2c8ed64 100644
--- a/scripts/honor-reissue.js
+++ b/scripts/honor-reissue.js
@@ -34,7 +34,10 @@ const shopify = require('../lib/shopify');
 const email = require('../lib/email');
 
 const WORKLIST = path.join(__dirname, '..', 'data', 'minted-cards-honor-worklist.jsonl');
-const LEDGER = path.join(__dirname, '..', 'data', 'honor-reissue-ledger.jsonl');
+// DRY runs write to a SEPARATE ledger so a dry preview can never mark a real customer
+// "done" in the live ledger (which happened once: a dry-verify polluted the live ledger
+// and the real --apply then skipped everyone). Live and dry state are now fully isolated.
+const LEDGER = path.join(__dirname, '..', 'data', config.DRY_RUN ? 'honor-reissue-ledger.DRY.jsonl' : 'honor-reissue-ledger.jsonl');
 const VALUE = +(config.FREE_SAMPLE_COUNT * config.SAMPLE_PRICE).toFixed(2); // 3 × 4.25 = 12.75
 
 const limitArg = process.argv.indexOf('--limit');

← 5ea0034 honor-reissue: 429-aware retry + gentle pacing for the 51-ca  ·  back to Dw Signup Fulfillment  ·  chore: fail-loud guard on empty George Basic-auth, v0.1.3 (s f1cb8a4 →