[object Object]

← back to Designer Wallcoverings

cadence: add description to activation gate (all new must have description — Steve 2026-06-19); width AND image AND pattern AND description before ACTIVE

8dcb917766df593e20890bbf79a9552fa33224f8 · 2026-06-19 16:01:54 -0700 · SteveStudio2

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

Files touched

Diff

commit 8dcb917766df593e20890bbf79a9552fa33224f8
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date:   Fri Jun 19 16:01:54 2026 -0700

    cadence: add description to activation gate (all new must have description — Steve 2026-06-19); width AND image AND pattern AND description before ACTIVE
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---
 shopify/scripts/cadence/cadence-import.js | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/shopify/scripts/cadence/cadence-import.js b/shopify/scripts/cadence/cadence-import.js
index ebe5f92f..1b00dd64 100644
--- a/shopify/scripts/cadence/cadence-import.js
+++ b/shopify/scripts/cadence/cadence-import.js
@@ -227,11 +227,13 @@ function buildInput(vendor, cfg, row, retail, activate) {
   m('custom','cost',row.cost.toFixed(2),ND);                 // REAL cost
   m('custom','price_updated_at',TODAY,'date');                // 30-day refresh audit
   m('global','unit_of_measure',`Priced Per ${cfg.soldBy}`,SL);
-  // Auto-activate-to-live readiness gate (Steve 2026-06-17 "auto-activate to live"): a product
-  // goes ACTIVE only if it's complete — real image + width + pattern (cost is already gated by
+  // Auto-activate-to-live readiness gate (Steve 2026-06-17 "auto-activate to live"; description
+  // gate added 2026-06-19 "all new must have description"): a product goes ACTIVE only if it's
+  // complete — real image + width + pattern + a non-empty description (cost is already gated by
   // costExpr>0 upstream; title is banned-word-clean by construction). Anything incomplete stays
   // DRAFT (still "uploaded", fixable later) — never a broken product on the storefront.
-  const ready = !!(row.image_url && String(row.width || '').trim() && pattern);
+  const hasDescription = !!String(intro || '').trim();
+  const ready = !!(row.image_url && String(row.width || '').trim() && pattern && hasDescription);
   const willActivate = !!(activate && ready);
   const input = {
     title, handle, vendor, productType: cfg.productType,

← ffb5c80a Add gated Trending-collection backfill apply script (1040 ne  ·  back to Designer Wallcoverings  ·  cadence: resume-check.sh — verify paced cadence resumes prod e29dbe32 →