[object Object]

← back to Dw Sku Integrity

TK-10900/A2: matcher PROVEN — concat-key (pattern+color vs stripped title) 88.9% on Maharam

abac289010af28d87eb9ffe4ab4e6419237a22c7 · 2026-08-31 02:32:18 -0700 · codex-10896

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

Files touched

Diff

commit abac289010af28d87eb9ffe4ab4e6419237a22c7
Author: codex-10896 <steve@designerwallcoverings.com>
Date:   Mon Aug 31 02:32:18 2026 -0700

    TK-10900/A2: matcher PROVEN — concat-key (pattern+color vs stripped title) 88.9% on Maharam
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 evidence/TK-10900-rescrape-workplan.md | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/evidence/TK-10900-rescrape-workplan.md b/evidence/TK-10900-rescrape-workplan.md
index ad980e4..8ae7415 100644
--- a/evidence/TK-10900-rescrape-workplan.md
+++ b/evidence/TK-10900-rescrape-workplan.md
@@ -98,13 +98,15 @@ The `content-match-gen.mjs` sweep proved the catalogs are heterogeneous, so Prog
 | Sub | Vendors | Blank | Recoverable now | State |
 |---|---|--:|--:|---|
 | **A1 · numeric color** (`color_number`, title ends in a number) | Carnegie | 3,921 | **2,745 safe** (+1,176 review) | ✅ **shipped** |
-| **A2 · color-name / title** (`color_name`, title ends in a name) | Maharam 1,429 · Knoll 505 · CMO 344 · Hollywood 286 · Fentucci 213 · Stout 180 · Fabricut 110 · Thibaut 65 · Rebel Walls 52 · Romo/PierreFrey/Arte/Harlequin (small) | ~3,300 | 0 until built | ⚠ **needs a fitted matcher** |
+| **A2 · color-name / title** (`color_name`, title ends in a name) | Maharam 1,429 · Knoll 505 · CMO 344 · Hollywood 286 · Fentucci 213 · Stout 180 · Fabricut 110 · Thibaut 65 · Rebel Walls 52 · Romo/PierreFrey/Arte/Harlequin (small) | ~3,300 | ~2,900 (proj.) | 🟡 **matcher PROVEN — concat-key 88.9% on Maharam; build+review pending** |
 | **A0 · deferred schema** (title-only / thin) | Vahallan 386 · Novasuede 67 | 453 | 0 | ⚠ title-match or D |
 
-A1 is done; A2's blocker is that a color **name** can't be parsed off a `"<pattern> <color>"` title
-deterministically (the split point is ambiguous) — it needs full-title-vs-catalog-title matching or a
-colorway dictionary, with the same bucket-compat + base-strip + mint rails. Maharam titles are also
-`"<colorway> | Maharam"` (vendor **suffix**), so A2 must normalize per-vendor title shape.
+A1 is done. A2's approach is now PROVEN: build a CONCATENATION key — catalog `norm(pattern_name+' '+color_name)`
+matched against the vendor-stripped normalized Shopify title — which sidesteps the ambiguous split entirely
+(Maharam: 88.9% unique / 1,271 of 1,429 / 0 no-match). The same key also reproduces Carnegie, so A2 is really a
+UNIFIED concat matcher that can replace A1's trailing-number parser — keeping bucket-compat + base-strip + mint
+rails, re-verifying Carnegie, and taking a fresh contrarian pass (per the Defect-B lesson). Per-vendor title
+normalization still needed (Maharam = `"<colorway> | Maharam"` suffix; Carnegie = `"Carnegie …"` prefix).
 
 ---
 

← 8139758 TK-10900: plan corrected — Program A splits A1(numeric,shipp  ·  back to Dw Sku Integrity  ·  TK-10900/A: unified CONCAT matcher — one mode for numeric + 41e8df0 →