← back to Harlequin Sample Price Analysis
TK-10870 cycle2 Cody fixes: correct mis-stamp count 3/8->2/4, add Demoiselle/Locronan collision, join-key + junk-concentration
201a10e2a141ed9ee57ff0d0b90b26252641b3ca · 2026-08-30 10:17:55 -0700 · Steve Abrams
- Cody caught: missed the Demoiselle/Locronan mfr_sku collision (DWHQ-335024 Locronan
wrongly carries the Demoiselle code) + my count was wrong (2 mfr_skus/4 skus not 3/8)
- memo exclusion list now covers BOTH collision groups; reprice join key spec'd as
shopify_id<->shopify_product_id (mfr_sku is corrupt on those rows)
- 'TRUE' junk concentration named (Fentucci 2070+367 / Retro Walls 946)
- prevents mispricing Locronan against Demoiselle's cost anchor
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
M artifacts/CORRUPTION-SIZING-CYCLE2.mdM data/loop-ledger.jsonl
Diff
commit 201a10e2a141ed9ee57ff0d0b90b26252641b3ca
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sun Aug 30 10:17:55 2026 -0700
TK-10870 cycle2 Cody fixes: correct mis-stamp count 3/8->2/4, add Demoiselle/Locronan collision, join-key + junk-concentration
- Cody caught: missed the Demoiselle/Locronan mfr_sku collision (DWHQ-335024 Locronan
wrongly carries the Demoiselle code) + my count was wrong (2 mfr_skus/4 skus not 3/8)
- memo exclusion list now covers BOTH collision groups; reprice join key spec'd as
shopify_id<->shopify_product_id (mfr_sku is corrupt on those rows)
- 'TRUE' junk concentration named (Fentucci 2070+367 / Retro Walls 946)
- prevents mispricing Locronan against Demoiselle's cost anchor
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
artifacts/CORRUPTION-SIZING-CYCLE2.md | 22 ++++++++++++++--------
data/loop-ledger.jsonl | 1 +
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/artifacts/CORRUPTION-SIZING-CYCLE2.md b/artifacts/CORRUPTION-SIZING-CYCLE2.md
index 0215dfa..e2cfdb9 100644
--- a/artifacts/CORRUPTION-SIZING-CYCLE2.md
+++ b/artifacts/CORRUPTION-SIZING-CYCLE2.md
@@ -2,17 +2,23 @@
Steve's chosen next action ("size the corruption first"). All read-only. **No writes.**
-## In-scope (Harlequin) — BOUNDED
+## In-scope (Harlequin) — BOUNDED (counts corrected after Cody gate)
- **`shopify_product_id` collisions in `harlequin_catalog`: exactly 1** — the Cranes In Flight
pattern (haw0065): 2 catalog rows (Emerald 570137 + Marine 570138) share product_id
`7787420680243`; 1 of them is on_shopify. No other Harlequin pattern collides.
-- **`mfr_sku` mis-stamping in Harlequin `shopify_products`: 3 mfr_skus across 8 distinct DWHQ
- skus** (of 83 Harlequin rows) — includes the Marine code stamped on DWHQ-335001 (“Blush”) +
- DWHQ-335002 (“Emerald”).
+- **`mfr_sku` mis-stamping in Harlequin `shopify_products`: exactly 2 mfr_skus across 4 distinct
+ DWHQ skus** (precise SQL, vendor+sku scoped):
+ 1. `cranes-in-flight-marine-haw0065-05` → **DWHQ-335001** (“Cranes In Flight Blush”) +
+ **DWHQ-335002** (“Cranes In Flight Emerald”).
+ 2. `demoiselle-cornflower-first-light-honey-haw0067-09` → **DWHQ-335003** (“Demoiselle …”) +
+ **DWHQ-335024** (“**Locronan** Cornflower First Light”) — a DIFFERENT pattern family wrongly
+ carrying the Demoiselle code. *(Missed in the first cut; caught by the Cody gate.)*
-**Impact on the reprice:** exclude the **Cranes In Flight (haw0065) family** and the other 2
-mis-stamped mfr codes from any Harlequin price draft. The remaining priced rows are unaffected
-by this collision class.
+**Impact on the reprice:** exclude **both** collision groups — the Cranes In Flight (haw0065)
+family (DWHQ-335001/335002) AND the Demoiselle/Locronan pair (DWHQ-335003/335024) — from any
+Harlequin price draft. Also: the reprice MUST join `shopify_id ↔ shopify_product_id`, NOT
+`mfr_sku` — `mfr_sku` is the corrupt field on exactly these rows. Remaining priced rows are
+unaffected.
## Out-of-scope side-finding (FLEET-WIDE) — surfaced honestly, NOT acted on
`shopify_products` has **6,271 mfr_skus shared across 18,156 distinct skus**. This is a MIX,
@@ -22,7 +28,7 @@ not 6,271 Cranes-style corruptions:
| --- | ---: | --- |
| same-title groups | 654 | likely legit re-lists (same product, 2 handles) |
| diff-title groups | 5,617 | SUSPECT — but dominated by the two junk classes below |
-| junk mfr_sku value | — | `'TRUE'` alone = 3,671 skus / 10 vendors (a boolean leaked into mfr_sku); vendor names leaked as mfr_sku: `'York'`, `'SANCAR'`, `'Osborne'`, `'Innovations'` |
+| junk mfr_sku value | — | `'TRUE'` = 3,671 skus, **concentrated in Fentucci 2,070 + Fentucci Fabrics 367 + Retro Walls 946** (a scrape-batch boolean-coercion bug, WARN not diffuse noise); plus vendor names leaked as mfr_sku: `'York'`, `'SANCAR'`, `'Osborne'`, `'Innovations'` |
| pattern-level code | — | e.g. Scalamandre `wp81388m` (24 colorways), Nina Campbell `NCW4186` — one pattern code across colorways, often by-design |
**Honest read:** the fleet-wide number is driven by (1) garbage values in `mfr_sku`
diff --git a/data/loop-ledger.jsonl b/data/loop-ledger.jsonl
index b9d8889..62abfe1 100644
--- a/data/loop-ledger.jsonl
+++ b/data/loop-ledger.jsonl
@@ -1 +1,2 @@
{"cycle":1,"ts":"2026-08-30","ticket":"TK-10870","landed":["read-only resolution of 2 original blockers","sibling-cost inference lib+tests (14 pass)","Cody gate: 3 reproduced prerequisite blockers","Steve ruling: price_trade IS DW net cost (Blocker A resolved)","memory codified"],"commits":["d5bc8ad","ff71dd7","fb1b229","34902d9"],"gated_held":["Shopify reprice write","dw_sku backfill","Cranes-In-Flight de-collision"],"cody_verdict":"directionally right, operationally unsafe -> A/B/C named","final_dtd":"HOLD-FOR-STEVE (write gated); analysis correct+de-risked","empirical_gate":"node --test 14/14 pass + harness re-ran (no web UI)","seed_next":"read-only fleet-wide sizing of shopify_product_id collision + mfr_sku mis-stamping (Cranes In Flight haw0065 class)"}
+{"cycle":2,"ts":"2026-08-30","ticket":"TK-10870","landed":["sized corruption class read-only","Harlequin: 1 product-id collision + 2 mfr mis-stamps/4 skus (corrected from 3/8 after Cody)","fleet-wide honest breakdown (junk-dominated: TRUE=3671 Fentucci/RetroWalls, not Cranes-style)","isJunkMfrSku lib+test (15 pass)","drafted consolidated gated memo to pending-approval"],"cody_verdict":"real hole: missed Demoiselle/Locronan collision + wrong count 3/8->2/4 + join-key caveat; all reproduced+fixed","final_dtd":"HOLD-FOR-STEVE","empirical_gate":"node --test 15/15","gated_held":["reprice (excl Cranes+Demoiselle/Locronan, join on shopify_product_id)","dw_sku backfill 4 Houndstooth","reconcile 2 collisions","new ticket: fleet-wide junk mfr_sku"],"seed_next":"final read-only verification pass; TK-10870 safe analysis complete -> expect only-gated-remains -> idle-pause"}
← 515ebd5 TK-10870 cycle2: size the corruption class + draft consolida
·
back to Harlequin Sample Price Analysis
·
TK-10870 cycle3: verification pass — analysis stable, no cha f983902 →