[object Object]

← back to Designer Wallcoverings

Codify extended activation gate (specs+description+all-images) in CLAUDE.md standing rule

3f63fd9f23b4875af83d1538a022eb1d8d0925c0 · 2026-06-20 10:15:06 -0700 · SteveStudio2

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Files touched

Diff

commit 3f63fd9f23b4875af83d1538a022eb1d8d0925c0
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date:   Sat Jun 20 10:15:06 2026 -0700

    Codify extended activation gate (specs+description+all-images) in CLAUDE.md standing rule
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---
 CLAUDE.md | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/CLAUDE.md b/CLAUDE.md
index 95a95b54..c4862fc5 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -154,9 +154,27 @@ const productData = {
 
 ---
 
-## CRITICAL: Never Activate SKU Without Width AND Image #memory
-
-**🚫 NEVER set a Shopify product to `status: "active"` unless it has BOTH:**
+## CRITICAL: Never Activate SKU Without Specs + Description + ALL Images #memory
+
+**🚫 NEVER set a Shopify product to `status: "active"` unless ALL of these hold**
+(extended 2026-06-20 from the old width+image rule to a fuller gate):
+1. **SPECS** — `global.width` (or `custom.width`) set + non-empty (HARD-required),
+   PLUS the core set (length, repeat, content/material, unit_of_measure) **where
+   the vendor provides them** (don't block on a spec the vendor genuinely lacks).
+2. **DESCRIPTION** — a non-empty `body_html`/description that is NOT a placeholder,
+   NOT "Unknown"/"Page Not Found"/404/error, and NOT bare legal/disclaimer text.
+3. **IMAGES** — ≥1 product image AND **all** of the vendor's available images for
+   that SKU attached (`vendor_catalog.all_images` / `image_url`; full-page-scrape).
+4. **GUARDS** — no banned word "Wallpaper" in title, no "Unknown" in title, sample
+   variant present (`{DW_SKU}-Sample`).
+
+**Single enforced validator** (use this, don't reinvent):
+`shopify/scripts/lib/validate-before-activate.js` → `validateBeforeActivate(product)`.
+Wired into BOTH activation chokepoints — `cadence/cadence-import.js` (create-time)
+and `cadence/activate-gated.js` (DRAFT→ACTIVE promote). On fail → keep DRAFT +
+tag `Needs-Specs` / `Needs-Description` / `Needs-Image`.
+
+Legacy summary (still true, subset of the above):
 1. **A width metafield** — `global.width` or `custom.width` must be set (not null/empty)
 2. **At least one product image** — `product.images.length >= 1`
 

← 6396e193 Activation gate: enforce specs+description+ALL-vendor-images  ·  back to Designer Wallcoverings  ·  add inventory-set-2026-newest.js — ensure newest N products' cb819a0a →