[object Object]

← back to Sample Followup Sweep

watch-sent-stamp: refuse unknown args instead of running a live pass (TK-12320)

523a32c1b29cdb00d15cdd382d87d1a93ccf23f9 · 2026-09-26 08:52:37 -0700 · Steve Abrams

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TbUKLFLXi7LEQcGyGeYqp9

Files touched

Diff

commit 523a32c1b29cdb00d15cdd382d87d1a93ccf23f9
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Sat Sep 26 08:52:37 2026 -0700

    watch-sent-stamp: refuse unknown args instead of running a live pass (TK-12320)
    
    Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01TbUKLFLXi7LEQcGyGeYqp9
---
 scripts/watch-sent-stamp.mjs | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/scripts/watch-sent-stamp.mjs b/scripts/watch-sent-stamp.mjs
index 271fc46..1281216 100644
--- a/scripts/watch-sent-stamp.mjs
+++ b/scripts/watch-sent-stamp.mjs
@@ -25,6 +25,10 @@ const SEARCH_DAYS = Number(process.env.SEARCH_DAYS) || 21;
 const RETRY_SECS = Number(process.env.RETRY_SECS) || 900;   // re-examine a non-terminal send at most every 15 min
 const PAGE_SIZE = 50, MAX_PAGES = 10;
 
+// TK-12320: a pass with no flags writes live, so an unknown flag (e.g. --help) must not fall through to one.
+const badArgs = process.argv.slice(2).filter((a) => !['--loop', '--dry'].includes(a));
+if (badArgs.length) { console.error(`unknown arg(s): ${badArgs.join(' ')}\nusage: watch-sent-stamp.mjs [--dry] [--loop]   (no --dry = LIVE FileMaker stamps)`); process.exit(2); }
+
 const cfg = JSON.parse(readFileSync(join(homedir(), '.claude.json'), 'utf8'));
 const fenv = cfg?.mcpServers?.filemaker?.env || {};
 for (const k of ['FM_CLOUD_HOST', 'FM_CLARIS_EMAIL', 'FM_CLARIS_PASSWORD']) process.env[k] = fenv[k];

← a884b80 auto-data-snapshot: 2026-09-26T08:50:16 (1 data files) — dat  ·  back to Sample Followup Sweep  ·  sent-stamp watcher: fold review findings (never overwrite a d523fb1 →