7d57d2c2026-07-10initial scaffold: greenland-onboard (feed-first API mapped, staging table)
Authors
Steve62
auto-commit-fleet3
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
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>
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.