{"slug":"greenland-onboard","total":47,"limit":100,"offset":0,"since":null,"commits":[{"hash":"d3f4af8","date":"2026-07-27 16:38:29 -0700","author":"Steve Abrams","subject":"gitignore locally-served product images after history purge","body":""},{"hash":"a1b0e3b","date":"2026-07-26 20:02:57 -0700","author":"Steve Abrams","subject":"greenland-internal: capture go-live deploy notes (express/pg npm install, IP-specific nginx listen, gray-cloud LE TLS)","body":""},{"hash":"33f8806","date":"2026-07-15 16:51:25 -0700","author":"Steve","subject":"greenland-onboard: add Memo/Stock/Price chip actions via shared vendor-requests module (express sub-app delegation)","body":""},{"hash":"664f66c","date":"2026-07-15 14:21:14 -0700","author":"Steve","subject":"Greenland cork go-live: publish the 1 active-unpublished SKU (Montauk-Bison Gold)","body":"Reality check via live Shopify (snapshot was stale): cork line is ALREADY 195/196\nactive SKUs published. Published the 1 remaining active-unpublished (verified live,\nstorefront 200). publish-online.mjs guards: Online Store only, Phillipe-Romano-name /\nno-Greenland / no-Wallpaper rails, and status===ACTIVE (never resurrect the 15 ARCHIVED\n= discontinued SKUs). Canary correctly no-op'd on archived (no harm)."},{"hash":"8e47620","date":"2026-07-14 08:55:24 -0700","author":"Steve","subject":"Greenland cork disco: archive 15 Phillipe Romano cork SKUs (Southampton G0154 + Palm Beach G0155) across Shopify/FileMaker/dw_unified 2026-07-14","body":""},{"hash":"d892db4","date":"2026-07-14 07:48:58 -0700","author":"Steve","subject":"Add Activation Calendar tab: every staged SKU gets a go-live date+time","body":"Reusable client-side drop-in (public/activation-calendar.js) + a Products|Calendar\ntoggle. Reads the line's own products, assigns every not-yet-published SKU a durable\ngo-live date+HH:10 slot at 50/day, renders a month calendar (213/213 cork SKUs).\nZero server changes. Pilot for the fleet-wide rollout Steve requested.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>"},{"hash":"fcfbcf5","date":"2026-07-13 09:53:45 -0700","author":"Steve Abrams","subject":"trim trailing whitespace in mfrModel (scraper + existing full-catalog data) — fixes false 'no DW sku' join misses like G0111NQ8242","body":""},{"hash":"1809334","date":"2026-07-13 08:53:54 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-13T08:53:46 (1 files) — scripts/make-cork-reels.py","body":""},{"hash":"3fd488b","date":"2026-07-13 01:52:14 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-13T01:52:00 (1 files) — scripts/rerule-material-collections.mjs","body":""},{"hash":"b9d4529","date":"2026-07-13 00:09:51 -0700","author":"Steve Abrams","subject":"Add refresh-viewer.sh, README internal-tool docs, .deploy.conf rename to greenland-internal; deploy/DNS memo drafted to pending-approval","body":""},{"hash":"0f19e5d","date":"2026-07-12 23:57:56 -0700","author":"Steve Abrams","subject":"Internal cork tool: basic-auth Express-style http server (/healthz, /api/products, /api/product, /api/stock live $0), full viewer UI (facets incl City/Use/FireRating, stock+price badges, detail drawer w/ pricing card + live stock recheck + copy + Shopify/all.dw links)","body":""},{"hash":"b4a101a","date":"2026-07-12 23:53:10 -0700","author":"Steve Abrams","subject":"Add viewer-snapshot generator (catalog+enriched+shopify merge); localize+enrich 2 Montauk strays → 213/213 complete","body":""},{"hash":"6aa4faf","date":"2026-07-12 23:21:18 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-12T23:21:12 (1 files) — scripts/update-tags.mjs","body":""},{"hash":"3598236","date":"2026-07-12 22:49:03 -0700","author":"Steve Abrams","subject":"build 38 Phillipe Romano smart collections (material/style/hue, vendor-scoped)","body":""},{"hash":"fb2d951","date":"2026-07-12 19:32:10 -0700","author":"Steve Abrams","subject":"Finish cork SKU standardization: convert 3 stray DWGL- strays (Bark/Antique Gold→Montauk Cork-, Bison Gold dup archived), refresh viewer feed","body":"Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>"},{"hash":"20e5c7e","date":"2026-07-12 12:33:02 -0700","author":"Steve Abrams","subject":"fix 82 junk titles via colorway lexicon (live+DB); regen internal viewer products.json from DB; pending-approval memo","body":""},{"hash":"4f22ce7","date":"2026-07-12 11:56:36 -0700","author":"Steve Abrams","subject":"Greenland Cork: sync staging dw_sku to canonical Cork- scheme (was DWGL-); viewer feed refreshed","body":""},{"hash":"e9e1bae","date":"2026-07-12 11:56:19 -0700","author":"Steve Abrams","subject":"tag-updater: source from DB (authoritative hue/style), fixes undefined tags","body":""},{"hash":"6ab7e31","date":"2026-07-12 11:55:22 -0700","author":"Steve Abrams","subject":"Add cork enrichment: 213 Cork-500xxx locally enriched (PIL median-cut + lexicon), full coverage, Phillipe Romano titles/alt/tags/desc","body":""},{"hash":"fc66c8b","date":"2026-07-12 11:54:04 -0700","author":"Steve Abrams","subject":"tag-updater: tags-only (drop colliding custom.* metafields)","body":""},{"hash":"2698f6b","date":"2026-07-12 11:48:07 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-12T11:48:02 (1 files) — data/published.ndjson","body":""},{"hash":"7929d17","date":"2026-07-12 11:44:26 -0700","author":"Steve Abrams","subject":"add hue(from hex)+style per SKU; Shopify tag-updater (Style/Color/Hue/Hex tags + metafields)","body":""},{"hash":"3308030","date":"2026-07-12 11:18:00 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-12T11:17:54 (1 files) — data/published.ndjson","body":""},{"hash":"6cd5fcc","date":"2026-07-12 10:49:17 -0700","author":"Steve Abrams","subject":"live publisher: sample-$4.25 + quotes-tag, per-SKU dup-guard, DB backfill; canary 5 verified","body":""},{"hash":"726327d","date":"2026-07-12 10:47:52 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-12T10:47:45 (1 files) — scripts/publish-samples.mjs","body":""},{"hash":"f451923","date":"2026-07-12 10:38:04 -0700","author":"Steve Abrams","subject":"scrub Greenland leak from microsite (title/h1/fallback → Phillipe Romano)","body":""},{"hash":"d4237fa","date":"2026-07-12 10:37:23 -0700","author":"Steve Abrams","subject":"romance wording fix (Specialty→surface) + merged rich products.json (cork+908) for internal viewer","body":""},{"hash":"2f11272","date":"2026-07-12 10:33:13 -0700","author":"Steve Abrams","subject":"enriched preview: local images, cleaned titles, hex swatches, tags","body":""},{"hash":"4fd9c17","date":"2026-07-12 10:31:35 -0700","author":"Steve Abrams","subject":"Full-catalog step 7: stage 908 to greenland_full_catalog (DRAFT/quote-only/price NULL) + shopify DRAFT payloads + full-specs CSV; 0 customer-facing leaks","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"5b87e99","date":"2026-07-12 10:30:42 -0700","author":"Steve Abrams","subject":"Full-catalog step 6: romance body_html via local qwen3:14b (think:false), 101/101 ollama, per-colorway color sentence","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"a784bc0","date":"2026-07-12 10:17:42 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-12T10:17:36 (1 files) — scripts/full-03-romance.py","body":""},{"hash":"800bae3","date":"2026-07-12 10:16:49 -0700","author":"Steve Abrams","subject":"Full-catalog steps 2-5: PIL hex+color-clean, tags, packaging, titles, alt (908 enriched)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"fd65197","date":"2026-07-12 10:15:08 -0700","author":"Steve Abrams","subject":"Full-catalog step 1: localize 908 SKU images to public/img (0 fail)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"180de83","date":"2026-07-12 10:04:19 -0700","author":"Steve Abrams","subject":"full-catalog scrape + classify/assign backbone: 908 SKUs, coastal cities, material prefixes, specs","body":""},{"hash":"f3e3eb6","date":"2026-07-12 09:47:34 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-12T09:47:28 (3 files) — data/full-catalog.ndjson scripts/scout-full-catalog.mjs scripts/scrape-full.mjs","body":""},{"hash":"7259183","date":"2026-07-12 09:17:26 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-12T09:17:21 (2 files) — public/products.json scripts/localize-images.mjs","body":""},{"hash":"f8e5587","date":"2026-07-12 08:53:43 -0700","author":"Steve","subject":"microsite: localize all 213 cork images (public/img), serve image/jpeg, repoint products.json to local paths","body":""},{"hash":"206fe16","date":"2026-07-12 08:47:19 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-12T08:47:12 (1 files) — public/products.json","body":""},{"hash":"7842bb8","date":"2026-07-11 18:53:10 -0700","author":"Steve","subject":"chore: v1.0.0 — Greenland cork onboard (session close)","body":""},{"hash":"f1be0c0","date":"2026-07-11 09:12:44 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-11T09:12:35 (1 files) — data/greenland-cork-specs.csv","body":""},{"hash":"2e16ad9","date":"2026-07-10 23:32:41 -0700","author":"Steve Abrams","subject":"Greenland Cork: backfill 12 pre-existing SKUs + final feed refresh (213/213 live)","body":""},{"hash":"9a083a9","date":"2026-07-10 23:31:32 -0700","author":"Steve Abrams","subject":"Greenland Cork: 213 published LIVE + ACTIVE on Shopify (quote-only, DWGL-); viewer feed refreshed with assigned SKUs","body":""},{"hash":"96cd126","date":"2026-07-10 20:47:16 -0700","author":"Steve Abrams","subject":"Greenland Cork internal viewer: DWGL- series assigned (213), full SKU+mfr detail, Amazon/all.dw left-panel facets (8 fields), density/sort/list/card-toggles","body":""},{"hash":"8db9308","date":"2026-07-10 17:32:44 -0700","author":"Steve","subject":"fix(contrarian): explode skus[] colorways 100->213 SKUs; material=Cork; distinct color names; render-verified 213 cards","body":""},{"hash":"979fe7c","date":"2026-07-10 17:20:52 -0700","author":"Steve","subject":"microsite scaffold: greenland.designerwallcoverings.com DW lookbook (sort+density, quote-only, port 9973)","body":""},{"hash":"c709b6a","date":"2026-07-10 17:19:12 -0700","author":"Steve","subject":"scrape 100 Greenland cork SKUs → greenland_catalog (feed-first, $0); + schema","body":""},{"hash":"7d57d2c","date":"2026-07-10 17:13:06 -0700","author":"Steve","subject":"initial scaffold: greenland-onboard (feed-first API mapped, staging table)","body":""}]}