← back to Dw Validator Debug TK11314
Kravet roll-add: guard audit INSERT in try/catch so a logging failure never crashes the run and leaks an untracked variant (emits vid for manual recovery)
252e2e9f5cd01f37d92e23fda22a6d58a2486c93 · 2026-08-18 14:57:53 -0700 · Steve
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
M shopify/scripts/cadence/add-kravet-roll-variants.js
Diff
commit 252e2e9f5cd01f37d92e23fda22a6d58a2486c93
Author: Steve <steve@designerwallcoverings.com>
Date: Tue Aug 18 14:57:53 2026 -0700
Kravet roll-add: guard audit INSERT in try/catch so a logging failure never crashes the run and leaks an untracked variant (emits vid for manual recovery)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
shopify/scripts/cadence/add-kravet-roll-variants.js | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/shopify/scripts/cadence/add-kravet-roll-variants.js b/shopify/scripts/cadence/add-kravet-roll-variants.js
index cb768590..fe249772 100644
--- a/shopify/scripts/cadence/add-kravet-roll-variants.js
+++ b/shopify/scripts/cadence/add-kravet-roll-variants.js
@@ -171,8 +171,14 @@ function rollLabel(tags) {
const ue = r && r.userErrors;
const good = res.status === 200 && ue && ue.length === 0 && r.productVariants && r.productVariants.length;
const vid = good ? r.productVariants[0].id : null;
- psql(`INSERT INTO kravet_roll_add_audit(shopify_id,mfr_sku,roll_sku,option_name,option_value,map_price,map_source,created_variant_id,committed,note)
+ // AUDIT-WRITE GUARD (2026-08-18): the variant is already created above; a failed
+ // audit INSERT must NOT crash the run and leak an untracked variant. Wrap + emit vid.
+ try {
+ psql(`INSERT INTO kravet_roll_add_audit(shopify_id,mfr_sku,roll_sku,option_name,option_value,map_price,map_source,created_variant_id,committed,note)
VALUES ('${c.shopify_id}','${(c.mfr_sku||'').replace(/'/g,"''")}','${rollSku.replace(/'/g,"''")}','${optName.replace(/'/g,"''")}','${label.replace(/'/g,"''")}',${c.map},'${c.map_src}',${vid?`'${vid}'`:'NULL'},${good},${good?'NULL':`'${JSON.stringify(ue||res.raw||res.err).slice(0,150).replace(/'/g,"''")}'`});`);
+ } catch (e) {
+ console.log(` ⚠ AUDIT-WRITE FAILED (variant WAS created — record manually): shopify_id=${c.shopify_id} sku=${rollSku} vid=${vid||'?'} map=${c.map} src=${c.map_src} err=${String(e.message||e).slice(0,120)}`);
+ }
if (good) { added++; console.log(` ✓ ${c.mfr_sku} +${label} @ $${price}`); }
else { fail++; console.log(` ✗ ${c.mfr_sku} ${JSON.stringify(ue || res.raw || res.err).slice(0,150)}`); }
}
← 57ef8948 Kravet roll-add: repoint MAP price source to authoritative k
·
back to Dw Validator Debug TK11314
·
Kravet roll-add: add unit-mismatch guard (skip mural/panel/h 74ddf8b9 →