{"slug":"sister-parish-onboarding","total":27,"limit":100,"offset":0,"since":null,"commits":[{"hash":"e058c64","date":"2026-07-03 08:08:17 -0700","author":"Steve","subject":"chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew)","body":""},{"hash":"16193e6","date":"2026-06-21 18:53:03 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-21T18:53:00 (1 files) — scripts/_deep-probe.js","body":""},{"hash":"f1ec46d","date":"2026-05-19 15:20:30 -0700","author":"Steve","subject":"broaden .gitignore to exclude .bak/.pre-* snapshot files and .next/","body":"Fleet-wide hygiene rule — snapshot files must never land in git so the\n404-guard middleware never has anything stale to refuse. Mirrors the\n.gitignore baseline used across the rest of the DW sister sites.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"92e3f85","date":"2026-05-19 15:20:15 -0700","author":"Steve","subject":"add noopener noreferrer to external _blank links + .bak/.pre snapshot 404-guard","body":"Code-health fleet sweep pass: closes the reverse-tabnabbing vector on\nthe two external target=_blank anchors (vendor source PDP, PD-corpus\nsource link in the inspirations modal). Also adds an Express middleware\n404-guard so .bak / .bak.* / .pre-* / .pre.* snapshot paths can never\nbe served via static even if one slips into the tree.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"},{"hash":"4280d5a","date":"2026-05-18 11:13:52 -0700","author":"SteveStudio2","subject":"sp: set_variants.js — flatten 72 products to 2 variants (Roll (with specs) / Sample), added missing sample to Dot All Over Pink; Boxwood Stripe skipped (multi-colorway)","body":""},{"hash":"62e1af1","date":"2026-05-18 11:10:07 -0700","author":"SteveStudio2","subject":"sp: enrich_metafields v2 — fix dwc.content type to multi_line; 72/73 enriched with item_width/roll_size/repeats/match/country","body":""},{"hash":"6b8b0b8","date":"2026-05-18 11:06:06 -0700","author":"SteveStudio2","subject":"sp: ran private_label — deleted 52 dupes, renumbered 73 keepers to DWPH-10001 (Saybrook House)","body":""},{"hash":"c283bfa","date":"2026-05-18 11:01:18 -0700","author":"SteveStudio2","subject":"sp: enrich_metafields.js — push DW spec metafields (item_width, roll_size, repeats, match, country) from PDP crawl, joined to live store by title","body":""},{"hash":"2c68b15","date":"2026-05-18 09:59:06 -0700","author":"SteveStudio2","subject":"sp: private_label v2 — add display_variant tag + dwc.mfr_number + sample-variant check","body":""},{"hash":"386a360","date":"2026-05-18 09:50:15 -0700","author":"SteveStudio2","subject":"sp: private_label.js — dedupe + renumber to DWSH-10001 series (Saybrook House)","body":""},{"hash":"aac311d","date":"2026-05-18 09:36:39 -0700","author":"SteveStudio2","subject":"sp: check_sp_inventory.js — audit + set all 250 SP variants to qty 2026","body":""},{"hash":"a28adca","date":"2026-05-18 09:23:01 -0700","author":"SteveStudio2","subject":"sp: activate_sp.js — flip all 50 draft Sister Parish products to active","body":""},{"hash":"8b0c300","date":"2026-05-12 17:14:32 -0700","author":"SteveStudio2","subject":"fix: preflight count by 3-call status sum (status=any returns 0 in 2026-01)","body":""},{"hash":"0a5d2b8","date":"2026-05-12 17:01:25 -0700","author":"SteveStudio2","subject":"fix: drop status=any from /products.json list (invalid in API 2026-01, returns 0)","body":""},{"hash":"b6c1a27","date":"2026-05-12 16:49:24 -0700","author":"SteveStudio2","subject":"fix: bump SP metafield namespace dw→dwc (Shopify requires ≥3 chars)","body":""},{"hash":"b825dc7","date":"2026-05-12 00:30:17 -0700","author":"SteveStudio2","subject":"sp: preflight.sh — single-shot health read for YOLO ticks","body":"Replaces the curl+grep+dry-run dance future ticks were doing each time\nwith one O(1) call. Reports: live SP count (status=any), plist installed\n& loaded, dry-run would-create count. Exit code: 0 GREEN, 1 mixed, 2 env fail.\n\nUses the same node-path fallback chain as scheduled_push.sh (homebrew →\n/usr/local → which node) so it works on both Mac1 (homebrew) and Mac2\n(/usr/local/bin/node)."},{"hash":"52bd57d","date":"2026-05-11 18:51:01 -0700","author":"Steve","subject":"Shopify: bump to API 2026-01","body":""},{"hash":"2570b30","date":"2026-05-11 17:47:39 -0700","author":"Steve","subject":"tick 7: SP viewer × wallco PD bridge — 'PD inspirations →' button on every SP card opens modal with 3 nearest Lab-color PD matches; image proxy /pd-img/<source>/<file> reads from wallco-ai/data/images","body":""},{"hash":"134a484","date":"2026-05-11 16:46:26 -0700","author":"Steve","subject":"SP color v2: center-crop 80% before palette extraction — near-white dominants 7→4 · cross-match cleanup — Appleton Beige #e4d9c6 → Met 'Seaman's Wife's Reckoning' #e7dac7 (Lab dist 0.91, much improved over v1)","body":""},{"hash":"280a3a3","date":"2026-05-11 16:40:11 -0700","author":"Steve","subject":"tick 5: Shopify still 0 · cross-match SP × PD in Lab space (219 matches, 73 × 3) · tileability score (11 seamless / 38 near / 24 photo)","body":""},{"hash":"1c08599","date":"2026-05-11 16:00:55 -0700","author":"Steve","subject":"tick 4: Shopify still 0 SP products · recorded 10 Backend-C research link-outs (google+etsy) for 5 SKUs across price tiers; ToS-clean, no scrape","body":""},{"hash":"0956a19","date":"2026-05-11 15:19:31 -0700","author":"Steve","subject":"schedule Shopify push for Wed 2am PT via launchd com.steve.sister-parish-push (idempotent, self-unloads at 73/73)","body":""},{"hash":"81602d3","date":"2026-05-11 15:11:48 -0700","author":"Steve","subject":"tick 3: normalize curly quotes in specs · extract dominant_hex + 5-color palette (73/73) · wire color-wheel/light-dark sorts + color dot in viewer","body":""},{"hash":"17c8526","date":"2026-05-11 14:38:21 -0700","author":"Steve","subject":"viewer: sister parish browse UI on :9790 (sort + density slider, pm2 supervised)","body":""},{"hash":"968aee9","date":"2026-05-11 14:34:34 -0700","author":"Steve","subject":"crawl Sister Parish PDPs → enrich catalog with width/repeat/COO/paint specs (72/73 products)","body":""},{"hash":"b1825fc","date":"2026-05-11 14:30:20 -0700","author":"Steve","subject":"add shopify push + backfill scripts; CSV import path (Shopify daily variant cap workaround)","body":""},{"hash":"e59d98a","date":"2026-05-11 14:20:32 -0700","author":"Steve","subject":"initial scaffold: Sister Parish wallcoverings onboarding (73 prints, dw_retail = vendor/0.85)","body":""}]}