← back to Trending Dw
gapgen: cost guard — refuse paid Replicate by default (Steve: use local models); Replicate now opt-in via GEN_BACKEND=replicate
39b1dba82cd0053ad14dd1334eaceeb98a6b19a0 · 2026-07-07 12:49:30 -0700 · Steve
Files touched
Diff
commit 39b1dba82cd0053ad14dd1334eaceeb98a6b19a0
Author: Steve <steve@designerwallcoverings.com>
Date: Tue Jul 7 12:49:30 2026 -0700
gapgen: cost guard — refuse paid Replicate by default (Steve: use local models); Replicate now opt-in via GEN_BACKEND=replicate
---
scripts/gapgen.js | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/scripts/gapgen.js b/scripts/gapgen.js
index 0e75fc3..9ad092a 100644
--- a/scripts/gapgen.js
+++ b/scripts/gapgen.js
@@ -217,6 +217,19 @@ if (DRY) {
process.exit(0);
}
+// COST GUARD (Steve 2026-07-07): generation must default to LOCAL models, not paid
+// Replicate. gapgen still calls Replicate, so refuse to spend unless explicitly opted
+// in. NEXT TASK: port wallco-ai's comfy path (comfyCurl → COMFY_URL/prompt) so
+// GEN_BACKEND=comfy generates on Mac1 ComfyUI for $0.
+const BACKEND = process.env.GEN_BACKEND || 'comfy';
+if (BACKEND !== 'replicate') {
+ console.error(`[COST GUARD] refusing to spend on paid Replicate by default (GEN_BACKEND=${BACKEND}).
+Local ComfyUI generation ($0) is not yet wired into gapgen — that's the next task.
+To knowingly use paid Replicate (~$${GEN_COST}/img), re-run with: GEN_BACKEND=replicate node scripts/gapgen.js ${args.join(' ')} --rolls ${rolls}
+(--dry-run works free without a backend.)`);
+ process.exit(2);
+}
+
fs.mkdirSync(CAND_DIR, { recursive: true });
const ledger = loadJSON(LEDGER, { total: 0, gens: 0 });
const report = loadJSON(REPORT, {});
← 8e9ac73 chore: lint guards (colorGate NaN, --rolls, json.loads) + re
·
back to Trending Dw
·
chore: v0.1.3 (session close) eb73264 →