[object Object]

← back to Designerwallcoverings

TK-11404: correct FINDINGS — DTD+live audit found a real JSON-LD $4.25 leak (BLOCK was a false-green)

e52390b67b63b489a0ab8606b6ac2c1365d50d09 · 2026-09-10 14:38:23 -0700 · Steve Abrams

Read-only cross-vendor audit of 16 real leak products: REST position-1 = Sample
on 11/16, and live JSON-LD offers.price = $4.25 on 10/16 (Google organic
rich-result surface). The earlier 'premise disproven / not-a-defect' closure
only checked the rendered PDP price and missed the structured-data leak.
Recommendation corrected BLOCK -> B (gated proof-only reorder on real
sample-at-pos1 products w/ REST + JSON-LD re-check) + evaluate the theme
JSON-LD fix (one edit vs 2,586 catalog writes). Mechanism-ineffective finding
stands only for the synthetic shape; real-product effect is unmeasured.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018en9DwRg3hJwbpy5dL7xGT

Files touched

Diff

commit e52390b67b63b489a0ab8606b6ac2c1365d50d09
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Thu Sep 10 14:38:23 2026 -0700

    TK-11404: correct FINDINGS — DTD+live audit found a real JSON-LD $4.25 leak (BLOCK was a false-green)
    
    Read-only cross-vendor audit of 16 real leak products: REST position-1 = Sample
    on 11/16, and live JSON-LD offers.price = $4.25 on 10/16 (Google organic
    rich-result surface). The earlier 'premise disproven / not-a-defect' closure
    only checked the rendered PDP price and missed the structured-data leak.
    Recommendation corrected BLOCK -> B (gated proof-only reorder on real
    sample-at-pos1 products w/ REST + JSON-LD re-check) + evaluate the theme
    JSON-LD fix (one edit vs 2,586 catalog writes). Mechanism-ineffective finding
    stands only for the synthetic shape; real-product effect is unmeasured.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_018en9DwRg3hJwbpy5dL7xGT
---
 scripts/tk11404-productset-FINDINGS.md | 34 ++++++++++++++++++++++++----------
 1 file changed, 24 insertions(+), 10 deletions(-)

diff --git a/scripts/tk11404-productset-FINDINGS.md b/scripts/tk11404-productset-FINDINGS.md
index 574a3ae..3de74ed 100644
--- a/scripts/tk11404-productset-FINDINGS.md
+++ b/scripts/tk11404-productset-FINDINGS.md
@@ -3,6 +3,17 @@
 **Agent:** vp-dw-commerce · **Date:** 2026-09-10 · **Mode run:** `--test` only (zero real-catalog risk)
 **Prototype:** `scripts/tk11404-productset-prototype.mjs`
 
+> ## ⚠️ CORRECTION (post-DTD + live audit) — the "BLOCK / not-a-defect" conclusion below was a FALSE-GREEN
+> This note originally concluded the fix was unnecessary because the rendered PDP shows the sellable price.
+> A DTD panel + a read-only cross-vendor audit of 16 real leak products then found the closure **measured the
+> wrong surface**: REST position 1 = the Sample variant on **11/16**, and the **live JSON-LD `offers.price` =
+> $4.25 on 10/16** — the Schema.org structured-data offer Google organic rich results scrape emits the sample
+> price whenever the sample is at REST pos1. So there **is** a real customer-facing leak; the rendered-PDP check
+> missed it. The mechanism-ineffective finding below still stands **for the synthetic shape**, but its effect on
+> real products is unmeasured (the ticket's 20:24Z run moved 2/32 real products under a flawed check, never
+> re-run correctly). **Current recommendation: B — gated proof-only run + evaluate the theme-JSON-LD fix.** See
+> `~/.claude/yolo-queue/pending-approval/2026-09-10-TK-11404-productset-apply-GATED.md`.
+
 ## What the prototype tests
 
 DTD verdict **C** (unanimous 4/4, 2026-09-10 20:30Z) chose `productSet` to reorder the single
@@ -54,18 +65,21 @@ variant at position 1 is to **delete and recreate the sample variant so it is cr
 which changes the sample variant's `id` and `-sample` SKU — a direct violation of the
 TK-11404 constraint "do NOT touch the sample variant id / -sample SKU."
 
-## Recommendation: BLOCK the live `--pid` apply
+## Recommendation (CORRECTED): B — gated proof-only + evaluate the theme JSON-LD fix
+
+The original BLOCK rationale below is **superseded** (see the correction banner at top). The reorder is a
+no-op on the *synthetic* shape, but:
 
-1. **Mechanism ineffective** — proven here: no tested non-destructive API moves REST position 1.
-   A mass `--pid` run would be a no-op that burns write budget and ledger noise for ~2,586 products.
-2. **Premise already disproven** — the live-storefront check (ticket 20:40Z) showed the bare
-   `/products/<handle>` URL renders the **sellable** price, because Shopify's
-   `selected_or_first_available_variant` skips the *unavailable* Sample and auto-appends
-   `?variant=<sellable>`. There is **no customer-facing bare-URL leak**. The only real leak was the
-   GMC **offer link** pinning `?variant=<sample>`, already fixed under **TK-11394**.
+1. **There is a real leak on a surface the original check missed** — live JSON-LD `offers.price` = $4.25 on
+   ~10/16 real products (Google organic rich results), plus an unrebutted 799-GMC-offers-≤$4.25 signal.
+2. **The reorder's effect on REAL products is unmeasured** — synthetic said no-op; the 20:24Z live run moved
+   2/32 under a flawed (GraphQL-order) check that was never re-run. Measure it on ≤10 real sample-at-pos1
+   products (reversible) with a corrected REST pre/post + a **JSON-LD re-check**.
+3. **Likely-superior remedy:** patch the **theme's JSON-LD** to use `selected_or_first_available_variant`
+   (the offer URL already does) — one edit closes the leak for all products regardless of variant order.
 
-Net: the position-1 reorder is both **unnecessary** and **not achievable non-destructively**.
-The gated apply memo (`~/.claude/yolo-queue/pending-approval/`) recommends **BLOCK**.
+Rejected: **A/close** (a real leak is measured), **C/full run** (premature — mechanism unconfirmed on real
+data), **D/destructive** (changes sample id/SKU). Full plan + decision checklist in the gated memo.
 
 ## Prototype interface (unchanged, gated)
 

← a6afe99 TK-10895: bring main's copies to the final verified state (2  ·  back to Designerwallcoverings  ·  TK-11404: theme-fix spec for handoff (reorder dead; leak is 68bf79a →