[object Object]

← back to Designerwallcoverings

colorway-retag: add --only=h1,h2 handle filter so a pilot is code-bounded (no bare --vendor --apply overrun)

2d4faa387c0a83859c71d6e6309b70102827f98c · 2026-09-02 08:57:02 -0700 · Steve Abrams

Contrarian hole from TK-11098 triage: the 20-product pilots in TK-11077/TK-11078 relied on prose to keep a fresh window from running --apply --vendor across the whole vendor (~784 Malibu). --only restricts the live set to the listed handles before planning; dry-run verified 19/19 restricted, 19 would_write, 0 garbage.

Undo: git revert this sha.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112gwsN3XLDuDNAMBu3KYCm

Files touched

Diff

commit 2d4faa387c0a83859c71d6e6309b70102827f98c
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Sep 2 08:57:02 2026 -0700

    colorway-retag: add --only=h1,h2 handle filter so a pilot is code-bounded (no bare --vendor --apply overrun)
    
    Contrarian hole from TK-11098 triage: the 20-product pilots in TK-11077/TK-11078 relied on prose to keep a fresh window from running --apply --vendor across the whole vendor (~784 Malibu). --only restricts the live set to the listed handles before planning; dry-run verified 19/19 restricted, 19 would_write, 0 garbage.
    
    Undo: git revert this sha.
    
    Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_0112gwsN3XLDuDNAMBu3KYCm
---
 scripts/colorway-title-anchor/tk11076-colorway-retag.mjs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/scripts/colorway-title-anchor/tk11076-colorway-retag.mjs b/scripts/colorway-title-anchor/tk11076-colorway-retag.mjs
index 7796320..58095d9 100644
--- a/scripts/colorway-title-anchor/tk11076-colorway-retag.mjs
+++ b/scripts/colorway-title-anchor/tk11076-colorway-retag.mjs
@@ -44,6 +44,7 @@ const arg = k => (process.argv.find(a => a.startsWith(`--${k}=`)) || '').split('
 const VENDOR = arg('vendor');
 const CANARY = parseInt(arg('canary') || '0', 10);
 const CANARY_MIXED = process.argv.includes('--canary-mixed');
+const ONLY = arg('only').split(',').map(s => s.trim()).filter(Boolean); // TK-11098: code-bounded pilot — restrict to these handles (no bare --vendor --apply overrun)
 const CW_META_NS = 'custom', CW_META_KEY = 'real_color_name';
 const sleep = ms => new Promise(r => setTimeout(r, ms));
 const decode = s => String(s || '').replace(/&amp;/g, '&').replace(/&#38;/g, '&').replace(/&#39;/g, "'").replace(/&quot;/g, '"');
@@ -217,7 +218,8 @@ async function run() {
     live.push(...await fetchHandles(skipRows));
   } else if (VENDOR) {
     live = await fetchVendor(VENDOR);
-    if (CANARY) live = live.slice(0, CANARY * 4); // oversample; diff picks first CANARY writes below
+    if (ONLY.length) { live = live.filter(p => ONLY.includes(p.handle)); console.log(`--only: restricted to ${live.length}/${ONLY.length} requested handles`); }
+    else     if (CANARY) live = live.slice(0, CANARY * 4); // oversample; diff picks first CANARY writes below
   } else {
     console.error('specify --vendor="X" or --canary-mixed'); process.exit(1);
   }

← e860e14 sanderson daily-batch: fix NODE unbound under set -u so the  ·  back to Designerwallcoverings  ·  sanderson: advance .guard-seen 244->302 (guard.mjs first suc 674d2ab →