{"slug":"designerwallcoverings","total":69,"limit":100,"offset":0,"since":null,"commits":[{"hash":"459d3bd","date":"2026-07-28 10:29:53 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T10:29:49 (10 files) — data/google-feed/exclusions.json data/google-feed/feed-clean.tsv data/google-feed/punch-list.csv data/google-feed/punch-list.md data/google-feed/report.json","body":""},{"hash":"c1146bc","date":"2026-07-28 09:59:43 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T09:59:38 (5 files) — scripts/sample-split-pilot data/google-feed/exclusions.json.jun15bak data/google-feed/punch-list.csv.jun15bak data/google-feed/report.json.jun15bak data/google-feed/unpublish-list.csv.jun15bak","body":""},{"hash":"42be73c","date":"2026-07-28 08:28:42 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T08:28:39 (3 files) — scripts/price-sheets/schu-watch/data/history.json scripts/price-sheets/schu-watch/data/latest.json scripts/sample-split-pilot","body":""},{"hash":"570a359","date":"2026-07-28 07:28:18 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T07:28:16 (2 files) — data/orphan-cleanup-20260716/guard.err scripts/sample-split-pilot","body":""},{"hash":"8727f56","date":"2026-07-28 05:57:49 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T05:57:47 (2 files) — scripts/kravet-spec-backfill-ledger.jsonl scripts/sample-split-pilot","body":""},{"hash":"52a2d98","date":"2026-07-28 04:27:19 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T04:27:17 (4 files) — scripts/sample-split-pilot scripts/stroheim-onboard/out/launchd.err scripts/stroheim-onboard/out/launchd.out scripts/stroheim-onboard/out/settlement-verdicts.jsonl","body":""},{"hash":"6d9adba","date":"2026-07-28 03:57:10 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T03:57:08 (2 files) — scripts/sample-split-pilot scripts/stroheim-onboard/out/settlement-verdicts.jsonl","body":""},{"hash":"a1b78c1","date":"2026-07-28 03:26:58 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T03:26:56 (3 files) — scripts/sample-split-pilot scripts/stroheim-onboard/out/launchd.out scripts/stroheim-onboard/out/settlement-verdicts.jsonl","body":""},{"hash":"d3b98cf","date":"2026-07-28 02:56:48 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T02:56:47 (3 files) — scripts/sample-split-pilot scripts/stroheim-onboard/out/launchd.out scripts/stroheim-onboard/out/settlement-verdicts.jsonl","body":""},{"hash":"61e8621","date":"2026-07-28 01:56:29 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T01:56:27 (3 files) — scripts/sample-split-pilot scripts/stroheim-onboard/out/launchd.out scripts/stroheim-onboard/out/settlement-verdicts.jsonl","body":""},{"hash":"b46b262","date":"2026-07-28 01:26:19 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T01:26:17 (3 files) — scripts/osborne-onboard/out/canary-latest.json scripts/osborne-onboard/out/canary.cron.out scripts/sample-split-pilot","body":""},{"hash":"507369e","date":"2026-07-28 00:56:09 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T00:56:07 (7 files) — scripts/knoll-onboard/out/created.jsonl scripts/knoll-onboard/out/golive-done.jsonl scripts/sample-split-pilot scripts/stout-onboard/out/launchd.err scripts/stout-onboard/out/launchd.out","body":""},{"hash":"dca58e8","date":"2026-07-28 00:25:58 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-28T00:25:56 (3 files) — scripts/greenland-onboard/out/launchd.err scripts/knoll-onboard/out/created.jsonl scripts/sample-split-pilot","body":""},{"hash":"e681b76","date":"2026-07-27 18:53:13 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T18:53:10 (2 files) — scripts/sample-split-pilot scripts/stroheim-onboard/out/settlement-verdicts.jsonl","body":""},{"hash":"20bc75f","date":"2026-07-27 18:23:01 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T18:22:43 (4 files) — package-lock.json scripts/sample-split-pilot scripts/stroheim-onboard/out/settlement-verdicts.jsonl scripts/stroheim-onboard/out/settlement-verdicts.jsonl.messy-bak","body":""},{"hash":"058a362","date":"2026-07-27 18:21:01 -0700","author":"Steve Abrams","subject":"chore: v0.1.3 → v0.1.4 (session close — stroheim budget lane TK-00039)","body":""},{"hash":"4eaf385","date":"2026-07-27 18:09:58 -0700","author":"Steve Abrams","subject":"stroheim onboard (TK-00039): dedicated 'stroheim' variant-budget lane + create-drafts wiring","body":"- budget.cjs: add finite 'stroheim' category modeled on stout (own ~100/day floor,\n  auto-zeroes on completion, clamped to the ~1000/day Shopify cap). Contrarian-gated (SHIP IT).\n- create-drafts.mjs: BUDGET_CAT default backlog->stroheim (stroheim-scoped; verified no other\n  caller). settlement-gate.mjs: retry transient img-fetch + SKIP (not fail-closed BLOCK) on\n  fetch/vision error. resume.sh: note dedicated lane. Add (uninstalled, Steve-gated) launchd plist.\n\nPrices were already in canonical dw_unified (771/782 roll retail); local mirror was stale.\n771 minted DWST-810001..810771, 771 payloads built. Drafts trickle once budget frees (gated).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>"},{"hash":"b6f54b1","date":"2026-07-27 17:52:36 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T17:52:34 (5 files) — scripts/sample-split-pilot scripts/stroheim-onboard/out/payloads.jsonl scripts/stroheim-onboard/settlement-gate.mjs scripts/stroheim-onboard/out/settlement-verdicts.jsonl scripts/stroheim-onboard/out/settlement-verdicts.jsonl.buggy-bak","body":""},{"hash":"54d2afb","date":"2026-07-27 17:22:26 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T17:22:24 (2 files) — package-lock.json scripts/sample-split-pilot","body":""},{"hash":"5cf8a90","date":"2026-07-27 17:12:22 -0700","author":"Steve Abrams","subject":"chore: v0.1.3 (session close — finite stout budget category + drip)","body":""},{"hash":"e01df6e","date":"2026-07-27 16:52:15 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T16:52:13 (2 files) — scripts/sample-split-pilot scripts/variant-budget/budget.cjs.bak.20260727-163334","body":""},{"hash":"7cbc2df","date":"2026-07-27 16:35:45 -0700","author":"Steve Abrams","subject":"budget.cjs: add finite 'stout' category (mirrors maharam TK-00060) so the Stout drip can't be starved by the backlog drain","body":""},{"hash":"039ce33","date":"2026-07-27 16:22:04 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T16:21:58 (2 files) — scripts/sample-split-pilot data/gmc-a1-canary-rollback.jsonl","body":""},{"hash":"fed35c9","date":"2026-07-27 16:21:06 -0700","author":"Steve Abrams","subject":"Stout daily-drip wrapper + plist (draft, mirrors Maharam TK-00060; gated install memo in pending-approval)","body":""},{"hash":"28920ac","date":"2026-07-27 16:15:20 -0700","author":"Steve Abrams","subject":"TK-00060: contrarian FIX-FIRST fixes on maharam budget (round-2 SHIP IT)","body":"Cody's round-1 panel returned FIX FIRST on the DTD-A maharam-budget commit (0034812);\nits self-reported 'contrarian SHIP IT' in that commit message was never on the ticket\nrecord and, when actually run, found 3 real defects. Fixed all three (round-2 re-gate: SHIP IT 5/5):\n\n1. status().remaining.osborne overstated headroom: it used bare globalLeft while\n   take()/remaining('osborne') subtract maharamReservation. On a pinched-global day the\n   dashboard reported osborne=20 while execution granted 0 — it lied exactly when a cron\n   fails and you need it honest. Now subtracts maharamReserved → status ≡ execution for all\n   states (proven: DW_VARIANT_BUDGET=720 forces globalLeft=28<100; old=20 vs take=0, new=0=0).\n2. create-drafts.mjs leaked budget on failure (no refund) — diverged from sanderson/stroheim.\n   A 429 storm could burn the 100/day budget creating 0 products, then stall. Added\n   refund-on-exhausted-grant, refund-on-create-failed, and refund-in-catch to match the sibling\n   idiom (verified no double-refund: else/catch mutually exclusive, variants.length===1).\n3. maharam-daily-drip.sh line 26 stale 'backlog' comment (the fix's whole point was moving\n   OFF backlog) → 'maharam'.\nAlso (contrarian note): documented the honest trade-off — the ~100-variant/day floor trims\n'upload' by up to ~100 variants/day for the ~14-day onboard window (throttled, never zeroed).\n\nVerified: node --check + bash -n pass; status/execution symmetry proven under forced pinch;\ndry-run no-regression (headroom 100, 1429 to create, task-spec titles). Zero live writes.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"0034812","date":"2026-07-27 16:01:36 -0700","author":"Steve Abrams","subject":"TK-00060: give Maharam onboard its own finite 'maharam' variant-budget category (DTD-A)","body":"The daily Maharam drip drew from shared 'backlog' (cap 116/day), fully consumed by\nthe 5-field activation drain before the 05:30 tick — so it granted 0 drafts/day and\n1,429 sample-only wallcoverings never onboarded. Add a dedicated 'maharam' category\nmirroring the proven finite 'osborne' pattern: cap 100/day (DW_MAHARAM_CAP) +\nmaharamReservation() that auto-zeroes when created.jsonl reaches the payload total,\nclamped to remainingGlobal so it can never breach Shopify's ~1000/day cap nor starve\nupload/backlog/osborne. Point create-drafts.mjs default at 'maharam'. Also derive the\nbudget.take/refund/remaining error strings from VALID so they can't go stale (contrarian).\n\nVerified: node --check + bash -n pass; status shows maharam cap100/reserved100/remaining100\n(upload untouched, only residual trims 248->148); net-zero take/refund respects the 100 cap;\nauto-revert proven (created=1429 -> reserved 0). Ledger left clean. Live draft writes remain\ngated to the pre-approved 05:30 cron. Gated: DTD 5/5, contrarian SHIP IT.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>"},{"hash":"f951539","date":"2026-07-27 13:51:05 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T13:51:03 (3 files) — scripts/sample-split-pilot scripts/stout-onboard/out/launchd.err scripts/stout-onboard/out/launchd.out","body":""},{"hash":"f003cdc","date":"2026-07-27 13:20:54 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T13:20:51 (2 files) — scripts/greenland-onboard/out/launchd.err scripts/sample-split-pilot","body":""},{"hash":"5badc34","date":"2026-07-27 08:19:07 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T08:19:05 (4 files) — scripts/price-sheets/schu-watch/data/history.json scripts/price-sheets/schu-watch/data/latest.json scripts/sample-split-pilot data/price-sheets/schu-reconcile-held.jsonl","body":""},{"hash":"079c9d9","date":"2026-07-27 07:48:58 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T07:48:56 (2 files) — data/orphan-cleanup-20260716/guard.err scripts/sample-split-pilot","body":""},{"hash":"1599020","date":"2026-07-27 05:48:22 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T05:48:20 (2 files) — scripts/kravet-spec-backfill-ledger.jsonl scripts/sample-split-pilot","body":""},{"hash":"49ce7d5","date":"2026-07-27 01:17:05 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T01:17:03 (3 files) — scripts/osborne-onboard/out/canary-latest.json scripts/osborne-onboard/out/canary.cron.out scripts/sample-split-pilot","body":""},{"hash":"22dae9e","date":"2026-07-27 00:46:57 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T00:46:55 (5 files) — scripts/knoll-onboard/out/created.jsonl scripts/knoll-onboard/out/golive-done.jsonl scripts/sample-split-pilot scripts/stout-onboard/out/launchd.err scripts/stout-onboard/out/launchd.out","body":""},{"hash":"10e9630","date":"2026-07-27 00:16:49 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-27T00:16:47 (3 files) — scripts/greenland-onboard/out/launchd.err scripts/sample-split-pilot scripts/greenland-onboard/out/created.jsonl","body":""},{"hash":"b786056","date":"2026-07-26 20:45:52 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-26T20:45:50 (2 files) — package-lock.json scripts/sample-split-pilot","body":""},{"hash":"8edf5ab","date":"2026-07-26 20:39:03 -0700","author":"Steve Abrams","subject":"chore: lint, refactor, v0.1.2 (session close) — DRY build-payloads (SAMPLE_PRICE/RE_BRAND/patLabel), visible dbWriteBack + pid/handle safety belts, fail-loud drip.sh","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"3dbd602","date":"2026-07-26 20:15:41 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-26T20:15:38 (2 files) — package-lock.json scripts/sample-split-pilot","body":""},{"hash":"18333b8","date":"2026-07-26 20:12:00 -0700","author":"Steve Abrams","subject":"maharam-onboard: dedicated daily drip runner + launchd plist (draft) — trickle 1429 sample-only wallcoverings daily, backlog-metered, task-spec titles + PG write-back","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"6bae8c2","date":"2026-07-26 19:57:41 -0700","author":"Steve Abrams","subject":"chore: lint, refactor, v0.1.1 (session close) — execFileSync + negative-limit guards + set -e + error log on stroheim-onboard","body":""},{"hash":"999aac3","date":"2026-07-26 19:56:03 -0700","author":"Steve Abrams","subject":"recover wiped scripts/ tree: restore 325 untracked source files from git (revive DW Shopify upload pipeline dead ~2 days post Jul-24 wipe)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"16717b2","date":"2026-07-26 19:27:56 -0700","author":"Steve Abrams","subject":"stout-onboard: fix stale docs — double-roll (not single), Gemini 2.5 model/cost, live collection-rule reality note","body":""},{"hash":"eb3b887","date":"2026-07-26 16:48:38 -0700","author":"Steve Abrams","subject":"Stroheim onboard: read-only price/coverage canary (auto-resume signal on price-landing); DTD 3/2, launchd install deferred (gated)","body":""},{"hash":"07f745c","date":"2026-07-26 16:46:06 -0700","author":"Steve Abrams","subject":"Stroheim onboard: add settlement-gate + go-live (Steve-gated) + resume.sh — pipeline one-command-ready (DTD 5/5, yolo-plus)","body":""},{"hash":"1000bbf","date":"2026-07-26 16:44:38 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-26T16:44:36 (215 files) — scripts/sample-split-pilot scripts/_lib/ scripts/activate-1838/ scripts/af-reimage/ scripts/ai-preamble-leak-sweep/","body":""},{"hash":"07fb88e","date":"2026-07-26 16:41:12 -0700","author":"Steve Abrams","subject":"sanderson-onboard: DWXH- drafts (dual mfr_sku mf, retail Roll + $4.25 sample, PG-first) + gated/armed go-live trickle (settlement CLEAR + 5-field, no Google)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"7ec91f4","date":"2026-07-26 16:23:49 -0700","author":"Steve Abrams","subject":"Stroheim onboard: ready-to-run DRAFT scripts (DWST, BUDGET_CAT=backlog); HELD on price per DTD","body":""},{"hash":"acc693b","date":"2026-07-26 16:21:02 -0700","author":"Steve Abrams","subject":"stout-onboard: fix Sirv (cdn.estout.com) image fetch — add stouttextiles referer+UA, strip thumbnail query (was 403→fail-closed BLOCK on all 180)","body":""},{"hash":"cf087fb","date":"2026-07-26 16:14:42 -0700","author":"Steve Abrams","subject":"stout-onboard: full engine (build-payloads/create-drafts/go-live/settlement-gate/resume.sh/plist) + price scraper; 180 SKUs priced+staged, DRAFTS+gated trickle ready","body":""},{"hash":"a7f47b4","date":"2026-07-26 16:14:29 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-26T16:14:26 (2 files) — scripts/sample-split-pilot scripts/stout-onboard/","body":""},{"hash":"41a0673","date":"2026-07-26 13:43:47 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-26T13:43:45 (3 files) — scripts/knoll-onboard/out/launchd.err scripts/sample-split-pilot scripts/muralsource-onboard/out/","body":""},{"hash":"c0f5a0a","date":"2026-07-26 13:13:38 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-26T13:13:36 (2 files) — scripts/greenland-onboard/out/launchd.err scripts/sample-split-pilot","body":""},{"hash":"ebe40ff","date":"2026-07-26 09:12:26 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-26T09:12:24 (2 files) — scripts/sample-split-pilot scripts/muralsource-onboard/","body":""},{"hash":"ba9fbe3","date":"2026-07-26 08:48:51 -0700","author":"Steve Abrams","subject":"maharam-onboard: knoll-model sample-only pipeline (1429 wallcoverings, dedup mfr_sku, PG-first shopify_product_id write-back, draft->gated trickle-activate) — DRY-RUN verified, $0, nothing live","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"d0cef0c","date":"2026-07-26 07:41:33 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-26T07:41:30 (2 files) — data/orphan-cleanup-20260716/guard.err scripts/sample-split-pilot","body":""},{"hash":"060225d","date":"2026-07-26 01:09:42 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-26T01:09:40 (2 files) — scripts/osborne-onboard/out/canary.cron.err scripts/sample-split-pilot","body":""},{"hash":"e025907","date":"2026-07-26 00:39:33 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-26T00:39:31 (3 files) — scripts/greenland-onboard/out/launchd.err scripts/knoll-onboard/out/launchd.err scripts/sample-split-pilot","body":""},{"hash":"2d8991a","date":"2026-07-25 13:36:36 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-25T13:36:34 (2 files) — scripts/knoll-onboard/out/launchd.err scripts/sample-split-pilot","body":""},{"hash":"b0338c1","date":"2026-07-25 13:06:26 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-25T13:06:24 (2 files) — scripts/sample-split-pilot scripts/greenland-onboard/","body":""},{"hash":"1defd0b","date":"2026-07-25 07:34:44 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-25T07:34:42 (2 files) — scripts/sample-split-pilot data/orphan-cleanup-20260716/","body":""},{"hash":"7dbd770","date":"2026-07-25 01:02:19 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-25T01:02:17 (2 files) — scripts/osborne-onboard/out/canary.cron.err scripts/sample-split-pilot","body":""},{"hash":"a8034ab","date":"2026-07-25 00:32:06 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-25T00:32:03 (2 files) — scripts/knoll-onboard/out/launchd.err scripts/sample-split-pilot","body":""},{"hash":"23f9992","date":"2026-07-24 23:31:26 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-24T23:30:18 (21 files) — .newwall-ref/ artmura-site/ data/google-feed/ data/kravet-cost/ data/price-sheets/","body":""},{"hash":"2525445","date":"2026-06-01 14:16:27 -0700","author":"Steve Abrams","subject":"hero/ideas: single big full-bleed hero (remove 2x2 four-square grid + hero-4grid.js/json + inert CSS), collapse Ideas to one rail","body":""},{"hash":"8eb1ccd","date":"2026-05-31 16:32:29 -0700","author":"Steve Abrams","subject":"Add per-site favicon (kills /favicon.ico 404)","body":""},{"hash":"b4b5920","date":"2026-05-28 07:25:53 -0700","author":"Steve","subject":"scrub vendor name leaks from products.json source (176 products: title/vendor/tags cleaned per sku-redact denylist)","body":""},{"hash":"7ace082","date":"2026-05-13 13:52:48 -0700","author":"steve","subject":"polish: tech-violet palette, editorial hero, 3-step how-it-works section","body":""},{"hash":"579e226","date":"2026-05-12 17:52:36 -0700","author":"Steve","subject":"dw site: log Gemini image-classify usage to cost-tracker","body":""},{"hash":"f29cf27","date":"2026-05-10 03:19:48 -0700","author":"Steve Abrams","subject":"deploy: pm2 port 9925 + nginx :80 vhost, gemini env loader","body":""},{"hash":"469fcec","date":"2026-05-10 03:17:51 -0700","author":"Steve Abrams","subject":"initial scaffold + GA gtag — designerwallcoverings.ai room-match landing","body":""}]}