[object Object]

← back to Dw Sku Integrity

TK-10900 record verified content recovery

be4219982167f826b07ba63bf56c1928460a5d32 · 2026-08-31 12:12:52 -0700 · codex-10896

Files touched

Diff

commit be4219982167f826b07ba63bf56c1928460a5d32
Author: codex-10896 <steve@designerwallcoverings.com>
Date:   Mon Aug 31 12:12:52 2026 -0700

    TK-10900 record verified content recovery
---
 README.md                                   | 10 +++++-
 evidence/TK-10900-e2e-proof-2026-08-31.json | 53 +++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index b35d906..931d19d 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@ existing `sku`.
 - Any actual `dw_sku` write is canonical + customer-facing → **gated** (drafted to
   `~/.claude/yolo-queue/pending-approval/`, ledgered, reversible). Not this repo's job.
 
-## Status — recoverable-now RECOVERY COMPLETE (2026-08-31)
+## Status — recoverable-now + content-match RECOVERY COMPLETE (2026-08-31)
 
 Executed against **canonical Kamatera** (not the mirror — the mirror was stale, see
 `evidence/ANALYSIS-2026-08-30.md`). Canonical blank `dw_sku` backlog **15,415 → 10,868**;
@@ -40,6 +40,14 @@ all EXISTING scraper-assigned codes, **zero mints**, every batch `preflight →
 verify GO`, reversible + ledgered. Remaining 10,868 = 10,671 re-scrape (TK-10900) +
 145 `null-Sample` import-defect (TK-10900) + 42 provenance-review + 8 dedup (TK-10649).
 
+After Steve's explicit `resume / go`, Program-A content-match recovered another **3,555**
+existing codes across 10 vendors. Nine vendors totaling 810 rows ran as vendor tranches;
+Carnegie's 2,745 rows ran as six fail-fast chunks (500/500/500/500/500/245) to honor
+the approval package's <=500-row boundary. Every chunk verified `GO` with zero conflicts
+or missing rows. Baseline arithmetic leaves **7,313** blanks pending a fresh full scan;
+those are primarily genuine vendor re-scrapes/private-label recovery, import defects,
+provenance review, and dedup—not another safe blanket content-match batch.
+
 ## Files
 
 - `classify.mjs` — pure classifier: `stripUnitSuffix()`, `classifyRow()`, `RECOVERY_GROUP`.
diff --git a/evidence/TK-10900-e2e-proof-2026-08-31.json b/evidence/TK-10900-e2e-proof-2026-08-31.json
new file mode 100644
index 0000000..14f2798
--- /dev/null
+++ b/evidence/TK-10900-e2e-proof-2026-08-31.json
@@ -0,0 +1,53 @@
+{
+  "intent": "Recover existing canonical dw_sku identities without minting new codes",
+  "risk_tier": "R4 production canonical data mutation",
+  "environment": "Kamatera dw_unified via SSH",
+  "timestamp": "2026-08-31T19:05:23Z",
+  "commits": ["79fb8ef", "e144e7a"],
+  "approval": "Steve replied 'resume / go' after the explicit TK-10900 approval prompt",
+  "baseline": {
+    "documented_active_blank_before_program_a": 10868,
+    "planned_existing_code_recoveries": 3555,
+    "no_mint_rule": true
+  },
+  "assertions": [
+    {
+      "boundary": "unit tests",
+      "verdict": "PASS",
+      "evidence": "node --test: 62 passed, 0 failed"
+    },
+    {
+      "boundary": "small vendor tranches",
+      "verdict": "PASS",
+      "evidence": "Arte 1, Pierre Frey 4, Romo 10, Knoll 13, Rebel Walls 52, Thibaut 61, Fabricut 105, Stout Textiles 180, Vahallan 384; every post-apply verifier GO"
+    },
+    {
+      "boundary": "Carnegie chunk limit",
+      "verdict": "PASS",
+      "evidence": "six chunks 500/500/500/500/500/245; each preflight GO and post-apply verify GO; 2745 ALREADY_TARGET, 0 ALREADY_OTHER, 0 MISSING"
+    },
+    {
+      "boundary": "negative/error behavior",
+      "verdict": "PASS",
+      "evidence": "Arte's initial suffix mismatch returned NO_GO and stopped rollout; generator fixed to normalize catalog unit suffixes before any further vendor fired"
+    },
+    {
+      "boundary": "single-row persisted identity",
+      "verdict": "PASS",
+      "evidence": "Arte product gid://shopify/Product/7813807210547 directly queried as ACTIVE, vendor Arte International, dw_sku DWKE-41415"
+    },
+    {
+      "boundary": "aggregate post-scan",
+      "verdict": "SKIP",
+      "reason": "The full canonical scanner's second large query returned no transport payload in this session. Non-critical to the applied-set verdict because all 3555 target rows were independently verified; 7313 remaining is baseline arithmetic and is labeled pending fresh scan."
+    }
+  ],
+  "rollback": {
+    "status": "READY",
+    "arte": "apply-plans-content-match/Arte International/undo.sql",
+    "carnegie": "apply-plans-content-match/Carnegie/undo.sql",
+    "other_vendors": "apply-plans-content-match/<vendor>/undo.sql",
+    "ledger": "/Users/macstudio3/.claude/yolo-queue/executed-reversible/ledger.jsonl"
+  },
+  "verdict": "PARTIAL: Program-A production recovery complete and verified; genuine re-scrape/import-defect/dedup portions of TK-10900 remain"
+}

← e144e7a TK-10900 enforce 500-row recovery chunks  ·  back to Dw Sku Integrity  ·  TK-10900 capture canonical post-run scan f8b6e9a →