[object Object]

← back to Designerwallcoverings

chore: lint, refactor, v0.1.17 (TK-00038 session close)

0b26a673e1c0c8d23c416b340c3462996fb9b402 · 2026-09-16 14:25:22 -0700 · Steve Abrams

Quality gate on the one file this session wrote (pdp-verify-final.mjs):
- lint: no linter configured in repo, so node --check + manual pass.
  One safe fix — unused catch binding in the storefront retry loop -> optional
  catch binding.
- refactor: removed write-only adminUnmeasured/seen bookkeeping. Verified
  behavior-preserving myself rather than on the agent's word: an id absent
  from the admin Map already falls through checkAdminNode's NOT-MEASURED
  guard, which the negative test asserts directly.
- All four deliberate guards confirmed intact: VAR_PAGE full-page ->
  NOT-MEASURED, storefront identity join, 429-retry-then-NOT-MEASURED,
  and verdictOf (unmeasured can never be PASS).

Re-ran BOTH gates on the shipped file after the edits: --test 23/23, and a
full live pass 502/502 MEASURED-OK on both planes, 0 bad, 0 not-measured
=> PASS. Not reporting a result for code that no longer exists.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9JdVA5oKccJQWkG5Qwiz5

Files touched

Diff

commit 0b26a673e1c0c8d23c416b340c3462996fb9b402
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Sep 16 14:25:22 2026 -0700

    chore: lint, refactor, v0.1.17 (TK-00038 session close)
    
    Quality gate on the one file this session wrote (pdp-verify-final.mjs):
    - lint: no linter configured in repo, so node --check + manual pass.
      One safe fix — unused catch binding in the storefront retry loop -> optional
      catch binding.
    - refactor: removed write-only adminUnmeasured/seen bookkeeping. Verified
      behavior-preserving myself rather than on the agent's word: an id absent
      from the admin Map already falls through checkAdminNode's NOT-MEASURED
      guard, which the negative test asserts directly.
    - All four deliberate guards confirmed intact: VAR_PAGE full-page ->
      NOT-MEASURED, storefront identity join, 429-retry-then-NOT-MEASURED,
      and verdictOf (unmeasured can never be PASS).
    
    Re-ran BOTH gates on the shipped file after the edits: --test 23/23, and a
    full live pass 502/502 MEASURED-OK on both planes, 0 bad, 0 not-measured
    => PASS. Not reporting a result for code that no longer exists.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01P9JdVA5oKccJQWkG5Qwiz5
---
 package-lock.json                                            |  4 ++--
 package.json                                                 |  2 +-
 scripts/sanderson-onboard/out/pdp-verify-FINAL-20260916.json |  2 +-
 scripts/sanderson-onboard/pdp-verify-final.mjs               | 11 +++--------
 4 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 12c4618..79d0d70 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "designerwallcoverings-ai",
-  "version": "0.1.16",
+  "version": "0.1.17",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "designerwallcoverings-ai",
-      "version": "0.1.16",
+      "version": "0.1.17",
       "dependencies": {
         "express": "^4.19.2",
         "multer": "^2.0.1"
diff --git a/package.json b/package.json
index f9863cb..2047e73 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "designerwallcoverings-ai",
-  "version": "0.1.16",
+  "version": "0.1.17",
   "private": true,
   "description": "designerwallcoverings.ai — AI room-render landing. Upload a room photo, get matching wallcoverings.",
   "main": "server.js",
diff --git a/scripts/sanderson-onboard/out/pdp-verify-FINAL-20260916.json b/scripts/sanderson-onboard/out/pdp-verify-FINAL-20260916.json
index b00beb7..0f0d1bc 100644
--- a/scripts/sanderson-onboard/out/pdp-verify-FINAL-20260916.json
+++ b/scripts/sanderson-onboard/out/pdp-verify-FINAL-20260916.json
@@ -1,7 +1,7 @@
 {
   "ticket": "TK-00038 / TK-11046",
   "purpose": "FINAL Sanderson PDP verification — completes the 09-14 pass that measured only 60/502 (442 x HTTP 429).",
-  "built_at": "2026-09-16T21:17:39.649Z",
+  "built_at": "2026-09-16T21:25:00.705Z",
   "population": 502,
   "tombstoned_excluded": [
     "7938828533811",
diff --git a/scripts/sanderson-onboard/pdp-verify-final.mjs b/scripts/sanderson-onboard/pdp-verify-final.mjs
index 144a382..40c7d4b 100644
--- a/scripts/sanderson-onboard/pdp-verify-final.mjs
+++ b/scripts/sanderson-onboard/pdp-verify-final.mjs
@@ -113,24 +113,19 @@ const Q = `query($ids:[ID!]!){ nodes(ids:$ids){ ... on Product {
   mfDwc:    metafield(namespace:"dwc",    key:"manufacturer_sku"){ value }
 } } }`;
 
-const admin = new Map();        // product_id -> node
-const adminUnmeasured = [];     // product_id[] we could not read
+const admin = new Map();        // product_id -> node; ids absent here fall through checkAdminNode's NOT-MEASURED guard
 for (const [bi, batch] of chunk(targets, 50).entries()) {
   let d;
   try { d = await gql(Q, { ids: batch.map(p => gidOf(p.product_id)) }); }
   catch (e) { d = { __err: String(e) }; }
   if (!d || d.__err) {
-    adminUnmeasured.push(...batch.map(p => p.product_id));
     console.error(`  admin batch ${bi + 1}: NOT-MEASURED (${JSON.stringify(d?.__err).slice(0, 160)})`);
     continue;
   }
-  const seen = new Set();
   for (const n of (d.nodes || [])) {
     if (!n?.id) continue;
-    const num = n.id.split('/').pop();
-    admin.set(num, n); seen.add(num);
+    admin.set(n.id.split('/').pop(), n);
   }
-  for (const p of batch) if (!seen.has(p.product_id)) adminUnmeasured.push(p.product_id);
   process.stdout.write(`  admin: ${admin.size}/${targets.length} measured\r`);
 }
 console.log('');
@@ -176,7 +171,7 @@ async function storefront(handle, tries = 4, expectId = null) {
   for (let a = 0; a < tries; a++) {
     let r;
     try { r = await fetch(`https://${PUBLIC}/products/${handle}.json`, { headers: { 'User-Agent': 'DW-internal-pdp-verify/1.0' } }); }
-    catch (e) { await sleep(800 * (a + 1)); continue; }
+    catch { await sleep(800 * (a + 1)); continue; }
     if (r.status === 429 || r.status >= 500) { await sleep(1500 * (a + 1)); continue; }   // retry, never a phantom pass
     if (r.status === 404) return { state: 'MEASURED-BAD', reasons: ['storefront 404'] };
     if (!r.ok) return { state: 'NOT-MEASURED', reasons: [`http ${r.status}`] };

← 85ec636 TK-00038: harden the Sanderson PDP verifier (2 measurement h  ·  back to Designerwallcoverings  ·  TK-11357: fix three holes the contrarian found in my own tri 0a57a1d →