[object Object]

← back to York Reprice 2026 08

York cadence onboard-ready: subtract deliberately-held items + patch leaky keyword filter -> 87->17

563cd8eb8a2c61f2aaca29aedf9f105bd28c57c0 · 2026-07-28 16:37:14 -0700 · Steve Abrams

- Subtract onboard-settlement-held(59)/image-held/color-fail(7) mfrs: the keyword filter was weaker than
  the real settlement/image gate, so 66 held items were re-proposed daily. + add leaves/deciduous/egret/
  flamingo/crane/heron/peacock/feather to the pre-screen (Egret/Flamingo/Coleus-Leaves/Greenwood-Deciduous
  leaked past 'leaf'/'bird'). onboard-ready 87->17 (17 genuinely-new settlement-keyword-clear imaged).
- Staged the 17 clean candidates to data-onboard17-candidates.json (tracked).

Files touched

Diff

commit 563cd8eb8a2c61f2aaca29aedf9f105bd28c57c0
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Jul 28 16:37:14 2026 -0700

    York cadence onboard-ready: subtract deliberately-held items + patch leaky keyword filter -> 87->17
    
    - Subtract onboard-settlement-held(59)/image-held/color-fail(7) mfrs: the keyword filter was weaker than
      the real settlement/image gate, so 66 held items were re-proposed daily. + add leaves/deciduous/egret/
      flamingo/crane/heron/peacock/feather to the pre-screen (Egret/Flamingo/Coleus-Leaves/Greenwood-Deciduous
      leaked past 'leaf'/'bird'). onboard-ready 87->17 (17 genuinely-new settlement-keyword-clear imaged).
    - Staged the 17 clean candidates to data-onboard17-candidates.json (tracked).
---
 cadence/york-cadence.mjs       |  11 ++++-
 data-onboard17-candidates.json | 102 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 111 insertions(+), 2 deletions(-)

diff --git a/cadence/york-cadence.mjs b/cadence/york-cadence.mjs
index 85c9077..b3fc149 100644
--- a/cadence/york-cadence.mjs
+++ b/cadence/york-cadence.mjs
@@ -58,7 +58,7 @@ let onboardCand=[]; try{ onboardCand=q(`
  left join york_catalog c on upper(trim(c.mfr_sku))=n.s
  left join brewster_catalog b on upper(trim(b.mfr_sku))=n.s
  where coalesce(nullif(c.image_url,''), nullif(b.image_url,'')) is not null
-   and lower(concat_ws(' ',n.pattern_name,n.product_name,n.book_name)) !~ 'banana|grape|bird|butterfly|palm|frond|leaf|foliage|botanical|floral|flower|tropical|jungle|vine|fern|bloom|garden|blossom'`)
+   and lower(concat_ws(' ',n.pattern_name,n.product_name,n.book_name)) !~ 'banana|grape|bird|butterfly|palm|frond|leaf|leaves|foliage|botanical|floral|flower|tropical|jungle|vine|fern|bloom|garden|blossom|deciduous|egret|flamingo|crane|heron|peacock|feather'`)
    .split('\n').map(x=>x.trim()).filter(Boolean)
    .map(l=>{const [s,pat]=l.split(String.fromCharCode(31)); return {s,pat:pat||''};}); }catch(e){}
 
@@ -89,7 +89,14 @@ for(let pg=0;pg<120;pg++){
 // collision-aware onboard-ready: a candidate is truly un-onboarded only if NO live product carrying its
 // code shares a title word with its master pattern. Bare code-match masks cross-brand collisions
 // (a New York code coinciding with an unrelated live Anna French/Thibaut SKU) as false 'already live'.
-const onboardObjs=onboardCand.filter(c=>{ const titles=liveTitles.get(c.s)||[]; return !titles.some(t=>share(t,c.pat)); });
+// exclude items DELIBERATELY HELD at build time (settlement flora/fauna via richer marketing-field
+// analysis, dead-CDN images, color-extraction failures). The cadence's keyword filter is weaker than
+// the real settlement/image gate, so without this it re-proposes held items daily (66 of 87 on 2026-07-28).
+const HELD=new Set();
+for(const f of ['onboard-settlement-held','onboard-image-held','onboard-color-fail-list']){
+  try{ for(const r of JSON.parse(fs.readFileSync(ROOT+'/data/'+f+'.json','utf8'))) HELD.add(norm(r.mfr_sku)); }catch(e){}
+}
+const onboardObjs=onboardCand.filter(c=>{ if(HELD.has(norm(c.s))) return false; const titles=liveTitles.get(c.s)||[]; return !titles.some(t=>share(t,c.pat)); });
 const onboardMfrs=onboardObjs.map(c=>c.s);
 const onboardReady=onboardMfrs.length;
 const out={ts:new Date().toISOString(),live_js:liveMfr.size,
diff --git a/data-onboard17-candidates.json b/data-onboard17-candidates.json
new file mode 100644
index 0000000..fb7c817
--- /dev/null
+++ b/data-onboard17-candidates.json
@@ -0,0 +1,102 @@
+[
+  {
+    "s": "4148-27437",
+    "pat": "Adavu",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0112814_hollyhock-rust-floral-crest-wallpaper.jpeg"
+  },
+  {
+    "s": "4148-27441",
+    "pat": "Adavu",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0090739_glen-beige-texture-wallpaper.jpeg"
+  },
+  {
+    "s": "4147-27405",
+    "pat": "Essex",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0099291_octavia-neutral-marbled-ink-wallpaper.jpeg"
+  },
+  {
+    "s": "4147-27404",
+    "pat": "Essex",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0099333_westley-grey-plaid-wallpaper.jpeg"
+  },
+  {
+    "s": "4147-27384",
+    "pat": "Westley",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0099263_blanche-neutral-floral-damask-wallpaper.jpeg"
+  },
+  {
+    "s": "4147-80007",
+    "pat": "Greenwood",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0088966_mortenson-taupe-geometric-wallpaper-by-scott-living.jpeg"
+  },
+  {
+    "s": "4172-27486",
+    "pat": "Navarres Stripe",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0114135_salvo-gold-curved-contours-wallpaper.jpeg"
+  },
+  {
+    "s": "4172-27506",
+    "pat": "Folly",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0099459_essex-navy-geometric-wallpaper.jpeg"
+  },
+  {
+    "s": "4147-27261",
+    "pat": "Exhale",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0099543_greenwood-light-blue-deciduous-wallpaper.jpeg"
+  },
+  {
+    "s": "4148-27471",
+    "pat": "Coleus",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0112984_phlox-grey-floral-stamp-wallpaper.jpeg"
+  },
+  {
+    "s": "4172-27518",
+    "pat": "Destin",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0113897_folly-seafoam-zen-swirls-wallpaper.jpeg"
+  },
+  {
+    "s": "4147-27378",
+    "pat": "Octavia",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0099151_exhale-moss-woven-faux-grasscloth-wallpaper.jpeg"
+  },
+  {
+    "s": "4147-27383",
+    "pat": "Berkshire",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0099179_marta-green-floral-trail-wallpaper.jpeg"
+  },
+  {
+    "s": "4172-27520",
+    "pat": "Largo",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0087535_minerva-teal-texture-geometric-wallpaper.jpeg"
+  },
+  {
+    "s": "4172-27505",
+    "pat": "Folly",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0091052_purple-lansdowne-peel-and-stick-wallpaper.jpeg"
+  },
+  {
+    "s": "4148-27466",
+    "pat": "Nabi",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0112794_hollyhock-honey-floral-crest-wallpaper.jpeg"
+  },
+  {
+    "s": "4147-27408",
+    "pat": "Abilene",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0065702_zev-coral-butterfly-wallpaper.jpeg"
+  },
+  {
+    "s": "4172-82008",
+    "pat": "Salvo",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0114051_malin-denim-faux-grasscloth-wallpaper.jpeg"
+  },
+  {
+    "s": "4172-27507",
+    "pat": "Folly",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0087030_harper-green-floral-vase-wallpaper.jpeg"
+  },
+  {
+    "s": "4172-82007",
+    "pat": "Biscayne",
+    "img": "https://bhf-cdn.azureedge.net/bhf-blob-prod/0114058_malin-dove-faux-grasscloth-wallpaper.jpeg"
+  }
+]
\ No newline at end of file

← 074152b Track York cadence staging+fixes note at repo root (cadence/  ·  back to York Reprice 2026 08  ·  Fix onboard-17 staging file: screen full pattern+product+boo f8d24d3 →