Greenland Onboard

repo: ~/Projects/greenland-onboard · 65 commits · 0 in last 24h, 0 in last 7d ·

Search the build

65 commits indexed

  1. b7ccab2 2026-09-15 TK-11438: migrate postgres pool to unix socket (darwin fallback)
  2. cc826bb 2026-09-10 governance(TK-11370): make live-by-default Shopify writers dry-run by default
  3. eb421f7 2026-08-31 importer: map global.width metafield (Carnegie-class fix)
  4. a21e610 2026-08-31 remove stray tracked index.lookbook.bak.html (served backup = creds-in-URL hole) (TK-10984)
  5. 24d5c84 2026-08-30 deploy-safety: exclude data/ from rsync (TK-10984)
  6. 79e25d1 2026-08-30 add creds-in-URL fetch guard to gated pages (TK-10984)
  7. 20e37e6 2026-08-27 TK-10434: regenerate cork enrichment (213/213 tags+colors+hex+styles), stage title-fix map for 21 doubled titles
  8. 93dd23f 2026-08-25 creds-safe fetch guard: resolve relative fetch vs credential-free location (creds-in-URL trap)
  9. c03f37b 2026-08-20 nav-agent: sync v1.3 (host left-sidebar collapse on load)
  10. 898e549 2026-08-19 nav-agent: List data full-width tight columns (grid) — layout fix
  11. 14471a6 2026-08-19 Refresh nav-agent to v1.2 (adds kv-list compact List view, default-off)
  12. 55866cc 2026-08-13 nav-agent: universal grid-controls drop-in on internal viewer pages (STRONG-only)
  13. ace5493 2026-08-11 auto-data-snapshot: 2026-08-11T04:29:53 (1 data files) — data/full-catalog.ndjson
  14. 475d7a8 2026-08-10 auto-data-snapshot: 2026-08-10T16:40:28 (2 data files) — backups/runs/miyago-216222-227-fullstate-20260810-162937.json backups/runs/miyago-216222-227-inspect-20260810-162937.jsonl
  15. 4b24288 2026-08-10 greenland cork go-live step 6: reactivate+publish+image-attach 15 archived Cork-500210-500350 (all unique non-dups), add audit/reactivate scripts + run log
  16. 9ae7f09 2026-08-10 greenland cork go-live: 100% color coverage (lift from pattern_name), localize image_url column, add 2-leaf cork discovery script
  17. 3bb9eb3 2026-08-10 auto-data-snapshot: 2026-08-10T16:09:17 (4 data files) — backups/greenland_catalog-20260810-155642.sql backups/greenland_catalog_20260810-160137.sql data/expand-live-all.ndjson data/expand-new.ndjson
  18. d9b8507 2026-08-01 greenland-onboard: href-drill — city/width/backing are filter-links + URL-addressable
  19. d3f4af8 2026-07-27 gitignore locally-served product images after history purge
  20. a1b0e3b 2026-07-26 greenland-internal: capture go-live deploy notes (express/pg npm install, IP-specific nginx listen, gray-cloud LE TLS)
  21. 33f8806 2026-07-15 greenland-onboard: add Memo/Stock/Price chip actions via shared vendor-requests module (express sub-app delegation)
  22. 664f66c 2026-07-15 Greenland cork go-live: publish the 1 active-unpublished SKU (Montauk-Bison Gold)
  23. 8e47620 2026-07-14 Greenland cork disco: archive 15 Phillipe Romano cork SKUs (Southampton G0154 + Palm Beach G0155) across Shopify/FileMaker/dw_unified 2026-07-14
  24. d892db4 2026-07-14 Add Activation Calendar tab: every staged SKU gets a go-live date+time
  25. fcfbcf5 2026-07-13 trim trailing whitespace in mfrModel (scraper + existing full-catalog data) — fixes false 'no DW sku' join misses like G0111NQ8242
  26. 1809334 2026-07-13 auto-save: 2026-07-13T08:53:46 (1 files) — scripts/make-cork-reels.py
  27. 3fd488b 2026-07-13 auto-save: 2026-07-13T01:52:00 (1 files) — scripts/rerule-material-collections.mjs
  28. b9d4529 2026-07-13 Add refresh-viewer.sh, README internal-tool docs, .deploy.conf rename to greenland-internal; deploy/DNS memo drafted to pending-approval
  29. 0f19e5d 2026-07-12 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)
  30. b4a101a 2026-07-12 Add viewer-snapshot generator (catalog+enriched+shopify merge); localize+enrich 2 Montauk strays → 213/213 complete
  31. 6aa4faf 2026-07-12 auto-save: 2026-07-12T23:21:12 (1 files) — scripts/update-tags.mjs
  32. 3598236 2026-07-12 build 38 Phillipe Romano smart collections (material/style/hue, vendor-scoped)
  33. fb2d951 2026-07-12 Finish cork SKU standardization: convert 3 stray DWGL- strays (Bark/Antique Gold→Montauk Cork-, Bison Gold dup archived), refresh viewer feed
  34. 20e5c7e 2026-07-12 fix 82 junk titles via colorway lexicon (live+DB); regen internal viewer products.json from DB; pending-approval memo
  35. 4f22ce7 2026-07-12 Greenland Cork: sync staging dw_sku to canonical Cork- scheme (was DWGL-); viewer feed refreshed
  36. e9e1bae 2026-07-12 tag-updater: source from DB (authoritative hue/style), fixes undefined tags
  37. 6ab7e31 2026-07-12 Add cork enrichment: 213 Cork-500xxx locally enriched (PIL median-cut + lexicon), full coverage, Phillipe Romano titles/alt/tags/desc
  38. fc66c8b 2026-07-12 tag-updater: tags-only (drop colliding custom.* metafields)
  39. 2698f6b 2026-07-12 auto-save: 2026-07-12T11:48:02 (1 files) — data/published.ndjson
  40. 7929d17 2026-07-12 add hue(from hex)+style per SKU; Shopify tag-updater (Style/Color/Hue/Hex tags + metafields)
  41. 3308030 2026-07-12 auto-save: 2026-07-12T11:17:54 (1 files) — data/published.ndjson
  42. 6cd5fcc 2026-07-12 live publisher: sample-$4.25 + quotes-tag, per-SKU dup-guard, DB backfill; canary 5 verified
  43. 726327d 2026-07-12 auto-save: 2026-07-12T10:47:45 (1 files) — scripts/publish-samples.mjs
  44. f451923 2026-07-12 scrub Greenland leak from microsite (title/h1/fallback → Phillipe Romano)
  45. d4237fa 2026-07-12 romance wording fix (Specialty→surface) + merged rich products.json (cork+908) for internal viewer
  46. 2f11272 2026-07-12 enriched preview: local images, cleaned titles, hex swatches, tags
  47. 4fd9c17 2026-07-12 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
  48. 5b87e99 2026-07-12 Full-catalog step 6: romance body_html via local qwen3:14b (think:false), 101/101 ollama, per-colorway color sentence
  49. a784bc0 2026-07-12 auto-save: 2026-07-12T10:17:36 (1 files) — scripts/full-03-romance.py
  50. 800bae3 2026-07-12 Full-catalog steps 2-5: PIL hex+color-clean, tags, packaging, titles, alt (908 enriched)
  51. fd65197 2026-07-12 Full-catalog step 1: localize 908 SKU images to public/img (0 fail)
  52. 180de83 2026-07-12 full-catalog scrape + classify/assign backbone: 908 SKUs, coastal cities, material prefixes, specs
  53. f3e3eb6 2026-07-12 auto-save: 2026-07-12T09:47:28 (3 files) — data/full-catalog.ndjson scripts/scout-full-catalog.mjs scripts/scrape-full.mjs
  54. 7259183 2026-07-12 auto-save: 2026-07-12T09:17:21 (2 files) — public/products.json scripts/localize-images.mjs
  55. f8e5587 2026-07-12 microsite: localize all 213 cork images (public/img), serve image/jpeg, repoint products.json to local paths
  56. 206fe16 2026-07-12 auto-save: 2026-07-12T08:47:12 (1 files) — public/products.json
  57. 7842bb8 2026-07-11 chore: v1.0.0 — Greenland cork onboard (session close)
  58. f1be0c0 2026-07-11 auto-save: 2026-07-11T09:12:35 (1 files) — data/greenland-cork-specs.csv
  59. 2e16ad9 2026-07-10 Greenland Cork: backfill 12 pre-existing SKUs + final feed refresh (213/213 live)
  60. 9a083a9 2026-07-10 Greenland Cork: 213 published LIVE + ACTIVE on Shopify (quote-only, DWGL-); viewer feed refreshed with assigned SKUs
  61. 96cd126 2026-07-10 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
  62. 8db9308 2026-07-10 fix(contrarian): explode skus[] colorways 100->213 SKUs; material=Cork; distinct color names; render-verified 213 cards
  63. 979fe7c 2026-07-10 microsite scaffold: greenland.designerwallcoverings.com DW lookbook (sort+density, quote-only, port 9973)
  64. c709b6a 2026-07-10 scrape 100 Greenland cork SKUs → greenland_catalog (feed-first, $0); + schema
  65. 7d57d2c 2026-07-10 initial scaffold: greenland-onboard (feed-first API mapped, staging table)

Authors

Agents used

  • none detected

Skills used

  • /products3
  • /full-catalog2
  • /runs2
  • /all2
  • /style2
  • /published2
  • /cron1
  • /pm21
  • /wrapper1
  • /claude1
  • /code1
  • /miyago-216222-227-fullstate-20260810-1
  • /miyago-216222-227-inspect-20260810-1629371
  • /reactivate1
  • /expand-live-all1
  • /expand-new1
  • /width1
  • /backing1
  • /ctrl-click1
  • /activation-calendar1
  • /day1
  • /make-cork-reels1
  • /rerule-material-collections1
  • /healthz1
  • /product1
  • /stock1
  • /update-tags1
  • /hue1
  • /alt1
  • /tags1

Creative ideas + design notes

Commits with substantial prose (≥120 chars) — the rationale behind each move.

b7ccab2 · 2026-09-15 · TK-11438: migrate postgres pool to unix socket (darwin fallback)
Use process.env.PGHOST || darwin?/tmp:127.0.0.1 so Mac2 services use the
unix socket at /tmp and Kamatera keeps TCP until its own migration.
Undo: git revert HEAD
cc826bb · 2026-09-10 · governance(TK-11370): make live-by-default Shopify writers dry-run by default
Flip `DRY = argv.includes('--dry')` -> `DRY = !argv.includes('--apply')` so a
zero-argument run no longer fires customer-facing Shopify writes.

Backward compatible: `--dry` still means dry; `--apply` now required to write.
Only zero-arg invocations change behaviour, and every candidate was checked
against its launchd/cron/pm2/wrapper invocation sites first (4 scripts that a
cadence job runs flagless were EXCLUDED so this cannot silently disable them).

Verified: node --check/py_compile 87/87 with a positive control proving the
checker rejects an injected fault; argv truth-table negative test 5/5.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L53y4oP2itY3qeJ8WQgMzc
93dd23f · 2026-08-25 · creds-safe fetch guard: resolve relative fetch vs credential-free location (creds-in-URL trap)
Fleet inoculation — opening this basic-auth app with credentials in the URL
poisoned document.baseURI and made relative fetch('/api/…') throw. Guard resolves
non-absolute request URLs against location instead. Ref: creds-in-url-fetch-guard-fleet-pattern.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
d9b8507 · 2026-08-01 · greenland-onboard: href-drill — city/width/backing are filter-links + URL-addressable
Card data points (city / width / backing — exact-match FIELDS facets) are now
<a href="?city=…"> to their filtered view (href-drill HARD rule); the left-panel
facets + search + pattern are URL-addressable too. Click filters in place + reflects
into the URL, cmd/ctrl-click opens the shareable href, back-button + deep-link restore
via popstate/readURL.

Verified (Playwright + basic auth, live :9973): click city 'Hilton Head' -> ?city + grid
120->8 all-matching; deep-link restores; back-button->120; canary FLAT->DONE; 0 pageerrors.
href-drill backlog grid 6/92. TK-10089.
664f66c · 2026-07-15 · Greenland cork go-live: publish the 1 active-unpublished SKU (Montauk-Bison Gold)
Reality check via live Shopify (snapshot was stale): cork line is ALREADY 195/196
active SKUs published. Published the 1 remaining active-unpublished (verified live,
storefront 200). publish-online.mjs guards: Online Store only, Phillipe-Romano-name /
no-Greenland / no-Wallpaper rails, and status===ACTIVE (never resurrect the 15 ARCHIVED
= discontinued SKUs). Canary correctly no-op'd on archived (no harm).
d892db4 · 2026-07-14 · Add Activation Calendar tab: every staged SKU gets a go-live date+time
Reusable client-side drop-in (public/activation-calendar.js) + a Products|Calendar
toggle. Reads the line's own products, assigns every not-yet-published SKU a durable
go-live date+HH:10 slot at 50/day, renders a month calendar (213/213 cork SKUs).
Zero server changes. Pilot for the fleet-wide rollout Steve requested.

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

File tree

69 files tracked. Click any to browse the source at HEAD.

Other build journals

← Greenland Mfr Backfill 2026 07 11  ·  all 4 projects  ·  Greenwallcoverings →

Export

commits.csv · feed.atom · project.json · commits.json

rendered in 6ms