[object Object]

← back to Dw Pairs Well

governance(TK-11370): make live-by-default Shopify writers dry-run by default

85943fc8bb742eba2a8e16182c08fef330263d6a · 2026-09-10 17:52:30 -0700 · Steve Abrams

Flip `DRY = argv.includes('--dry')` -> `DRY = !argv.includes('--apply')` so a
zero-argument run no longer fires customer-facing Shopify writes.

Backward compatible: `--dry` still means dry; `--apply` now required to write.
Only zero-arg invocations change behaviour, and every candidate was checked
against its launchd/cron/pm2/wrapper invocation sites first (4 scripts that a
cadence job runs flagless were EXCLUDED so this cannot silently disable them).

Verified: node --check/py_compile 87/87 with a positive control proving the
checker rejects an injected fault; argv truth-table negative test 5/5.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L53y4oP2itY3qeJ8WQgMzc

Files touched

Diff

commit 85943fc8bb742eba2a8e16182c08fef330263d6a
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Thu Sep 10 17:52:30 2026 -0700

    governance(TK-11370): make live-by-default Shopify writers dry-run by default
    
    Flip `DRY = argv.includes('--dry')` -> `DRY = !argv.includes('--apply')` so a
    zero-argument run no longer fires customer-facing Shopify writes.
    
    Backward compatible: `--dry` still means dry; `--apply` now required to write.
    Only zero-arg invocations change behaviour, and every candidate was checked
    against its launchd/cron/pm2/wrapper invocation sites first (4 scripts that a
    cadence job runs flagless were EXCLUDED so this cannot silently disable them).
    
    Verified: node --check/py_compile 87/87 with a positive control proving the
    checker rejects an injected fault; argv truth-table negative test 5/5.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01L53y4oP2itY3qeJ8WQgMzc
---
 scripts/pipe-title-backfill/apply-clean-23.mjs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/pipe-title-backfill/apply-clean-23.mjs b/scripts/pipe-title-backfill/apply-clean-23.mjs
index 36dee14..e439823 100644
--- a/scripts/pipe-title-backfill/apply-clean-23.mjs
+++ b/scripts/pipe-title-backfill/apply-clean-23.mjs
@@ -80,7 +80,7 @@ query($id: ID!) {
 }`;
 
 async function main() {
-  const dry = process.argv.includes('--dry');
+  const dry = !process.argv.includes('--apply');
   const payload = JSON.parse(fs.readFileSync(PAYLOAD, 'utf8'));
   const rows = payload.apply;
   if (rows.length !== 23) throw new Error(`expected 23 apply rows, got ${rows.length}`);

← 2fc0641 chore: lint, refactor (DRY sourceArchived + null-status guar  ·  back to Dw Pairs Well  ·  (newest)