[object Object]

← back to Designerwallcoverings

TK-10209: feed-eligibility tolerates absent /tmp/cost_map.tsv (was a hard crash; sparse-cost is by-design flagged)

f0dd08e4db320003b2a1f9aa2ecd757fbeb76400 · 2026-08-04 17:28:46 -0700 · Steve

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit f0dd08e4db320003b2a1f9aa2ecd757fbeb76400
Author: Steve <steve@designerwallcoverings.com>
Date:   Tue Aug 4 17:28:46 2026 -0700

    TK-10209: feed-eligibility tolerates absent /tmp/cost_map.tsv (was a hard crash; sparse-cost is by-design flagged)
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 scripts/google-feed/feed-eligibility.mjs | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/scripts/google-feed/feed-eligibility.mjs b/scripts/google-feed/feed-eligibility.mjs
index bdf46e0..22cc9be 100644
--- a/scripts/google-feed/feed-eligibility.mjs
+++ b/scripts/google-feed/feed-eligibility.mjs
@@ -39,10 +39,18 @@ const URL = `https://${SHOP}/admin/api/${VER}/graphql.json`;
 const sleep = (ms) => new Promise(r => setTimeout(r, ms));
 
 // ---- cost map for Kravet MAP floor (from mirror; sparse is OK -> flagged unverified) ----
+// Tolerate an absent cost map: the file lives in /tmp and is GC-prone, and the
+// script is DESIGNED to flag `kravet_map_unverified_no_cost` per-product when cost
+// is missing. A hard readFileSync crash here defeats that intent (TK-10209).
 const COST = new Map();
-for (const line of fs.readFileSync('/tmp/cost_map.tsv', 'utf8').trim().split('\n')) {
-  const [gid, cost] = line.split('\t');
-  if (gid) COST.set(gid, parseFloat(cost) || 0);
+try {
+  for (const line of fs.readFileSync('/tmp/cost_map.tsv', 'utf8').trim().split('\n')) {
+    const [gid, cost] = line.split('\t');
+    if (gid) COST.set(gid, parseFloat(cost) || 0);
+  }
+} catch (e) {
+  if (e.code !== 'ENOENT') throw e;
+  console.error('[warn] /tmp/cost_map.tsv absent -> Kravet MAP floor unverified for all (per-product flagged)');
 }
 
 // ---- rule constants ----

← dcfb310 auto-save: 2026-08-04T17:05:12 (5 files) — scripts/sample-sp  ·  back to Designerwallcoverings  ·  auto-save: 2026-08-04T18:05:34 (4 files) — data/google-feed/ 0207620 →