← back to Designer Wallcoverings
AF repair: add --only-mfr scoped filter (enables targeted collision re-runs without full 27-min pass)
9983383cd15a2763b1cfb7401bd0b8a337b73bf3 · 2026-06-25 16:31:12 -0700 · Steve
Files touched
M shopify/scripts/anna-french-repair-inplace.mjs
Diff
commit 9983383cd15a2763b1cfb7401bd0b8a337b73bf3
Author: Steve <steve@designerwallcoverings.com>
Date: Thu Jun 25 16:31:12 2026 -0700
AF repair: add --only-mfr scoped filter (enables targeted collision re-runs without full 27-min pass)
---
shopify/scripts/anna-french-repair-inplace.mjs | 3 +++
1 file changed, 3 insertions(+)
diff --git a/shopify/scripts/anna-french-repair-inplace.mjs b/shopify/scripts/anna-french-repair-inplace.mjs
index 656b91f0..d6870e2c 100644
--- a/shopify/scripts/anna-french-repair-inplace.mjs
+++ b/shopify/scripts/anna-french-repair-inplace.mjs
@@ -63,6 +63,8 @@ const GQL = `https://${SHOP}/admin/api/${VER}/graphql.json`;
const COMMIT = process.argv.includes('--commit');
const li = process.argv.indexOf('--limit');
const LIMIT = li >= 0 ? parseInt(process.argv[li + 1], 10) : 0;
+const omi = process.argv.indexOf('--only-mfr');
+const ONLY_MFR = omi >= 0 ? new Set(process.argv[omi + 1].split(',').map((s) => s.trim().toUpperCase())) : null;
const oi = process.argv.indexOf('--out');
const OUT =
oi >= 0
@@ -487,6 +489,7 @@ async function run() {
let processed = 0;
for (const stage of staged) {
if (LIMIT && scanned >= LIMIT) break;
+ if (ONLY_MFR && !ONLY_MFR.has(String(stage.mfr_sku).toUpperCase())) continue;
scanned++;
const mfr = String(stage.mfr_sku).toUpperCase();
const candidates = liveByMfr.get(mfr) || [];
← 887f840a fix(stage script): add curl -g so bracketed ?asset[key]= GET
·
back to Designer Wallcoverings
·
auto-save: 2026-06-25T16:35:16 (6 files) — pending-approval/ 3d5bb06c →