{"slug":"designerwallcoverings","total":926,"limit":100,"offset":0,"since":null,"commits":[{"hash":"41a86d1","date":"2026-09-26 21:55:25 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-26T21:55:19 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"b1eb60e","date":"2026-09-26 21:24:54 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-26T21:24:47 (1 data files) — scripts/sanderson-onboard/out/daily-batch.out","body":""},{"hash":"ccd6f02","date":"2026-09-26 15:48:38 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-26T15:48:33 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"d1f4ede","date":"2026-09-26 09:22:24 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-26T09:21:27 (1 data files) — scripts/google-feed/data/google-feed/unpublish-list-showroom.csv","body":""},{"hash":"eebb452","date":"2026-09-26 09:22:13 -0700","author":"Steve","subject":"TK-11856 rc-propagation (SHOPIFY): gimmersta-romo-rolls run.sh propagates first failed roll-builder rc","body":"Exit-code ONLY, no behavior change (Steve ruling 2026-09-26 Q1/Q2): every step still runs as\nbefore; the wrapper now exits with the first nonzero rc of its side-effecting step(s) instead of\nswallowing it, so cron-fire-canary's exit corroboration can see a failed run. No heartbeat file added.\nRevert: git -C /Users/macstudio3/Projects/designerwallcoverings revert <this sha>\n\nCo-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01YaiWjfgEuKQLTb5cdDreS3"},{"hash":"2b739ed","date":"2026-09-26 09:20:51 -0700","author":"Steve Abrams","subject":"TK-12333: drop Scalamandre — unpublish list 4409 rows, dw-showroom-hide.js 12544 ids (NOT deployed), rollback --limit, rollback evidence","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_018HHVEexYEwkT1HYJzkvv66"},{"hash":"9335a6a","date":"2026-09-26 09:12:21 -0700","author":"Steve Abrams","subject":"TK-11860: save prior 8120-id dw-showroom-hide.js (rollback reference)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_018HHVEexYEwkT1HYJzkvv66"},{"hash":"f19568f","date":"2026-09-26 09:03:57 -0700","author":"Steve Abrams","subject":"TK-11860: ShowroomOnly stamped on 4,842 ACTIVE (JS/MTG/Sandberg/Scalamandre) + regenerated dw-showroom-hide.js (12,962 ids, NOT deployed)","body":"Evidence: restore-maps, applied logs, Google-channel showroom unpublish list (4,827). Undo tags: apply-showroomonly-tk11860.mjs --rollback --apply. Undo asset: git revert.\n\nCo-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_018HHVEexYEwkT1HYJzkvv66"},{"hash":"f1c71e8","date":"2026-09-26 08:50:24 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-26T08:50:16 (5 data files) — evidence/TK-11860-showroom-20260926/applied-2026-09-26T15-26-44-049Z.jsonl evidence/TK-11860-showroom-20260926/restore-map-2026-09-26T15-26-44-049Z.json evidence/TK-11860-showroom-20260926/restore-map-2026-09-26T15-27-34-052Z.json evidence/TK-11860-showroom-20260926/unpublish-list-showroom.csv scripts/google-feed/data/google-feed/unpublish-list-showroom.csv","body":""},{"hash":"2eb7e2e","date":"2026-09-26 08:26:05 -0700","author":"Steve Abrams","subject":"TK-11860: ShowroomOnly tag stamper for approved showroom vendors + pre-write restore-map (4,842 ACTIVE, dry-run)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_018HHVEexYEwkT1HYJzkvv66"},{"hash":"0e0f070","date":"2026-09-26 08:20:47 -0700","author":"Steve Abrams","subject":"TK-11860: sell-mode segmentation evidence (sample/quote NOT-MEASURED by design)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_018HHVEexYEwkT1HYJzkvv66"},{"hash":"f17a775","date":"2026-09-26 08:19:21 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-26T08:19:11 (5 data files) — scripts/price-sheets/schu-watch/data/history.json scripts/price-sheets/schu-watch/data/latest.json scripts/sanderson-onboard/out/latest.json scripts/sanderson-onboard/out/verify-state.json scripts/sanderson-onboard/out/verify.out","body":""},{"hash":"47a405d","date":"2026-09-26 06:16:41 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-26T06:16:37 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"98f271e","date":"2026-09-26 01:11:35 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-26T01:11:31 (2 data files) — scripts/osborne-onboard/out/canary-latest.json scripts/osborne-onboard/out/canary.cron.out","body":""},{"hash":"e018d3c","date":"2026-09-26 00:10:18 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-26T00:10:15 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"6817a4e","date":"2026-09-25 21:38:16 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-25T21:38:12 (1 data files) — scripts/sanderson-onboard/out/daily-batch.out","body":""},{"hash":"f2ea7ec","date":"2026-09-25 18:05:12 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-25T18:05:08 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"820535f","date":"2026-09-25 13:48:25 -0700","author":"Steve Abrams","subject":"TK-12267: tripwire enumerate uses read-only ADMIN-first seam (read-lib.mjs); 0-of-0 population guard; lib.mjs write loader untouched","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01D7LB6rCwpA7ubJTqYzqXEX"},{"hash":"f47fd6c","date":"2026-09-25 11:51:14 -0700","author":"Steve Abrams","subject":"TK-11076: Option B — undo DELETEs a metafield the forward run created (absent != empty)","body":"- forward records metafield_preexisted (presence, not value), first-write-wins\n- rollback deletes via metafieldsDelete only when preexisted===false AND the live\n  value is still exactly the forward-written value (never deletes a foreign edit);\n  legacy records without the flag keep write-empty\n- delete-mode verify polls (<=15s) and demands ABSENT; empty residue reads FAIL\n- forward gains --max-fail circuit breaker (default 3) + non-zero exit on any failure\n- both scripts ship --self-test with negative tests proven RED on injected faults\nReviewed: local qwen (points refuted), Kimi k3 (2 real holes folded in).\n\nCo-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01H5X9Z41EQourT4mYoq57Np"},{"hash":"590af0c","date":"2026-09-25 11:46:57 -0700","author":"Steve Abrams","subject":"TK-10484: word-boundary settlement matcher + negative test + gated flag correction (dry-run default, --expect guard, exact --rollback)","body":"The 2026-09-24 sweep's keyword matcher was never committed; this reconstructs it as\nmode:'legacy' (reproduces 96/97 applied labels, 1/1162 population disagreement) and ships\nthe fixed mode:'word' (\\b-anchored with explicit plurals/compounds). Palmero/Fernanda/Bayleaf\nfalse positives removed; birds/songbird/hummingbird/boughs now caught. DWAA-510300 held\n(Steve's final DISAPPROVE). No DB writes; apply is gated.\n\nCo-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01RgbJjouBQ3xFfkmBq17Jik"},{"hash":"40908be","date":"2026-09-25 11:44:50 -0700","author":"Steve Abrams","subject":"TK-10484: dry-run-default staging script for 8 recovered Jeffrey Stevens codes (gated apply + rollback)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01RgbJjouBQ3xFfkmBq17Jik"},{"hash":"d57e691","date":"2026-09-25 11:42:50 -0700","author":"Steve Abrams","subject":"TK-11483: Phase-2 pre-flight evidence (76 ACTIVE Fentucci dupes verified live, fire script + negative-tested preflight)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01RwMMHSLW95fpUPagXhWh7R"},{"hash":"6b02cf4","date":"2026-09-25 10:22:32 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-25T10:22:25 (1 data files) — scripts/dwpw-grs-migrate.lastrun.json","body":""},{"hash":"7f78ce0","date":"2026-09-25 09:51:36 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-25T09:51:23 (4 data files) — scripts/palm-grove-promote/snapshot-pre.json scripts/palm-grove-promote/verify-LN40201.json scripts/palm-grove-promote/verify-LN40202.json scripts/palm-grove-promote/verify-LN40204.json","body":""},{"hash":"9a56596","date":"2026-09-25 09:49:22 -0700","author":"Steve Abrams","subject":"TK-12227: verify backs off on storefront cart 429","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"48cde5e","date":"2026-09-25 09:46:30 -0700","author":"Steve Abrams","subject":"TK-12227: contrarian fixes — pin inventory to twin roll location, exact-one catalog price row, resume past activation, rollback re-lists only while DRAFT, measured mirror, deterministic redirect verify","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"ff13b17","date":"2026-09-25 09:37:54 -0700","author":"Steve Abrams","subject":"TK-12227: local mirror step + public verify (browser/Googlebot headers)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"dd22e2c","date":"2026-09-25 09:35:18 -0700","author":"Steve Abrams","subject":"TK-12227: restrict to Online Store (unpublish pre-listed channels), resume mode, rollback re-list","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"2b2bd12","date":"2026-09-25 09:33:07 -0700","author":"Steve Abrams","subject":"TK-12227: palm-grove promote/retire pair executor + scoped rollback + snapshot","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"ce228bc","date":"2026-09-25 08:13:15 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-25T08:13:10 (5 data files) — scripts/price-sheets/schu-watch/data/history.json scripts/price-sheets/schu-watch/data/latest.json scripts/sanderson-onboard/out/latest.json scripts/sanderson-onboard/out/verify-state.json scripts/sanderson-onboard/out/verify.out","body":""},{"hash":"318a59e","date":"2026-09-25 05:39:52 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-25T05:39:47 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"b3d17e1","date":"2026-09-25 01:04:47 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-25T01:04:41 (2 data files) — scripts/osborne-onboard/out/canary-latest.json scripts/osborne-onboard/out/canary.cron.out","body":""},{"hash":"22f1691","date":"2026-09-25 00:03:23 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-25T00:03:17 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"140429c","date":"2026-09-24 21:30:41 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-24T21:30:35 (1 data files) — scripts/sanderson-onboard/out/daily-batch.out","body":""},{"hash":"7e676fe","date":"2026-09-24 17:57:11 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-24T17:57:06 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"cb3710a","date":"2026-09-24 16:02:08 -0700","author":"Steve Abrams","subject":"lib/shopify: probe SHOPIFY_FULL_ACCESS_TOKEN once, fall back to SHOPIFY_ADMIN_TOKEN on a definitive 401","body":"The preferred token (…2ea5) is dead, which broke all 88 importers. Only a 401 triggers\nthe fallback; network errors and other statuses keep the preferred token.\n\nCo-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SrEDNvrmHyv2QgB23Lm151"},{"hash":"398290e","date":"2026-09-24 15:01:03 -0700","author":"Steve Abrams","subject":"night-pdp-verify: unknown expected price -> NOT-MEASURED, keep catch error reason","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01LfkajczsrHUsBBKvhRwcCG"},{"hash":"8e87211","date":"2026-09-24 13:11:12 -0700","author":"Steve Abrams","subject":"TK-10484: restore file for NU cost fix (4 rows 25->30)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"1fc203f","date":"2026-09-24 13:10:34 -0700","author":"Steve Abrams","subject":"TK-10484: reversible cost fix for 4 NU rows (25 -> Yorkwall 30), Steve-approved, not fired","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"6d77d92","date":"2026-09-24 13:09:00 -0700","author":"Steve Abrams","subject":"TK-10484: archived 33 yorkwall no-price NU rows; fix count parse (-tA)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"41b4348","date":"2026-09-24 13:08:00 -0700","author":"Steve Abrams","subject":"TK-10484: reversible archiver for 33 yorkwall no-price NU codes (gated, not fired)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"df48217","date":"2026-09-24 13:05:42 -0700","author":"Steve Abrams","subject":"TK-10484: fix yorkwall cost applier — key on recovered_mfr_code, no-price stays NULL, DB-verified count","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"78f2d63","date":"2026-09-24 13:02:23 -0700","author":"Steve Abrams","subject":"TK-10484: reversible yorkwall cost applier for 47 NU codes (14 priced, 33 no-price from scrape)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"5481337","date":"2026-09-24 12:50:56 -0700","author":"Steve Abrams","subject":"TK-10484: archived 15 imageless unminted drafts; fix viewer-rebuild (-tA, parse before write)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"e51b1da","date":"2026-09-24 12:46:42 -0700","author":"Steve Abrams","subject":"TK-10484: reversible archiver for 15 imageless unminted JStevens drafts (gated, not fired)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"4faa847","date":"2026-09-24 12:18:42 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-24T12:18:37 (2 data files) — $OUT data/tk10484-settlement-flag-restore-2026-09-24T19-04-12-258Z.json","body":""},{"hash":"c9c34b6","date":"2026-09-24 12:07:06 -0700","author":"Steve Abrams","subject":"TK-10484: fix settlement-flag applier (ALTER before snapshot; drop broken .catch) — applied 97 rows","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"c39fa7b","date":"2026-09-24 12:00:15 -0700","author":"Steve Abrams","subject":"TK-10484: regenerate JStevens settlement sweep (97 candidates: 28 EXCLUDE/19 REVIEW/50 APPROVE) + reversible flag applier (gated, not fired)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"efc10ab","date":"2026-09-24 11:48:08 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-24T11:48:03 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"b678e92","date":"2026-09-24 11:30:38 -0700","author":"Steve Abrams","subject":"TK-12129: live theme ships Harlequin roll-length + sold-per line (6/6 live checks pass)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>"},{"hash":"6012860","date":"2026-09-24 11:17:21 -0700","author":"Steve Abrams","subject":"TK-12129: extend live verify to 6 controls + final-pre baseline (ship blocked pending Steve)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01QQaFKAfbJjN9erDvXCq6NY"},{"hash":"3f78311","date":"2026-09-24 11:11:34 -0700","author":"Steve Abrams","subject":"TK-12129 rollout: 320 Harlequin WC metafields written; live theme edit reverted on check (c) fail; sold_per-gate fix proven on preview","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01QQaFKAfbJjN9erDvXCq6NY"},{"hash":"30f26d7","date":"2026-09-24 10:50:00 -0700","author":"Steve Abrams","subject":"TK-10484: activate 14 Jeffrey Stevens NuWallpaper drafts on live DW store (update-only, restore maps + rollback)","body":"Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01LSbNqkYWZiCRzvVe6mGz94"},{"hash":"2c63e0a","date":"2026-09-24 10:46:57 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-24T10:46:49 (1 data files) — data/tk10484-activate-14-targets.csv","body":""},{"hash":"760ec45","date":"2026-09-24 10:27:58 -0700","author":"Steve Abrams","subject":"TK-12129: custom.sold_per canary write + unpublished preview theme render proof","body":""},{"hash":"3ee5362","date":"2026-09-24 10:16:04 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-24T10:15:55 (3 data files) — data/tk12129-soldper-snapshot-2026-09-24T17-13-59-590Z.json data/tk12129-soldper-snapshot-2026-09-24T17-14-09-344Z.json scripts/dwpw-grs-migrate.lastrun.json","body":""},{"hash":"aff639a","date":"2026-09-24 09:44:18 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-24T09:44:11 (1 data files) — data/tk12129-canary-snapshot-2026-09-24T16-39-45-635Z.json","body":""},{"hash":"37d31e1","date":"2026-09-24 08:09:27 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-24T08:09:22 (5 data files) — scripts/price-sheets/schu-watch/data/history.json scripts/price-sheets/schu-watch/data/latest.json scripts/sanderson-onboard/out/latest.json scripts/sanderson-onboard/out/verify-state.json scripts/sanderson-onboard/out/verify.out","body":""},{"hash":"2215176","date":"2026-09-24 06:02:30 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-24T06:02:25 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"177d6a9","date":"2026-09-24 01:19:17 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-24T01:19:13 (2 data files) — scripts/osborne-onboard/out/canary-latest.json scripts/osborne-onboard/out/canary.cron.out","body":""},{"hash":"8b401ea","date":"2026-09-23 23:44:37 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T23:44:32 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"b7ba612","date":"2026-09-23 21:39:01 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T21:38:57 (1 data files) — scripts/sanderson-onboard/out/daily-batch.out","body":""},{"hash":"6edeed1","date":"2026-09-23 17:59:04 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T17:59:00 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"886e350","date":"2026-09-23 16:03:46 -0700","author":"Steve Abrams","subject":"Retire: README-RETIRED banners for 7 dormant image-scan scripts (TK-12090)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01XekrHFx4WVTS1Sui5nhXmQ"},{"hash":"5624b21","date":"2026-09-23 13:06:56 -0700","author":"Steve Abrams","subject":"TK-11397: swap dead SHOPIFY_FULL_ACCESS_TOKEN for live ADMIN token, fail-loud on 401/403 across GMC-404 batch scripts","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0144GfLFF14MFmAnCREHST5n"},{"hash":"d4c017e","date":"2026-09-23 12:42:20 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T12:42:16 (1 data files) — scripts/dwpw-grs-migrate.lastrun.json","body":""},{"hash":"5776161","date":"2026-09-23 12:21:11 -0700","author":"Steve Abrams","subject":"TK-11323: importer stamps 8/8 whole-bolt rule + canonical The Naturals Collection tag; token probe falls back to a live token","body":"Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_011LAC9zUVqzfo6MsW5y7tAN"},{"hash":"33f8b4f","date":"2026-09-23 11:51:33 -0700","author":"Steve Abrams","subject":"TK-11552: 2026-09-23 rescue — back up 8 imminent info@ drafts, manifest + report","body":"Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01E1xReXdF9rRznsRv8hyTve"},{"hash":"b491d3a","date":"2026-09-23 11:38:33 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T11:38:28 (3 data files) — data/orphan-cleanup-20260716/latest.json evidence/TK-11860-knoll-revert-20260923/artifact-discount-6scoped-PREIMAGE.json evidence/TK-11860-knoll-revert-20260923/knoll-revert-restore-map.json","body":""},{"hash":"9b5b1df","date":"2026-09-23 10:35:39 -0700","author":"Steve Abrams","subject":"TK-11397: fix variant-id extraction in resolve-variants.mjs + correct audit note","body":"resolve-variants.mjs line 23 used match(/\\d+/).pop() which extracted the\nFIRST digit run (the product id) instead of the variant id from GMC offer keys\nshaped shopify_US_<productId>_<variantId>. All 77 prefixed rows failed the\nShopify variant lookup (product_gid/cur_handle/status = null).\n\nFixed to mirror the robust check-unpub.mjs extraction: take the trailing\nvariant id via end-anchored match(/_(\\d{6,})$/), fall back to bare key.\nVerified: all 77 now extract the correct variant id; all 84 bare keys stable;\n0 mis-extractions.\n\nAlso corrected AUDIT-SUMMARY.md which mis-attributed the nulls to the\ncanary keying rows with the product id; the key carries both ids — the\nscript grabbed the wrong one. Note now states the bug, the recovery path,\nand that it's been fixed."},{"hash":"95dfa15","date":"2026-09-23 10:35:21 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T10:35:16 (1 data files) — scripts/tk11397-gmc-404-batch/AUDIT-SUMMARY.md","body":""},{"hash":"ad3148e","date":"2026-09-23 09:31:53 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T09:31:43 (1 data files) — scripts/dwpw-grs-migrate.lastrun.json","body":""},{"hash":"2b673f6","date":"2026-09-23 08:28:14 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T08:28:09 (5 data files) — scripts/price-sheets/schu-watch/data/history.json scripts/price-sheets/schu-watch/data/latest.json scripts/sanderson-onboard/out/latest.json scripts/sanderson-onboard/out/verify-state.json scripts/sanderson-onboard/out/verify.out","body":""},{"hash":"6c5aec4","date":"2026-09-23 05:50:17 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T05:50:13 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"0943a4e","date":"2026-09-23 01:38:37 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T01:38:33 (1 data files) — scripts/kravet-spec-backfill-ledger.jsonl","body":""},{"hash":"aaa7ecd","date":"2026-09-23 01:07:20 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T01:07:15 (2 data files) — scripts/osborne-onboard/out/canary-latest.json scripts/osborne-onboard/out/canary.cron.out","body":""},{"hash":"b5d251a","date":"2026-09-23 00:04:11 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-23T00:04:06 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"d988293","date":"2026-09-22 21:27:33 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-22T21:27:29 (1 data files) — scripts/sanderson-onboard/out/daily-batch.out","body":""},{"hash":"0f6c933","date":"2026-09-22 17:47:45 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-22T17:47:37 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"43488cd","date":"2026-09-22 14:55:13 -0700","author":"steve","subject":"Fix Innovations over-archive: classify unloaded-pattern SKUs UNMEASURED (never DISCONTINUED) and log real prior Shopify status","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01DP24DdLpG6PHXgmjr47TVb"},{"hash":"5efaa44","date":"2026-09-22 14:51:37 -0700","author":"steve","subject":"Collapse tautological try/catch pg require to plain require('pg') in 5 scripts","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01DP24DdLpG6PHXgmjr47TVb"},{"hash":"f0f90e1","date":"2026-09-22 12:54:46 -0700","author":"Steve","subject":"Make inventory-stamp-guard.mjs shim portable (TK-11786 review): resolve shared master via DW_SHARED_GUARDS/homedir, not hardcoded /Users/macstudio3","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01G3ChReG53fwpNgUESv4SY7"},{"hash":"f5370f4","date":"2026-09-22 11:43:33 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-22T11:43:24 (10 data files) — OWNERSHIP.md data/orphan-cleanup-20260716/latest.json package-lock.json package.json scripts/innovations-image-audit/audit.mjs.pre-pg-decouple","body":""},{"hash":"dc85266","date":"2026-09-22 08:36:24 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-22T07:25:22 (4 data files) — scripts/price-sheets/schu-watch/data/history.json scripts/price-sheets/schu-watch/data/latest.json scripts/sanderson-onboard/out/latest.json scripts/sanderson-onboard/out/verify-state.json","body":""},{"hash":"6e1ca92","date":"2026-09-22 06:52:06 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-22T06:51:20 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"7795151","date":"2026-09-21 22:22:02 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-21T21:54:42 (1 data files) — scripts/sanderson-onboard/out/daily-batch.out","body":""},{"hash":"2049d6a","date":"2026-09-21 21:06:00 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-21T20:34:48 (2 data files) — scripts/osborne-onboard/out/canary-latest.json scripts/osborne-onboard/out/canary.cron.out","body":""},{"hash":"53d2176","date":"2026-09-21 15:52:49 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-21T15:52:40 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"efd3b28","date":"2026-09-21 10:27:13 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-21T10:26:58 (1 data files) — scripts/dwpw-grs-migrate.lastrun.json","body":""},{"hash":"01d1f75","date":"2026-09-21 09:54:18 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-21T09:54:10 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"942a175","date":"2026-09-21 08:17:34 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-21T08:17:25 (5 data files) — scripts/price-sheets/schu-watch/data/history.json scripts/price-sheets/schu-watch/data/latest.json scripts/sanderson-onboard/out/latest.json scripts/sanderson-onboard/out/verify-state.json scripts/sanderson-onboard/out/verify.out","body":""},{"hash":"6e0f897","date":"2026-09-21 03:23:21 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-21T03:22:12 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"dc399e0","date":"2026-09-21 01:09:54 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-21T01:09:04 (2 data files) — scripts/osborne-onboard/out/canary-latest.json scripts/osborne-onboard/out/canary.cron.out","body":""},{"hash":"6960b7c","date":"2026-09-20 21:48:29 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-20T21:47:38 (2 data files) — data/orphan-cleanup-20260716/latest.json scripts/sanderson-onboard/out/daily-batch.out","body":""},{"hash":"05f8ca4","date":"2026-09-20 15:37:14 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-20T15:36:19 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"1ba4901","date":"2026-09-20 10:01:45 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-20T10:00:50 (1 data files) — scripts/dwpw-grs-migrate.lastrun.json","body":""},{"hash":"26ae318","date":"2026-09-20 09:28:02 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-20T09:27:07 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"9e8ef6a","date":"2026-09-20 08:22:16 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-20T08:21:12 (5 data files) — scripts/price-sheets/schu-watch/data/history.json scripts/price-sheets/schu-watch/data/latest.json scripts/sanderson-onboard/out/latest.json scripts/sanderson-onboard/out/verify-state.json scripts/sanderson-onboard/out/verify.out","body":""},{"hash":"7e7ce3c","date":"2026-09-20 03:54:38 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-20T03:53:01 (1 data files) — data/orphan-cleanup-20260716/latest.json","body":""},{"hash":"f03c29e","date":"2026-09-20 01:06:06 -0700","author":"auto-commit-fleet","subject":"auto-data-snapshot: 2026-09-20T01:05:15 (2 data files) — scripts/osborne-onboard/out/canary-latest.json scripts/osborne-onboard/out/canary.cron.out","body":""}]}