Designer Wallcoverings
Search the build
-
f36bace72026-07-28 auto-save: 2026-07-28T08:58:52 (9 files) — shopify/scripts/data/tk135/fullrun-vision.tsv shopify/staged/free-samples-function/extensions/free-samples-discount/package.json shopify/staged/free-samples-function/extensions/free-samples-discount/shopify.extension.toml shopify/staged/free-samples-function/shopify.app.toml shopify/staged/free-samples-function/extensions/free-samples-discount/package-lock.json -
020c2ae72026-07-28 auto-save: 2026-07-28T08:28:39 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
45e9a7232026-07-28 auto-save: 2026-07-28T07:58:26 (4 files) — shopify/scripts/data/tk135/active-tags.tsv shopify/scripts/data/tk135/fullrun-vision.tsv shopify/scripts/data/tk135/normalize-worklist.tsv shopify/scripts/data/tk135/palette-proposed.tsv -
dca7c0a42026-07-28 auto-save: 2026-07-28T07:28:16 (4 files) — shopify/scripts/data/tk135/active-images.tsv shopify/scripts/data/tk135/fullrun-vision.tsv shopify/scripts/data/tk135/label-prefixed.tsv shopify/scripts/data/tk135/palette-proposed.tsv -
6984f4c62026-07-28 Track shopify/scripts/lib operational source (registry+guards); was hidden by python venv lib/ ignore -
f8969b832026-07-28 TK-10002: forward-only variant-SKU collision guard (skuTakenOnActiveProduct) -
fc665d1c2026-07-28 TK-135: add Shape: to label normalizer strip set -
283637442026-07-28 TK-135: deeper palette (k16/top8) to capture all pattern colors; fix active-images 2-col pull -
f722f3432026-07-28 auto-save: 2026-07-28T06:58:06 (3 files) — shopify/scripts/data/tk135/fullrun-vision.tsv shopify/scripts/data/tk135/label-prefixed.tsv shopify/scripts/data/tk135/style-prefixed.tsv -
9fceefa72026-07-28 TK-135: multi-label normalizer — strip Style:/Motif:/Material:/Collection:/Colorway: to bare (hardened, timestamped, gated) -
a35d3f5d2026-07-28 auto-save: 2026-07-28T06:27:56 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
2d87cf652026-07-28 auto-save: 2026-07-28T05:57:47 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
9dc355392026-07-28 auto-save: 2026-07-28T05:27:36 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
c1f36bdb2026-07-28 auto-save: 2026-07-28T04:57:26 (2 files) — shopify/scripts/cadence/data/activations-2026-07-28.jsonl shopify/scripts/data/tk135/fullrun-vision.tsv -
8d4d4f292026-07-28 auto-save: 2026-07-28T04:27:17 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
5ff1f4172026-07-28 auto-save: 2026-07-28T03:57:08 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
76015b7d2026-07-28 auto-save: 2026-07-28T03:26:56 (4 files) — DW-Programming/ImportNewSkufromURL/yw-results/latest.json shopify/scripts/data/tk135/fullrun-vision.tsv DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260728T030002.json shopify/scripts/data/tk135/material-run.json -
c085575c2026-07-28 auto-save: 2026-07-28T02:56:47 (2 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json shopify/scripts/data/tk135/fullrun-vision.tsv -
bf9da78c2026-07-28 auto-save: 2026-07-28T02:26:37 (2 files) — scripts/room-image-push/ledger.json shopify/scripts/data/tk135/fullrun-vision.tsv -
195908432026-07-28 auto-save: 2026-07-28T01:56:27 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
6d8f4cfc2026-07-28 auto-save: 2026-07-28T01:26:17 (2 files) — shopify/scripts/data/tk135/fullrun-vision.tsv shopify/scripts/data/bucketB/longtail-land-20260728T000105.json -
bcf23af82026-07-28 auto-save: 2026-07-28T00:56:07 (2 files) — shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl shopify/scripts/data/tk135/fullrun-vision.tsv -
009bd63b2026-07-28 auto-save: 2026-07-28T00:25:56 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
dd115bb72026-07-27 auto-save: 2026-07-27T23:55:46 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
d37283a42026-07-27 auto-save: 2026-07-27T23:25:34 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
2bc78a7c2026-07-27 auto-save: 2026-07-27T22:55:20 (2 files) — shopify/scripts/data/tk135/fullrun-vision.tsv shopify/scripts/cadence/data/activations-2026-07-28.jsonl -
80e468102026-07-27 auto-save: 2026-07-27T22:25:06 (1 files) — shopify/scripts/data/tk135/fullrun-vision.tsv -
512f21b72026-07-27 TK-135: harden apply scripts — gqlR retries 502/gateway/network, null-safe loop, per-item try/catch, no crash on transient errors -
02ef098b2026-07-27 auto-save: 2026-07-27T21:54:54 (2 files) — shopify/scripts/data/tk135/fullrun-vision.tsv shopify/scripts/data/tk135/collection-run.json -
5571b0862026-07-27 auto-save: 2026-07-27T21:24:43 (3 files) — shopify/scripts/data/tk135/fullrun-title.tsv shopify/scripts/data/tk135/fullrun-untagged.tsv shopify/scripts/data/tk135/fullrun-vision.tsv -
7396cb9e2026-07-27 auto-save: 2026-07-27T20:54:34 (3 files) — shopify/scripts/data/tk135/active-full.tsv shopify/scripts/data/tk135/material-proposed-unmatched.tsv shopify/scripts/data/tk135/material-proposed.tsv -
d1a610972026-07-27 TK-135: generic descriptor apply — bare tagsAdd + per-SKU *_tagged_at timestamp (gated) -
fcb3debd2026-07-27 TK-135: material classifier — 24,581 bare primary-material tags (composition + title, $0 deterministic) -
7ff5efd72026-07-27 auto-save: 2026-07-27T20:24:23 (9 files) — shopify/scripts/data/tk135/audit-grid.png shopify/scripts/data/tk135/audit-thumbs/ shopify/scripts/data/tk135/bakeoff-grid.png shopify/scripts/data/tk135/bakeoff-thumbs/ shopify/scripts/data/tk135/material-sample200-unmatched.tsv -
160127642026-07-27 TK-135: stamp custom.color_normalized_at per SKU (durable dedup + audit) on normalize -
5d19295d2026-07-27 TK-135: motif classifier (bare) -
224468c32026-07-27 TK-135: collection backfill (bare) -
e061f1ea2026-07-27 TK-135: style classifier (bare) -
2b4057cf2026-07-27 auto-save: 2026-07-27T19:54:12 (9 files) — shopify/scripts/data/tk135/active-images.tsv shopify/scripts/data/tk135/active-tags.tsv shopify/scripts/data/tk135/motif-title.tsv shopify/scripts/data/tk135/normalize-worklist.tsv shopify/scripts/data/tk135/sample-150.tsv -
35de4b032026-07-27 TK-135: comma-separate tags in normalize worklist (not pipe) -
51ad1beb2026-07-27 TK-135: unified color-tag normalizer — strip all color:/Color: to bare catalog-wide + our bare color + metafield (gated) -
1ad1dff42026-07-27 TK-135: BARE-VALUE color tags (no color: prefix) + self-heal removes old color:Bucket; Shopify-authoritative -
525345fa2026-07-27 auto-save: 2026-07-27T19:23:22 (3 files) — package-lock.json shopify/scripts/data/tk135/motif-sample150.tsv shopify/scripts/data/tk135/vtest/ -
7421d43f2026-07-27 chore: v1.2.7 (session close — cleanWallpaper brand-aware fleet fix) -
f26f24ae2026-07-27 TK-135: fix PG-mirror trigger abort — skip DW-prefix mfr_sku rows + make mirror step non-fatal (Shopify authoritative) -
f6f5377e2026-07-27 TK-135: add resume (progress log) to palette apply; canary 20 verified live (metafield+tag ok) -
970233382026-07-27 auto-save: 2026-07-27T18:53:10 (2 files) — shopify/scripts/data/tk135/palette-proposed.tsv shopify/scripts/data/tk135/apply-canary.json -
7ff04f872026-07-27 TK-00134: fix documented cleanWallpaper snippet in CLAUDE.md to brand-aware -
8661e2fa2026-07-27 TK-00134: patch last 3 blanket cleanWallpaper() copies to brand-aware -
930575df2026-07-27 auto-save: 2026-07-27T18:22:43 (15 files) — shopify/scripts/data/tk135/color-proposed.tsv DW-Programming/ShopifyCalendarNext/scripts/rescan-scheduled-posts.ts.backup-1785201549 DW-Programming/anna-french-shopify-push.js.backup-1785201549 DW-Programming/as-creation-shopify-push.js.backup-1785201549 DW-Programming/command54-shopify-push.js.backup-1785201549 -
818dd15e2026-07-27 TK-00134 TaskC: make cleanWallpaper() brand-aware + derived-word-safe across all 12 helper copies (preserve 17 brands, skip wallpapered/wallpapering, case-preserving) -
d33e85532026-07-27 TK-135: gated apply script (metafield color_palette + color: tag, PG-first, dry-run default) -
6853b03a2026-07-27 TK-135: image-based hex+% palette extractor (bg-discount, HSV naming, $0); 200-test 4.7s/0err -
dae671df2026-07-27 TK-135: free/local Color-slice derivation dry-run (5,612/11,259 matched, $0) -
09ce42912026-07-27 TK-17: Batch B scale (793 Hollywood roll variants) + Batch A canary (20 quote-tags) live run-reports -
b7a4cdc52026-07-27 auto-save: 2026-07-27T17:22:24 (1 files) — shopify/scripts/cadence/data/activations-2026-07-27.jsonl -
69f163b62026-07-27 auto-save: 2026-07-27T16:52:13 (2 files) — shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json shopify/scripts/data/tk17/ -
548988192026-07-27 TK-17: add reversible Batch A (quotes tag) + Batch B (Hollywood roll variant) execution scripts (dry-run default) -
4a9a47272026-07-27 auto-save: 2026-07-27T14:21:14 (1 files) — mailers/cc-api/import-fm-clients.js -
02da14bc2026-07-27 auto-save: 2026-07-27T11:20:11 (1 files) — shopify/scripts/cadence/data/activations-2026-07-27.jsonl -
7ca6b6ac2026-07-27 auto-save: 2026-07-27T05:18:10 (1 files) — shopify/scripts/cadence/data/activations-2026-07-27.jsonl -
05addfe02026-07-27 auto-save: 2026-07-27T03:17:36 (1 files) — DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260727T030004.json -
2d00d5a92026-07-27 auto-save: 2026-07-27T02:47:28 (1 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json -
0585c7992026-07-27 auto-save: 2026-07-27T02:17:19 (1 files) — scripts/room-image-push/ledger.json -
18ce7b512026-07-27 auto-save: 2026-07-27T01:47:10 (1 files) — shopify/scripts/data/bucketB/longtail-land-20260727T000104.json -
c104dbc72026-07-27 auto-save: 2026-07-27T00:46:55 (1 files) — shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl -
cd75732e2026-07-26 auto-save: 2026-07-26T23:16:32 (1 files) — shopify/scripts/cadence/data/activations-2026-07-27.jsonl -
700d29ec2026-07-26 auto-save: 2026-07-26T20:45:50 (2 files) — shopify/package-lock.json shopify/package.json -
0f70c3af2026-07-26 auto-save: 2026-07-26T20:15:38 (3 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/vendors.js shopify/scripts/cadence/data/cadence-plan-am-2026-07-27.json -
2da852812026-07-26 TK-31: pr-quote-only-tag fixes wrong tag (quotes->contact-for-price) + Kravet MAP exclusion -
0c221aaf2026-07-26 auto-save: 2026-07-26T17:14:46 (1 files) — shopify/scripts/cadence/data/activations-2026-07-26.jsonl -
cd0890162026-07-26 auto-save: 2026-07-26T16:44:36 (1 files) — shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json -
bc605fca2026-07-26 auto-save: 2026-07-26T15:44:17 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-26.jsonl -
4f4bb4952026-07-26 auto-save: 2026-07-26T14:44:02 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-26.jsonl -
d66a44422026-07-26 auto-save: 2026-07-26T13:43:45 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-26.jsonl -
66d2b2cd2026-07-26 auto-save: 2026-07-26T12:43:27 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-26.jsonl -
a9547e7d2026-07-26 auto-save: 2026-07-26T11:43:10 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-26.jsonl -
76c39f9f2026-07-26 auto-save: 2026-07-26T11:13:01 (1 files) — shopify/scripts/cadence/data/activations-2026-07-26.jsonl -
9f3019702026-07-26 auto-save: 2026-07-26T10:42:53 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-26.jsonl -
96f1f08d2026-07-26 auto-save: 2026-07-26T09:42:34 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-26.jsonl -
46f81baa2026-07-26 auto-save: 2026-07-26T05:10:45 (1 files) — shopify/scripts/cadence/data/activations-2026-07-26.jsonl -
63ad1b212026-07-26 auto-save: 2026-07-26T03:10:13 (1 files) — DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260726T030004.json -
ccc872ae2026-07-26 auto-save: 2026-07-26T02:40:05 (2 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json scripts/room-image-push/ledger.json -
10e8e8852026-07-26 auto-save: 2026-07-26T01:39:48 (1 files) — shopify/scripts/data/bucketB/longtail-land-20260726T000104.json -
1134c75f2026-07-26 auto-save: 2026-07-26T01:09:40 (1 files) — shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl -
14e12ac22026-07-25 auto-save: 2026-07-25T23:09:06 (1 files) — shopify/scripts/cadence/data/activations-2026-07-26.jsonl -
105060a12026-07-25 auto-save: 2026-07-25T17:07:29 (1 files) — shopify/scripts/cadence/data/activations-2026-07-25.jsonl -
74aee2c92026-07-25 auto-save: 2026-07-25T16:37:21 (1 files) — shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json -
16b302e02026-07-25 auto-save: 2026-07-25T11:05:48 (1 files) — shopify/scripts/cadence/data/activations-2026-07-25.jsonl -
df8a7e482026-07-25 auto-save: 2026-07-25T05:03:47 (1 files) — shopify/scripts/cadence/data/activations-2026-07-25.jsonl -
6065b5ca2026-07-25 auto-save: 2026-07-25T03:03:06 (1 files) — DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260725T030004.json -
665e57242026-07-25 auto-save: 2026-07-25T02:32:56 (2 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json scripts/room-image-push/ledger.json -
10af2f8f2026-07-25 auto-save: 2026-07-25T01:32:27 (1 files) — shopify/scripts/data/bucketB/longtail-land-20260725T000105.json -
6cf8fac42026-07-25 auto-save: 2026-07-25T01:02:17 (2 files) — shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl -
fac2b7092026-07-24 auto-save: 2026-07-24T23:00:12 (1 files) — shopify/scripts/cadence/data/activations-2026-07-25.jsonl -
247987812026-07-24 auto-save: 2026-07-24T17:58:56 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-25.jsonl -
8fc9be462026-07-24 auto-save: 2026-07-24T16:58:41 (3 files) — shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json shopify/scripts/cadence/data/activations-2026-07-24.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
d9adb5542026-07-24 auto-save: 2026-07-24T15:58:29 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
b04ec8922026-07-24 auto-save: 2026-07-24T14:58:16 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
73dfaf122026-07-24 auto-save: 2026-07-24T13:58:01 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
236e5f232026-07-24 auto-save: 2026-07-24T09:57:07 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
9d2d4f972026-07-24 auto-save: 2026-07-24T08:56:52 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
8c0d96b82026-07-24 auto-save: 2026-07-24T07:56:29 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
0a75b08b2026-07-24 auto-save: 2026-07-24T06:55:55 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
062efe052026-07-24 auto-save: 2026-07-24T05:55:40 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
1632a7b22026-07-24 auto-save: 2026-07-24T04:55:26 (2 files) — shopify/scripts/cadence/data/activations-2026-07-24.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
b708983d2026-07-24 auto-save: 2026-07-24T03:55:12 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
8a6c720c2026-07-24 auto-save: 2026-07-24T03:25:06 (2 files) — DW-Programming/ImportNewSkufromURL/yw-results/latest.json DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260724T030004.json -
106219592026-07-24 auto-save: 2026-07-24T02:54:59 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl shopify/scripts/data/bucketB/rebelwalls-land-20260724T000105.json shopify/scripts/data/bucketB/scalamandre-land-20260724T000105.json shopify/scripts/data/bucketB/schumacher-land-20260724T000105.json -
d10799bd2026-07-24 auto-save: 2026-07-24T02:24:51 (2 files) — scripts/room-image-push/ledger.json shopify/scripts/data/bucketB/phillipromano-land-20260724T000105.json -
e29b8b672026-07-24 auto-save: 2026-07-24T01:54:44 (4 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl shopify/scripts/data/bucketB/longtail-land-20260724T000105.json shopify/scripts/data/bucketB/mindthegap-land-20260724T000105.json shopify/scripts/data/bucketB/nina-land-20260724T000105.json -
a36dda712026-07-24 auto-save: 2026-07-24T00:54:30 (4 files) — shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl shopify/scripts/data/bucketB/hollywood-land-20260724T000105.json -
c9eac73f2026-07-24 auto-save: 2026-07-24T00:24:22 (4 files) — shopify/scripts/data/bucketB/annafrench-land-20260724T000105.json shopify/scripts/data/bucketB/coordonne-land-20260724T000105.json shopify/scripts/data/bucketB/grahambrown-land-20260724T000105.json shopify/scripts/data/bucketB/harlequin-land-20260724T000105.json -
413c95702026-07-23 auto-save: 2026-07-23T22:54:00 (2 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl shopify/scripts/cadence/data/activations-2026-07-24.jsonl -
9a87e2732026-07-23 auto-save: 2026-07-23T21:53:45 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
0a64f0c92026-07-23 auto-save: 2026-07-23T20:53:32 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
5d192c8d2026-07-23 auto-save: 2026-07-23T19:53:19 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
65d66c232026-07-23 auto-save: 2026-07-23T18:53:06 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
186f85ef2026-07-23 auto-save: 2026-07-23T17:52:50 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-24.jsonl -
d5f14c762026-07-23 auto-save: 2026-07-23T16:52:38 (3 files) — shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json shopify/scripts/cadence/data/activations-2026-07-23.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
9a2420722026-07-23 auto-save: 2026-07-23T15:52:21 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
11595f162026-07-23 Groundworks: assign 67 DWKK SKUs (158394-159054) mirror-side, draft-only + audit JSON -
5ba9f98e2026-07-23 auto-save: 2026-07-23T14:52:02 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
11f1f0372026-07-23 auto-save: 2026-07-23T13:51:43 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
ca83e4ab2026-07-23 auto-save: 2026-07-23T12:51:13 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
80d2a7e42026-07-23 auto-save: 2026-07-23T11:50:46 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
d9f896372026-07-23 auto-save: 2026-07-23T10:50:25 (2 files) — shopify/scripts/cadence/data/activations-2026-07-23.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
a8dab2832026-07-23 auto-save: 2026-07-23T09:50:03 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
e34f1c3d2026-07-23 auto-save: 2026-07-23T08:49:44 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
b184c7c62026-07-23 auto-save: 2026-07-23T07:49:27 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
91ba0bda2026-07-23 auto-save: 2026-07-23T06:49:07 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
bc3581872026-07-23 auto-save: 2026-07-23T05:48:54 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
78053a0d2026-07-23 auto-save: 2026-07-23T05:18:46 (1 files) — shopify/scripts/cadence/data/activations-2026-07-23.jsonl -
a465426f2026-07-23 auto-save: 2026-07-23T04:48:39 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
56041cdb2026-07-23 auto-save: 2026-07-23T03:48:26 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
e4fac2f82026-07-23 auto-save: 2026-07-23T03:18:19 (1 files) — DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260723T030005.json -
968f5f552026-07-23 auto-save: 2026-07-23T02:48:12 (7 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl shopify/scripts/data/bucketB/phillipromano-land-20260723T000105.json shopify/scripts/data/bucketB/rebelwalls-land-20260723T000105.json shopify/scripts/data/bucketB/scalamandre-land-20260723T000105.json -
f2a731482026-07-23 auto-save: 2026-07-23T02:18:05 (2 files) — scripts/room-image-push/ledger.json shopify/scripts/data/bucketB/nina-land-20260723T000105.json -
10ffc20c2026-07-23 auto-save: 2026-07-23T01:47:57 (3 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl shopify/scripts/data/bucketB/longtail-land-20260723T000105.json shopify/scripts/data/bucketB/mindthegap-land-20260723T000105.json -
7fca33052026-07-23 auto-save: 2026-07-23T00:47:42 (3 files) — shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl shopify/scripts/data/bucketB/hollywood-land-20260723T000105.json -
4614fffa2026-07-23 auto-save: 2026-07-23T00:17:34 (3 files) — shopify/scripts/data/bucketB/coordonne-land-20260723T000105.json shopify/scripts/data/bucketB/grahambrown-land-20260723T000105.json shopify/scripts/data/bucketB/harlequin-land-20260723T000105.json -
2e0bd6082026-07-22 auto-save: 2026-07-22T23:17:18 (1 files) — shopify/scripts/cadence/data/activations-2026-07-23.jsonl -
d855477a2026-07-22 auto-save: 2026-07-22T19:46:22 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
c62d8c422026-07-22 auto-save: 2026-07-22T18:46:04 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
a709141c2026-07-22 auto-save: 2026-07-22T17:45:47 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-23.jsonl -
687f2b172026-07-22 auto-save: 2026-07-22T17:15:39 (1 files) — shopify/scripts/cadence/data/activations-2026-07-22.jsonl -
598bfbd62026-07-22 auto-save: 2026-07-22T16:45:31 (2 files) — shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json shopify/scripts/cadence/data/upload-restore-2026-07-22.jsonl -
cdd781cd2026-07-22 auto-save: 2026-07-22T15:45:17 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-22.jsonl -
9b32e1052026-07-22 auto-save: 2026-07-22T14:44:58 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-22.jsonl -
febebb8c2026-07-22 chore: v1.2.6 (session close — Maharam cadence onboarding) -
d1e74c412026-07-22 auto-save: 2026-07-22T13:44:34 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-22.jsonl -
265cb3492026-07-22 auto-save: 2026-07-22T13:14:23 (1 files) — shopify/theme-LIVE-591/assets/dw-card-hover.js -
8f5ec3032026-07-22 New Arrivals mailer v4: Shop by Color moved directly below closing Shop All New Arrivals CTA -
74aef0022026-07-22 auto-save: 2026-07-22T12:44:11 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-22.jsonl -
9e9fa5552026-07-22 New Arrivals mailer v3: Shop by Color hue-strip section above footer linking /pages/shop-by-color; draft 54120ecf -
f5cc767f2026-07-22 New Arrivals mailer: remove Temple of Beauty in-the-room section + Mural Source chip; recreate CC draft as v2 (a6b67687) -
1100dbaa2026-07-22 New Arrivals weekly campaign: 12-vendor mailer from live mirror + CC builder; draft created d1cb66d7 -
573fac582026-07-22 cc-api: survive Constant Contact refresh-token rotation (cache-first + persist to .env); PR Naturals builder now loads v10 mailer -
c84a6f8f2026-07-22 auto-save: 2026-07-22T12:13:58 (1 files) — mailers/cc-api/build-pr-naturals-campaign.js -
5b08a2432026-07-22 auto-save: 2026-07-22T11:43:42 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-22.jsonl -
2f4168632026-07-22 auto-save: 2026-07-22T11:13:33 (2 files) — package-lock.json shopify/scripts/cadence/data/activations-2026-07-22.jsonl -
520acf522026-07-22 chore: lint, refactor, v1.2.5 (Anthology session close) -
fb96a8242026-07-22 auto-save: 2026-07-22T10:43:19 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-22.jsonl -
1c2df63a2026-07-22 auto-save: 2026-07-22T09:43:01 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-22.jsonl -
ea14706c2026-07-22 cadence: arm Maharam onto shared rotation — vendors.js un-gate (amends prior commit that only caught the drip-script removal) -
101415462026-07-22 cadence: ARM Maharam onto the shared live daily rotation (Steve go, DTD 5/5 A) -
7440b0f22026-07-22 auto-save: 2026-07-22T09:12:53 (2 files) — shopify/scripts/cadence/data/cadence-plan-am-2026-07-22.json shopify/scripts/cadence/data/upload-restore-2026-07-22.jsonl -
2a58e23b2026-07-22 Anthology import: UOM resolver + ready-to-push DRAFT creator (DRY-RUN default) -
41e292c12026-07-22 cadence: add Maharam launch drip script (import+activate, metered; enabled only via MAHARAM_DRIP + its launchd job) -
7d362d072026-07-22 auto-save: 2026-07-22T08:12:31 (2 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-22.json -
5d76defb2026-07-22 cadence: onboard Maharam as quote-only wallcovering vendor (own MAHARAM_DRIP gate) -
35503bb02026-07-22 Anthology Phase-2 scrapers: SDG Trade Hub feed-first pull → anthology_catalog (48 staged) -
770e4cf52026-07-22 no-image backfill: attach 18 verified vendor images (src + base64-retry for octet-stream/oversized CDNs) + Nantucket description -
871d8d352026-07-22 auto-save: 2026-07-22T06:41:50 (1 files) — scripts/wallquest-refresh/harvest-wt-images.mjs -
460217762026-07-22 auto-save: 2026-07-22T05:11:29 (1 files) — shopify/scripts/cadence/data/activations-2026-07-22.jsonl -
41b1c46a2026-07-22 auto-save: 2026-07-22T03:11:03 (2 files) — DW-Programming/ImportNewSkufromURL/yw-results/latest.json DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260722T030001.json -
962ecfc82026-07-22 auto-save: 2026-07-22T02:40:56 (7 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json scripts/room-image-push/ledger.json shopify/scripts/data/bucketB/phillipromano-land-20260722T000103.json shopify/scripts/data/bucketB/rebelwalls-land-20260722T000103.json shopify/scripts/data/bucketB/scalamandre-land-20260722T000103.json -
b0f818dd2026-07-22 auto-save: 2026-07-22T02:10:50 (3 files) — shopify/scripts/data/bucketB/longtail-land-20260722T000103.json shopify/scripts/data/bucketB/mindthegap-land-20260722T000103.json shopify/scripts/data/bucketB/nina-land-20260722T000103.json -
6e750e412026-07-22 auto-save: 2026-07-22T01:10:37 (2 files) — shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl -
52bf3afb2026-07-22 auto-save: 2026-07-22T00:40:31 (4 files) — shopify/scripts/data/bucketB/coordonne-land-20260722T000103.json shopify/scripts/data/bucketB/grahambrown-land-20260722T000103.json shopify/scripts/data/bucketB/harlequin-land-20260722T000103.json shopify/scripts/data/bucketB/hollywood-land-20260722T000103.json -
68b2d0a42026-07-22 auto-save: 2026-07-22T00:10:24 (1 files) — shopify/scripts/data/bucketB/annafrench-land-20260722T000103.json -
30710bd32026-07-21 auto-save: 2026-07-21T23:10:10 (1 files) — shopify/scripts/cadence/data/activations-2026-07-22.jsonl -
d3fe56ce2026-07-21 auto-save: 2026-07-21T18:09:04 (2 files) — scripts/wallquest-refresh/data/backfill-0717-map.json scripts/wallquest-refresh/attach-17-noimage.cjs -
63ffa88a2026-07-21 wire activation gate into activate-publish-v2 + make sync --quick actually filter by updated_at -
f3d8f23f2026-07-21 mirror sync now carries featuredImage into image_url (closes the batch-image blind spot found via Meilin Pebblestone) -
f6b3ebec2026-07-21 auto-save: 2026-07-21T17:08:42 (1 files) — shopify/scripts/cadence/data/activations-2026-07-21.jsonl -
ff7e29af2026-07-21 auto-save: 2026-07-21T16:38:33 (6 files) — shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json shopify/scripts/data/bucketB/phillipromano-land-20260719T000102.json shopify/scripts/data/bucketB/rebelwalls-land-20260719T000102.json shopify/scripts/data/bucketB/scalamandre-land-20260719T000102.json shopify/scripts/data/bucketB/schumacher-land-20260719T000102.json -
c3e10ba22026-07-21 auto-save: 2026-07-21T16:08:25 (1 files) — shopify/scripts/data/bucketB/nina-land-20260719T000102.json -
e2b9b7c02026-07-21 auto-save: 2026-07-21T15:38:16 (2 files) — shopify/scripts/data/bucketB/longtail-land-20260719T000102.json shopify/scripts/data/bucketB/mindthegap-land-20260719T000102.json -
7ac090872026-07-21 chore: v1.2.4 (session close — dup-sku fix + drafts backfill) -
a67f46202026-07-21 fix-dup-skus-0717: reassign 29 colliding 7/17 PR SKUs to unique stride-10 numbers (Steve go) -
45941f842026-07-21 backfill: --drafts flag; 40 PR 7/17 drafts backfilled (Steve go) -
2495cb812026-07-21 chore: v1.2.3 — 0717 backfill map artifact + version bump (session close) -
afe590fb2026-07-21 backfill: add daisy_bennett_v2_stage fallback + --unstamped resume; 136/136 done -
fe7c37222026-07-21 auto-save: 2026-07-21T13:37:45 (1 files) — scripts/wallquest-refresh/data/ -
c65f22262026-07-21 backfill specs metafields + descriptions for 7/17 WallQuest naturals batch (136 products) -
3632c2822026-07-21 cadence: create DRAFT (drop --activate) so cost-vendors flow through the rotation activator, not direct-activate -
a903d53d2026-07-21 auto-save: 2026-07-21T11:07:10 (1 files) — shopify/scripts/cadence/data/activations-2026-07-21.jsonl -
a24264cd2026-07-21 auto-save: 2026-07-21T05:05:47 (1 files) — shopify/scripts/cadence/data/activations-2026-07-21.jsonl -
85fbb7632026-07-21 auto-save: 2026-07-21T03:05:24 (2 files) — DW-Programming/ImportNewSkufromURL/yw-results/latest.json DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260721T030000.json -
13f4d9502026-07-21 auto-save: 2026-07-21T02:35:18 (2 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json scripts/room-image-push/ledger.json -
4c289d462026-07-21 auto-save: 2026-07-21T01:04:59 (1 files) — shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl -
9e34bbee2026-07-20 auto-save: 2026-07-20T23:04:35 (1 files) — shopify/scripts/cadence/data/activations-2026-07-21.jsonl -
3788f6292026-07-20 auto-save: 2026-07-20T17:03:17 (1 files) — shopify/scripts/cadence/data/activations-2026-07-20.jsonl -
2a5fba612026-07-20 auto-save: 2026-07-20T11:01:36 (1 files) — shopify/scripts/cadence/data/activations-2026-07-20.jsonl -
a6e83f4d2026-07-20 auto-save: 2026-07-20T04:59:59 (1 files) — shopify/scripts/cadence/data/activations-2026-07-20.jsonl -
f7b47ef72026-07-20 auto-save: 2026-07-20T03:29:38 (1 files) — DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260720T030005.json -
41e8a88c2026-07-20 auto-save: 2026-07-20T02:29:25 (2 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json scripts/room-image-push/ledger.json -
8f11ae0e2026-07-20 auto-save: 2026-07-20T00:59:05 (1 files) — shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl -
f3d133f52026-07-19 auto-save: 2026-07-19T22:58:36 (1 files) — shopify/scripts/cadence/data/activations-2026-07-20.jsonl -
9d13a89e2026-07-19 auto-save: 2026-07-19T16:57:14 (2 files) — shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json shopify/scripts/cadence/data/activations-2026-07-19.jsonl -
2d449ba22026-07-19 auto-save: 2026-07-19T10:56:01 (1 files) — shopify/scripts/cadence/data/activations-2026-07-19.jsonl -
b86fb93d2026-07-19 auto-save: 2026-07-19T08:55:38 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-19.jsonl -
63871c082026-07-19 auto-save: 2026-07-19T07:55:24 (1 files) — shopify/scripts/cadence/data/upload-restore-2026-07-19.jsonl -
8baff8f42026-07-19 auto-save: 2026-07-19T04:54:45 (1 files) — shopify/scripts/cadence/data/activations-2026-07-19.jsonl -
fbb7c2d02026-07-19 auto-save: 2026-07-19T03:24:25 (1 files) — DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260719T030002.json -
9754e0952026-07-19 auto-save: 2026-07-19T02:54:18 (1 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json -
85f44f802026-07-19 auto-save: 2026-07-19T02:24:11 (1 files) — scripts/room-image-push/ledger.json -
d9d59e472026-07-19 auto-save: 2026-07-19T00:53:53 (2 files) — shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/data/bucketB/hollywood-land-20260719T000102.json -
074748d92026-07-19 auto-save: 2026-07-19T00:23:46 (4 files) — shopify/scripts/data/bucketB/annafrench-land-20260719T000102.json shopify/scripts/data/bucketB/coordonne-land-20260719T000102.json shopify/scripts/data/bucketB/grahambrown-land-20260719T000102.json shopify/scripts/data/bucketB/harlequin-land-20260719T000102.json -
8cbaf8522026-07-18 auto-save: 2026-07-18T22:53:23 (1 files) — shopify/scripts/cadence/data/activations-2026-07-19.jsonl -
7ad9e24c2026-07-18 auto-save: 2026-07-18T16:52:08 (2 files) — shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json shopify/scripts/cadence/data/activations-2026-07-18.jsonl -
0a2000a82026-07-18 snapshot: bump submodule pointer(s) -
6adc1c302026-07-18 auto-save: 2026-07-18T10:50:58 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
772194fe2026-07-18 auto-save: 2026-07-18T09:50:45 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
d58da8152026-07-18 auto-save: 2026-07-18T08:50:32 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
fabcbb7c2026-07-18 auto-save: 2026-07-18T07:50:19 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
03b9fb622026-07-18 Coraggio line onboard: vendor-scoped scraper + skill (98 SKUs staged, quote-only) -
4f9d815a2026-07-18 auto-save: 2026-07-18T06:50:05 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
b9fd49122026-07-18 auto-save: 2026-07-18T05:49:50 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
e79dda622026-07-18 auto-save: 2026-07-18T04:49:36 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-18.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
2146f1b72026-07-18 auto-save: 2026-07-18T03:49:23 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
15daea362026-07-18 auto-save: 2026-07-18T03:19:16 (5 files) — DW-Programming/ImportNewSkufromURL/yw-results/latest.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260718T030003.json -
5c8d00672026-07-18 auto-save: 2026-07-18T02:49:10 (10 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
ec23c8552026-07-18 auto-save: 2026-07-18T02:19:03 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh -
a54549e72026-07-18 auto-save: 2026-07-18T01:48:57 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/longtail-land-20260718T000103.json -
40cba9462026-07-18 auto-save: 2026-07-18T00:48:43 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl -
a6d90d062026-07-18 auto-save: 2026-07-18T00:18:37 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260718T000103.json shopify/scripts/data/bucketB/coordonne-land-20260718T000103.json -
d48c32c52026-07-17 auto-save: 2026-07-17T23:48:30 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
13b8e40a2026-07-17 auto-save: 2026-07-17T22:48:14 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/activations-2026-07-18.jsonl -
4baaac972026-07-17 auto-save: 2026-07-17T21:48:00 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
c584c39a2026-07-17 auto-save: 2026-07-17T21:17:52 (5 files) — DW-Programming/ImportNewSkufromURL/lib/scrapers/armani-casa-new-products-scraper.ts pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/scripts/armani-recrawl-artifact.ts -
fc91adb72026-07-17 auto-save: 2026-07-17T20:47:45 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-18.jsonl vendor-scrapers/china-seas-refresh -
0e13b87c2026-07-17 auto-save: 2026-07-17T19:47:29 (351 files) — DW-Agents/dw-agents/ARCHITECTURAL-UPDATE-PROGRESS.md DW-Agents/dw-agents/DWLegalTeam/legal-agent.ts DW-Agents/dw-agents/NEW_CLIENT_SIGNUP_V1.0_CHANGELOG.md DW-Agents/dw-agents/accounting-agent.ts DW-Agents/dw-agents/accounting-agent.ts.backup-pre-theme -
0478a4c32026-07-16 Strip hardcoded Shopify API tokens from source (env-first); no rotation/deploy — response to Shopify exposed-credentials notice -
afc033fa2026-07-16 PR naturals v10 mailer: SISAL tile -> sisal search (page 1), from v9 -
e87f61aa2026-07-16 auto-save: 2026-07-16T08:42:12 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-16.jsonl vendor-scrapers/china-seas-refresh -
719c0e6e2026-07-16 auto-save: 2026-07-16T07:41:55 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-16.jsonl vendor-scrapers/china-seas-refresh -
9ce2eb7e2026-07-16 auto-save: 2026-07-16T07:11:48 (4 files) — DW-Programming/color-enrich-newskus.sh pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
df470f642026-07-16 auto-save: 2026-07-16T05:41:28 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/refresh-broken-images.js -
a35017db2026-07-16 auto-save: 2026-07-16T05:11:21 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-16.jsonl vendor-scrapers/china-seas-refresh -
ac02ee8f2026-07-16 auto-save: 2026-07-16T03:10:54 (5 files) — DW-Programming/ImportNewSkufromURL/yw-results/latest.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260716T030005.json -
3c5c6f3f2026-07-16 auto-save: 2026-07-16T02:40:48 (10 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh -
d05622502026-07-16 auto-save: 2026-07-16T02:10:42 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/longtail-land-20260716T000105.json shopify/scripts/data/bucketB/mindthegap-land-20260716T000105.json -
c74529742026-07-16 auto-save: 2026-07-16T01:10:29 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl vendor-scrapers/china-seas-refresh -
1e2e7ce42026-07-16 auto-save: 2026-07-16T00:40:23 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/coordonne-land-20260716T000105.json shopify/scripts/data/bucketB/grahambrown-land-20260716T000105.json -
21d03c652026-07-16 auto-save: 2026-07-16T00:10:17 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260716T000105.json -
c76865732026-07-15 auto-save: 2026-07-15T23:10:04 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/activations-2026-07-16.jsonl -
d6b866c72026-07-15 auto-save: 2026-07-15T19:09:14 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-16.jsonl vendor-scrapers/china-seas-refresh -
6e2ebf882026-07-15 auto-save: 2026-07-15T18:09:00 (6 files) — DW-Programming/color-enrich-newskus.sh DW-Programming/enrich-active-colors.js pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
a6ee35102026-07-15 auto-save: 2026-07-15T17:08:45 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-15.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
134f9a712026-07-15 color enrichment: nightly new-SKU auto-run ($0 local palette → color_details + color_N metafields) + product_colors sync bridge for shop-by-color + launchd plist (install gated) -
d2557f102026-07-15 auto-save: 2026-07-15T16:38:37 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json vendor-scrapers/china-seas-refresh -
4dbc19542026-07-15 auto-save: 2026-07-15T16:08:29 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
44a1b0752026-07-15 auto-save: 2026-07-15T15:08:15 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
acc6224a2026-07-15 DWKK wrong-join defect: stop trusting corrupt mirror mfr_sku for Kravet pricing -
899b35d42026-07-15 auto-save: 2026-07-15T14:07:06 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
12b724ad2026-07-15 v9 mailer: design-panel refinement (graphic-designer + ui-ux + contrarian gate) — resequenced flow, nav collapse, competitor strip removed, AA gold, dark-mode + images-off resilience -
091657f52026-07-15 bamboo chip: phillipe-romano-naturals showed cork first (browser-verified) -> /collections/phillipe-romano/bamboo (9 true PR bamboo, verified PASS) -
4f9ec5e52026-07-15 PR naturals mailer: every texture link -> vendor+category collection (PR-specific collections; Boost pf_v_brand filter on shared ones) -
fa493f7e2026-07-15 auto-save: 2026-07-15T13:06:41 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
ff0b85622026-07-15 PR naturals mailer: fix 6 malformed collection URLs (& -> ?) + dead Schumacher handle -> vendors collection; all links verified 200 -
336a1b3e2026-07-15 PR naturals mailer: hero → Cape May bamboo room (bad repeat on Diamond Back render); band → photographed Diamond Back install -
066c5f9c2026-07-15 PR naturals mailer: all links → collections (grasscloth/mica/sisal live handles, rest → phillipe-romano) -
db7d12ee2026-07-15 pr-naturals mailer: top logo links to New Arrivals collection -
48b383e02026-07-15 Phillipe Romano naturals mailer: texture-forward campaign reusing DW header/footer, 9/9 validation clean -
fade40aa2026-07-15 auto-save: 2026-07-15T12:06:24 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
9ce058142026-07-15 auto-save: 2026-07-15T11:06:03 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-15.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
fdb376a22026-07-15 auto-save: 2026-07-15T10:05:46 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
2489c25a2026-07-15 auto-save: 2026-07-15T09:05:32 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
1cb8b8232026-07-15 auto-save: 2026-07-15T08:35:26 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
43d349222026-07-15 auto-save: 2026-07-15T08:05:18 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
1bc318862026-07-15 auto-save: 2026-07-15T07:35:12 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
d1e561372026-07-15 auto-save: 2026-07-15T07:05:05 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
3fff9f852026-07-15 auto-save: 2026-07-15T06:04:51 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
f942de602026-07-15 auto-save: 2026-07-15T05:04:38 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-15.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
c229b9f42026-07-15 auto-save: 2026-07-15T04:04:26 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
103901752026-07-15 auto-save: 2026-07-15T03:04:14 (9 files) — DW-Programming/ImportNewSkufromURL/yw-results/latest.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
7e751a872026-07-15 auto-save: 2026-07-15T02:34:08 (7 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh -
8f4612f52026-07-15 auto-save: 2026-07-15T02:04:02 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/longtail-land-20260715T000105.json -
dd8ac1d22026-07-15 auto-save: 2026-07-15T01:03:51 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
65b579872026-07-15 auto-save: 2026-07-15T00:33:42 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/coordonne-land-20260715T000105.json shopify/scripts/data/bucketB/grahambrown-land-20260715T000105.json -
2fad76162026-07-15 auto-save: 2026-07-15T00:03:37 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260715T000105.json -
7c0693a02026-07-14 auto-save: 2026-07-14T23:03:25 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/activations-2026-07-15.jsonl -
185558f32026-07-14 auto-save: 2026-07-14T22:03:13 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
87636f882026-07-14 auto-save: 2026-07-14T21:02:55 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
43bec5152026-07-14 auto-save: 2026-07-14T20:02:42 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
442e3eb32026-07-14 auto-save: 2026-07-14T19:02:30 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl vendor-scrapers/china-seas-refresh -
3a090db92026-07-14 auto-save: 2026-07-14T18:02:18 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/upload-restore-2026-07-15.jsonl -
23e72adb2026-07-14 auto-save: 2026-07-14T17:32:12 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
ada9d0812026-07-14 auto-save: 2026-07-14T17:02:06 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-14.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl -
c26c67ec2026-07-14 auto-save: 2026-07-14T16:32:00 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json vendor-scrapers/china-seas-refresh -
0f84f6cb2026-07-14 auto-save: 2026-07-14T16:01:53 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
75d045e92026-07-14 auto-save: 2026-07-14T15:31:47 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
883ada1e2026-07-14 auto-save: 2026-07-14T15:01:41 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
4cfa71b52026-07-14 auto-save: 2026-07-14T14:31:35 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
898ad7002026-07-14 auto-save: 2026-07-14T14:01:28 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
8c05ef7c2026-07-14 auto-save: 2026-07-14T13:31:22 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
4f9e20722026-07-14 auto-save: 2026-07-14T13:01:14 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
784f159c2026-07-14 auto-save: 2026-07-14T12:31:06 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
7af408e62026-07-14 auto-save: 2026-07-14T12:00:58 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
d744ef382026-07-14 auto-save: 2026-07-14T11:30:48 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
5a1327432026-07-14 auto-save: 2026-07-14T11:00:40 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-14.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl -
bd69dbc22026-07-14 Activate 9 repaired Versace articles: verified AS-Creation images + specs + double-roll, live on Shopify -
f9f91dd12026-07-14 auto-save: 2026-07-14T10:30:32 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/attach-versace-nan-images.js -
0996e0362026-07-14 Versace cleanup: revert 11 Smart Art borders to single-roll + repair 9 DWVS-NaN SKUs to DWVS-<mfr> and DRAFT them -
f124efc42026-07-14 auto-save: 2026-07-14T10:00:24 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
3839101f2026-07-14 Set Versace line (111 SKUs: 11 VER- gaps + 100 DWVS-) to double-rolls-only on live Shopify + mirror -
deb759eb2026-07-14 auto-save: 2026-07-14T09:30:17 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
1658ef6b2026-07-14 auto-save: 2026-07-14T09:00:07 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
f252172f2026-07-14 auto-save: 2026-07-14T08:29:59 (16 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/wallquest-refresh/activate-daisy-bennett.cjs scripts/wallquest-refresh/interior-design-enrich.cjs -
af7aaa542026-07-14 auto-save: 2026-07-14T07:59:52 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
c296b9f82026-07-14 auto-save: 2026-07-14T06:59:38 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
88ba1f3c2026-07-14 auto-save: 2026-07-14T06:29:31 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
99e3a80c2026-07-14 auto-save: 2026-07-14T05:59:19 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
a7ad84bd2026-07-14 auto-save: 2026-07-14T05:29:12 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
b21af2fc2026-07-14 auto-save: 2026-07-14T04:59:06 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-14.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl -
04a0e3bd2026-07-14 auto-save: 2026-07-14T04:28:59 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
8de09a712026-07-14 auto-save: 2026-07-14T03:58:52 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
d1ee4dfc2026-07-14 auto-save: 2026-07-14T03:28:47 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260714T030002.json -
15065c9f2026-07-14 auto-save: 2026-07-14T02:58:41 (10 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl -
c3c215e92026-07-14 auto-save: 2026-07-14T02:28:34 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh -
d9fed3bd2026-07-14 auto-save: 2026-07-14T01:58:27 (8 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl vendor-scrapers/china-seas-refresh -
d0f488332026-07-14 auto-save: 2026-07-14T01:28:20 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
956dc10f2026-07-14 auto-save: 2026-07-14T00:58:14 (7 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl -
b06f5e9f2026-07-14 auto-save: 2026-07-14T00:28:06 (9 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260714T000105.json -
77c588112026-07-13 auto-save: 2026-07-13T23:57:59 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
01db0eb32026-07-13 auto-save: 2026-07-13T23:27:51 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
7bcf51112026-07-13 auto-save: 2026-07-13T22:57:44 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/activations-2026-07-14.jsonl -
4c01a3a92026-07-13 auto-save: 2026-07-13T22:27:32 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
78f974512026-07-13 auto-save: 2026-07-13T21:57:26 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
a5b78da82026-07-13 auto-save: 2026-07-13T21:27:19 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
a7458f972026-07-13 auto-save: 2026-07-13T20:57:13 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
7a8a248d2026-07-13 auto-save: 2026-07-13T20:27:07 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
c838227d2026-07-13 auto-save: 2026-07-13T19:57:00 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
8fde9b052026-07-13 auto-save: 2026-07-13T19:26:53 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
c5bb89362026-07-13 auto-save: 2026-07-13T18:56:46 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
7b3eac912026-07-13 auto-save: 2026-07-13T18:26:38 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
10cccc652026-07-13 auto-save: 2026-07-13T17:56:31 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/upload-restore-2026-07-14.jsonl -
5bb72f2c2026-07-13 auto-save: 2026-07-13T17:26:24 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
243a09c42026-07-13 auto-save: 2026-07-13T16:56:17 (7 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json shopify/scripts/cadence/data/activations-2026-07-13.jsonl -
22f6cb152026-07-13 auto-save: 2026-07-13T16:26:08 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
040cc3a02026-07-13 auto-save: 2026-07-13T15:55:55 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
a5d6d9cb2026-07-13 auto-save: 2026-07-13T15:25:47 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
dea3ddbd2026-07-13 auto-save: 2026-07-13T14:55:38 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
22210ed42026-07-13 auto-save: 2026-07-13T14:25:31 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
36ed6bc32026-07-13 auto-save: 2026-07-13T13:55:23 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
07d4fb622026-07-13 auto-save: 2026-07-13T13:25:16 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
c9853c042026-07-13 auto-save: 2026-07-13T12:55:05 (9 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json DW-Programming/ImportNewSkufromURL/scripts/run-all-vendor-scrapers.ts pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price -
314eb7292026-07-13 banned-word backstop extended to TAGS at the drain chokepoint (audit caught 'decor wallpaper' tag on a clean-titled draft); swept all 70 of today's drafts clean via API -
a56af2022026-07-13 auto-save: 2026-07-13T12:24:56 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl DW-Programming/ImportNewSkufromURL/scripts/run-all-vendor-scrapers.ts DW-Programming/ImportNewSkufromURL/scripts/scraper-healthcheck.ts pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price -
5f5d633d2026-07-13 auto-save: 2026-07-13T11:54:48 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
362375db2026-07-13 auto-save: 2026-07-13T11:24:39 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
e6245d8e2026-07-13 auto-save: 2026-07-13T10:54:28 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-13.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl -
5bbdd74e2026-07-13 local-first extraction: richness gate (>=1 img, >=3 tags, sku) so valid-but-empty hermes3 output can't birth hollow drafts; num_ctx 8192->24576 (prompt overflow was truncating instructions -> empty extractions); log schema issues on invalid -
2409e85d2026-07-13 drain hardening: INT/TERM traps now exit (bare cleanup trap made drivers unkillable + lockless → two immortal drivers raced the queues); in-flight dedup rejections refund the attempt instead of terminal-failing -
e107ff3e2026-07-13 fix: launchd bare-node PATH bug in two DW scheduled jobs -
b20f45ae2026-07-13 extraction goes LOCAL-FIRST (EXTRACT_PREFER_LOCAL=1, hermes3:8b) — bulk drain no longer chews Max-plan quota; fix dead qwen2.5 fallback default (never installed); ensure-import-app heals browsers via symlink not install (install prunes cache dirs + memoized checks need app restart) -
d44bb4b12026-07-13 ensure-import-app: install browsers via APP-LOCAL playwright cli — npx resolved a different build (installed shell-1228 while app pins shell-1200), so the heal never healed -
32393d922026-07-13 auto-save: 2026-07-13T09:54:06 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
7e9160d72026-07-13 auto-save: 2026-07-13T08:53:46 (11 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/.drain-STOP DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl DW-Programming/ImportNewSkufromURL/lib/scrapers/catchii-new-products-scraper.ts DW-Programming/ImportNewSkufromURL/package-lock.json DW-Programming/ImportNewSkufromURL/package.json -
91304e052026-07-13 chore: session-close quality gate — hoist sleep/isSample to module scope, align API_VERSION fallback to 2024-10, version bump -
615561a22026-07-13 drain self-heal round 2: missing playwright browsers treated as env failure (refund attempt, auto npx playwright install in ensure-import-app, resurrect pattern widened); app restarted onto playwright 1.57 binaries -
84bb022a2026-07-13 import drain self-heals: backend-down never burns item attempts (refund+heal via ensure-import-app.sh), driver resurrects infra-failed items each pass and never exits on drained, :9830 app now pm2-supervised; 1027 brewster items requeued -
d90232b22026-07-13 auto-save: 2026-07-13T08:23:39 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/scripts/ensure-import-app.sh -
2e6753722026-07-13 auto-save: 2026-07-13T07:53:32 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
de9f77602026-07-13 auto-save: 2026-07-13T06:53:18 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
a598a1452026-07-13 auto-save: 2026-07-13T05:53:04 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
9587f6ae2026-07-13 auto-save: 2026-07-13T04:52:51 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-13.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
41e7bc7b2026-07-13 auto-save: 2026-07-13T03:52:38 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
c02d145d2026-07-13 auto-save: 2026-07-13T03:22:32 (5 files) — DW-Programming/ImportNewSkufromURL/yw-results/latest.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260713T030001.json -
e18b0c932026-07-13 auto-save: 2026-07-13T02:52:26 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/phillipromano-land-20260713T000105.json -
87598f1a2026-07-13 auto-save: 2026-07-13T02:22:18 (8 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh -
4b9ff7732026-07-13 auto-save: 2026-07-13T01:52:00 (6 files) — DW-Programming/ImportNewSkufromURL/lib/scrapers/catchii-new-products-scraper.ts DW-Programming/ImportNewSkufromURL/scripts/drain-import-queues.sh pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl -
bb0ac5712026-07-13 auto-save: 2026-07-13T00:51:43 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
40bd9acc2026-07-13 auto-save: 2026-07-13T00:21:34 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260713T000105.json shopify/scripts/data/bucketB/coordonne-land-20260713T000105.json -
f845ced42026-07-13 brands-grid: stage ÉLITIS mark as elitis-wallcoverings.png (collection-slug fallback) -
fa9fa2f22026-07-13 Wire mirrorWriteThrough into houston-mfr-fix + pr-quote-only-tag: future runs self-reconcile the mirror (retrofit, session close) -
7f72958e2026-07-12 auto-save: 2026-07-12T23:21:12 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/houston-mfr-fix.js scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
2e744e462026-07-12 auto-save: 2026-07-12T22:51:02 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/activations-2026-07-13.jsonl -
69cb78672026-07-12 auto-save: 2026-07-12T21:50:32 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
e8f796fd2026-07-12 auto-save: 2026-07-12T20:50:13 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
0babc7b62026-07-12 auto-save: 2026-07-12T19:49:54 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
95f1b1472026-07-12 Add mirrorWriteThrough() helper: sync local mirror at Shopify write-time (closes metafield-not-read-back gap; force-add past shopify/lib gitignore like validate-before-activate.js) -
58428aa32026-07-12 auto-save: 2026-07-12T18:49:42 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl vendor-scrapers/china-seas-refresh -
0998a73d2026-07-12 auto-save: 2026-07-12T17:49:31 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/upload-restore-2026-07-13.jsonl -
6cc14ada2026-07-12 auto-save: 2026-07-12T16:49:19 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-12.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
515184ca2026-07-12 auto-save: 2026-07-12T15:49:08 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
f2072a142026-07-12 auto-save: 2026-07-12T14:48:51 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
61ddb9872026-07-12 auto-save: 2026-07-12T13:48:29 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
fe8141942026-07-12 auto-save: 2026-07-12T12:48:16 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
a798cd482026-07-12 Fix fail-loud false-positive: page-1-empty guard only fires in FULL mode (quick mode 0-new is valid) -
977a52912026-07-12 Harden mirror sync: dotenv self-load (no more token-less silent fail) + fail-loud on GraphQL error / page-1 empty (was exiting 0 on auth failure) -
39fa428b2026-07-12 auto-save: 2026-07-12T11:48:02 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
c132a2ee2026-07-12 auto-save: 2026-07-12T10:47:45 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-12.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
6d39087c2026-07-12 Fix same silent-throttle bug in quote-only tagging: throttle/429/null-data detect + retry + failed.csv -
d1ffa01d2026-07-12 auto-save: 2026-07-12T10:17:36 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 reports/mfr-houston/mfr-fix-manifest.csv reports/mfr-houston/needs-manual-mfr.csv scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
0c1bf6d12026-07-12 Fix silent-throttle bug in mfr push: detect top-level errors/null-data/429, retry w/ backoff, adaptive pacing, honest accounting + failed.csv -
60525f462026-07-12 PR quote-only tagging tool + manifest (DTD verdict C: quote-only now, cost-price later) -
4c92058f2026-07-12 auto-save: 2026-07-12T09:47:28 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 reports/mfr-houston/mfr-fix-manifest.csv reports/mfr-houston/needs-manual-mfr.csv scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl -
c7c7005a2026-07-12 Houston mfr-fix: emit needs-manual-mfr list (contrarian fix — no silent drop of unresolvable placeholders) -
179df9712026-07-12 Houston mfr-fix: placeholder mfr_sku==dw_sku detector + cleaned dry-run manifest (7,044 fixable, 693 reactivation candidates) -
5537c7d82026-07-12 auto-save: 2026-07-12T08:47:12 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
d5c831352026-07-12 PDP Design Coordinate fix: hide AI placeholder half (was ~50% dead href=# links); LIVE product.liquid + backup -
c0f70def2026-07-12 auto-save: 2026-07-12T07:46:59 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
53e499ba2026-07-12 auto-save: 2026-07-12T06:46:47 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
55bd9ef12026-07-12 auto-save: 2026-07-12T05:46:36 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
bc1fa6202026-07-12 auto-save: 2026-07-12T04:46:24 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-12.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
fdff99142026-07-12 auto-save: 2026-07-12T03:46:14 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
409044522026-07-12 auto-save: 2026-07-12T03:16:08 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260712T030000.json -
7e7dfe692026-07-12 auto-save: 2026-07-12T02:46:03 (10 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
5f5d98b52026-07-12 auto-save: 2026-07-12T02:15:57 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/mindthegap-land-20260712T000105.json -
df68b44a2026-07-12 auto-save: 2026-07-12T01:45:51 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/longtail-land-20260712T000105.json -
4abc8ae62026-07-12 auto-save: 2026-07-12T00:45:38 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
70e238912026-07-12 auto-save: 2026-07-12T00:15:33 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260712T000105.json shopify/scripts/data/bucketB/coordonne-land-20260712T000105.json -
ca535b8c2026-07-11 auto-save: 2026-07-11T22:45:16 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/activations-2026-07-12.jsonl -
78df00612026-07-11 auto-save: 2026-07-11T20:44:55 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
ec6077f32026-07-11 auto-save: 2026-07-11T19:44:45 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
b0e715e22026-07-11 auto-save: 2026-07-11T18:44:33 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl vendor-scrapers/china-seas-refresh -
204378722026-07-11 auto-save: 2026-07-11T17:44:22 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/upload-restore-2026-07-12.jsonl -
493c3d202026-07-11 auto-save: 2026-07-11T16:44:11 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-11.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
493e9c022026-07-11 auto-save: 2026-07-11T15:43:59 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
ea47fa5d2026-07-11 auto-save: 2026-07-11T14:43:48 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
4d62bbcc2026-07-11 auto-save: 2026-07-11T13:43:37 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
a856a7782026-07-11 auto-save: 2026-07-11T12:43:24 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
9ecc42072026-07-11 auto-save: 2026-07-11T11:43:10 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
683fff362026-07-11 auto-save: 2026-07-11T10:42:59 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-11.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
144dd04a2026-07-11 auto-save: 2026-07-11T09:42:46 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
441559e52026-07-11 auto-save: 2026-07-11T08:42:28 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
15a03aac2026-07-11 auto-save: 2026-07-11T07:42:17 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
b87f69662026-07-11 auto-save: 2026-07-11T06:42:06 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
78fe0fe12026-07-11 auto-save: 2026-07-11T05:41:55 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
97e91cfd2026-07-11 auto-save: 2026-07-11T04:41:44 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-11.jsonl shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
1207d3882026-07-11 auto-save: 2026-07-11T03:41:33 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
e29cf41e2026-07-11 auto-save: 2026-07-11T03:11:28 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260711T030002.json -
b22315072026-07-11 auto-save: 2026-07-11T02:41:22 (11 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/room-image-push/ledger.json shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl -
6e4381c32026-07-11 auto-save: 2026-07-11T02:11:17 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/longtail-land-20260711T000105.json shopify/scripts/data/bucketB/mindthegap-land-20260711T000105.json -
ede75c992026-07-11 auto-save: 2026-07-11T01:41:12 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
313fe51e2026-07-11 auto-save: 2026-07-11T01:11:07 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/audits/doubleroll-lengths-brewster-before.jsonl shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl -
0ebcdbdb2026-07-11 auto-save: 2026-07-11T00:41:01 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/grahambrown-land-20260711T000105.json -
c42dca462026-07-11 auto-save: 2026-07-11T00:10:56 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260711T000105.json shopify/scripts/data/bucketB/coordonne-land-20260711T000105.json -
93ed39712026-07-10 auto-save: 2026-07-10T23:40:50 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
976245952026-07-10 auto-save: 2026-07-10T23:10:45 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-11.jsonl shopify/scripts/cadence/vendors.js shopify/scripts/luxury-draft-import/import-luxury-drafts.js -
cad7004c2026-07-10 auto-save: 2026-07-10T22:40:39 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/activations-2026-07-11.jsonl -
3510746f2026-07-10 auto-save: 2026-07-10T21:40:28 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/schu-pillow-strip-sample.js -
ecc70b502026-07-10 auto-save: 2026-07-10T20:40:18 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
a3baf7c32026-07-10 auto-save: 2026-07-10T20:10:12 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
147e56192026-07-10 auto-save: 2026-07-10T19:40:07 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
a2c651122026-07-10 auto-save: 2026-07-10T19:10:01 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl vendor-scrapers/china-seas-refresh -
ec526c0b2026-07-10 auto-save: 2026-07-10T18:09:50 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/upload-restore-2026-07-11.jsonl -
a28da72d2026-07-10 Schumacher pillow reprice full batch report: 349 repriced, 119 archived, 3 flagged, 0 errors -
f208ebe62026-07-10 Schumacher pillow reprice script + verified live pilot (3 pillows: DWPIL-5054/2054/2064 -> priced Pillow variant, sample dropped, mfr_sku fixed) -
0259e13a2026-07-10 auto-save: 2026-07-10T17:09:33 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl vendor-scrapers/china-seas-refresh -
eaa4f1fb2026-07-10 auto-save: 2026-07-10T16:39:26 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-10.jsonl vendor-scrapers/china-seas-refresh -
f3f6ce3d2026-07-10 auto-save: 2026-07-10T16:09:20 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl vendor-scrapers/china-seas-refresh -
947580192026-07-10 auto-save: 2026-07-10T15:09:07 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl vendor-scrapers/china-seas-refresh -
1f2a3a612026-07-10 auto-save: 2026-07-10T14:39:00 (7 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/schu-api-recrawl.js vendor-scrapers/china-seas-refresh -
65a5023e2026-07-10 auto-save: 2026-07-10T14:08:52 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl vendor-scrapers/china-seas-refresh -
a68ab1ce2026-07-10 auto-save: 2026-07-10T13:08:29 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl vendor-scrapers/china-seas-refresh -
0b3ab0242026-07-10 auto-save: 2026-07-10T12:38:21 (4 files) — _dw-login-record.mjs pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh -
45d52c932026-07-10 auto-save: 2026-07-10T12:08:12 (6 files) — DW-Programming/schu_pillow_apisniff.mjs pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl vendor-scrapers/china-seas-refresh -
4bfcd4e02026-07-10 auto-save: 2026-07-10T11:38:04 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/schu-refresh-harvest.mjs DW-Programming/schu_pillow_apisniff.mjs -
f8c346832026-07-10 auto-save: 2026-07-10T11:07:57 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/audits/doubleroll-lengths-brewster-before.jsonl shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl -
c5d1d1af2026-07-10 auto-save: 2026-07-10T10:37:42 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/wallquest-refresh/lillian-august-onboard-viewer/compare.html vendor-scrapers/china-seas-refresh -
9200cba42026-07-10 auto-save: 2026-07-10T09:14:58 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/wallquest-refresh/lillian-august-onboard-viewer/compare.html shopify/package-lock.json shopify/package.json -
76fdfd3b2026-07-10 New-books 3-engine room compare: comparative VLM judge + auto-apply winner -
e1e0b9dd2026-07-10 auto-save: 2026-07-10T08:44:50 (6 files) — DW-Programming/ImportNewSkufromURL/yw-overnight-run.sh pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/wallquest-refresh/lillian-august-onboard-viewer/compare.html shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl -
57eb7ed72026-07-10 auto-save: 2026-07-10T08:14:41 (11 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl DW-Programming/ImportNewSkufromURL/yw-costcheck.js DW-Programming/ImportNewSkufromURL/yw-overnight-run.sh DW-Programming/ImportNewSkufromURL/yw-results/437-RD336-20260710T030005.json DW-Programming/ImportNewSkufromURL/yw-results/latest.json -
bec3d7682026-07-10 auto-save: 2026-07-10T07:44:35 (7 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-10.json -
a43dc36e2026-07-10 PR real-textile cadence DRIP (leak-safe): push --limit + drip runner + launchd draft -
bff72e452026-07-10 auto-save: 2026-07-10T06:44:22 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-10.json shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl -
e5973eca2026-07-10 auto-save: 2026-07-10T05:44:08 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-10.json shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl -
9bb6c7db2026-07-10 auto-save: 2026-07-10T05:14:01 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/activations-2026-07-10.jsonl vendor-scrapers/china-seas-refresh -
52af1e322026-07-10 auto-save: 2026-07-10T04:43:55 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-10.json shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl -
db799bc22026-07-10 auto-save: 2026-07-10T03:43:43 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-10.json shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl -
81b4d8942026-07-10 auto-save: 2026-07-10T03:13:36 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yw-results/ -
899603a32026-07-10 auto-save: 2026-07-10T02:43:29 (13 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price scripts/room-image-push/ledger.json shopify/scripts/cadence/data/cadence-cursor.json -
4990fac82026-07-10 auto-save: 2026-07-10T02:13:23 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/longtail-land-20260710T000105.json shopify/scripts/data/bucketB/mindthegap-land-20260710T000105.json -
be64f1852026-07-10 auto-save: 2026-07-10T01:43:16 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-10.json shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl -
f7a1df8b2026-07-10 auto-save: 2026-07-10T00:43:01 (11 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/pr-contact-for-price shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl shopify/scripts/cadence/data/cadence-cursor.json -
e468b2fd2026-07-10 auto-save: 2026-07-10T00:12:54 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh scripts/pr-contact-for-price/ shopify/scripts/data/bucketB/annafrench-land-20260710T000105.json shopify/scripts/data/bucketB/coordonne-land-20260710T000105.json -
9d2b6d262026-07-09 stage yorkwall trade-portal cost/stock scraper + overnight one-shot runner -
a4a392622026-07-09 auto-save: 2026-07-09T23:42:48 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/set-doubleroll-lengths.py vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yw-costcheck.js -
d4b939ce2026-07-09 WallQuest onboard: gated Phillipe Romano draft-push (per-yard, settlement-filtered) -
3252281c2026-07-09 catalog-push: HARDEN sync bucket to missing/empty tables ONLY — never --clean an existing populated table (that doubled wolf_gordon 5469→10952 when a dependency blocked its DROP and mac3's rows appended). Existing-with-data divergence in either direction → REVIEW only. -
9aa0dfb92026-07-09 auto-save: 2026-07-09T23:12:38 (10 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/yorkwall-costcheck-probe.js -
65004b342026-07-09 catalog-push: diff-based redesign w/ two-bucket safety (sync only mac3-fuller/missing; flag Kamatera-fuller for review). Prevents the data-loss the blanket --clean would cause — 32/42 divergent tables are FULLER on Kamatera (spoonflower 125850 vs 573, osborne 14107 vs 787). +mkdir lock, --inserts, superuser source, re-grant, exclude vendor_catalog -
8de32f952026-07-09 WallQuest onboard: swatch DL + local qwen2.5vl enrich + rooms + settlement gate -
3483fed82026-07-09 WallQuest real-textile onboard pipeline: normalize + load + beach-city naming -
e70419812026-07-09 auto-save: 2026-07-09T22:42:31 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/config/README-internal-lines.md -
6c61a8162026-07-09 auto-save: 2026-07-09T22:12:24 (10 files) — package-lock.json pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/active-2026-and-all-channels.js shopify/scripts/cadence/activate-gated.js shopify/scripts/cadence/cadence-import.js -
743dc0592026-07-09 chore: v1.2.1 — node-fetch→globalThis codemod (session close) -
2d06b02a2026-07-09 chore: test-koroseal-sample.ts node-fetch require → globalThis.fetch (Node 26) -
7d1e0a322026-07-09 chore: codemod 46 DW scripts node-fetch require → globalThis.fetch (Node 26) -
1566feb72026-07-09 auto-save: 2026-07-09T20:42:07 (53 files) — DW-Programming/ImportNewSkufromURL/find-recent-sancar.js DW-Programming/ImportNewSkufromURL/remove-sancar-name.js DW-Programming/ImportNewSkufromURL/test-api-response.js DW-Programming/maya-romanoff-updater/fix-dwjs-titles.js DW-Programming/maya-romanoff-updater/maya-romanoff-updater.js -
1b4954932026-07-09 fix luxury importer: nextNumber reads staging max (no SKU reuse) + mirror-repair destructure + boolean coercion -
217795cb2026-07-09 add luxury-line DRAFT importer (Fromental/Gracie/Zuber, quote-only, settlement-held) -
42ffdd9a2026-07-09 auto-save: 2026-07-09T19:41:55 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-10.json shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl vendor-scrapers/china-seas-refresh -
564caf212026-07-09 WallQuest scraper: harden login vs NEW Cloudflare challenge (+reCAPTCHA) -
c2c68ac62026-07-09 auto-save: 2026-07-09T18:41:42 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-10.json shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl vendor-scrapers/china-seas-refresh -
6e27c66c2026-07-09 Fix 2: drive per-yard-fabric min from Kravet master sheet (137->1, leave genuine 6@2 + 1@2.77) -
8414f2802026-07-09 Add Fix 2 (gated, dry-run): set v_prods_quantity_order_min=1 on per-yard fabrics; MOQ decision required -
72f9c4d32026-07-09 auto-save: 2026-07-09T18:11:36 (3 files) — package-lock.json pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh -
4cbe776d2026-07-09 chore: v1.2.0 — QH width classifier + sync fetch fix (session close) -
1e1e52152026-07-09 auto-save: 2026-07-09T17:41:31 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-pm-2026-07-10.json shopify/scripts/cadence/data/upload-restore-2026-07-10.jsonl -
689940cd2026-07-09 auto-save: 2026-07-09T17:11:25 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/activations-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
2a0914ce2026-07-09 auto-save: 2026-07-09T16:41:19 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
bbea54be2026-07-09 Retarget roll-on-fabric detector to real cause: theme srEnhance mislabels per-yard UFAC=2 goods -
964e0b6d2026-07-09 Ship color-palette REFINE (DEDUP_DE + dwCiReveal + slider un-hide) to LIVE theme 144076931123; mark refine DONE -
0f3780cd2026-07-09 Add roll-on-fabric detector (bucket1 genuine-fabric-on-roll vs bucket2 mistyped-wallpaper) -
ed16c8e22026-07-09 auto-save: 2026-07-09T16:11:12 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh scripts/wallquest-refresh/cp-harness.html scripts/wallquest-refresh/cp-refine-shots/after-01-rest.png scripts/wallquest-refresh/cp-refine-shots/after-02-low.png -
7fa268bf2026-07-09 Refine PDP color-palette: fix invisible density slider, dedup near-duplicate dots, premium slider + color-index grid chrome -
5718e91a2026-07-09 fix(sync): use global fetch in sync-shopify-products — daily mirror sync dead since 07-07 -
7905bd622026-07-09 auto-save: 2026-07-09T15:41:06 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
de820d482026-07-09 auto-save: 2026-07-09T15:11:01 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl -
9c5421632026-07-09 auto-save: 2026-07-09T14:40:55 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl shopify/theme-LIVE-591-freshpull-20260709/snippets/color-palette.liquid vendor-scrapers/china-seas-refresh -
dc01631b2026-07-09 color-palette: density-slider push script + pending-approval memo; retire stale 20-cap memo+script (Steve 2026-07-09d) -
be3bcbd12026-07-09 color-palette: density slider anchor — dots become user-adjustable (default 20, range 6-64, localStorage dw_palette_dot_count). NOTE: snippet content landed in f72482f6 (auto-save cadence swept the working tree first); this anchor documents the change. Steve 2026-07-09d -
f72482f62026-07-09 cadence: QH real-width classifier — 54in→Fabric, 27in→Wallcovering (Steve 2026-07-09) -
83701d752026-07-09 stage: 20-dot color-palette cap — LIVE push script + pending-approval memo (gated) -
e3b557162026-07-09 cadence: Quadrille-house 54-inch rule → Fabric (Steve 2026-07-09) -
9a0496ce2026-07-09 auto-save: 2026-07-09T13:40:43 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
c210a1c22026-07-09 auto-save: 2026-07-09T13:10:36 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
def1103e2026-07-09 auto-save: 2026-07-09T12:40:29 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
fc8120852026-07-09 auto-save: 2026-07-09T12:10:23 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
bacbf70a2026-07-09 auto-save: 2026-07-09T11:40:18 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
c18bea362026-07-09 auto-save: 2026-07-09T11:10:13 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/activations-2026-07-09.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl -
6bdee1d92026-07-09 auto-save: 2026-07-09T10:40:07 (2 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
3816d8b22026-07-09 auto-save: 2026-07-09T10:10:01 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
f4e6d3152026-07-09 auto-save: 2026-07-09T09:39:56 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 pending-approval/color-dot-index-10pct-tolerance-2026-07-09/MEMO.md pending-approval/color-dot-index-10pct-tolerance-2026-07-09/push-to-live.sh shopify/theme-LIVE-591/snippets/color-palette.liquid vendor-scrapers/china-seas-refresh -
0da7a73d2026-07-09 ship: color-dot 10% CIELAB tolerance grid — STEP 1 (dwphoto /apps/color-index live) + STEP 2 (theme snippet live #144076931123); memo → DONE -
3baf80b02026-07-09 pending-approval: color-dot index-of-many 10% tolerance memo + push script (2026-07-09) -
c7633ec42026-07-09 auto-save: 2026-07-09T09:09:49 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/theme-LIVE-591-freshpull-20260709/snippets/color-palette.liquid vendor-scrapers/china-seas-refresh -
78f9bfbe2026-07-09 cadence: sample-only importer titles/describes Fabric lines as Fabric, not Wallcoverings -
0d7f32d82026-07-09 Alan Campbell: re-sweep 103 new-arrival products wallcovering->fabric (title/tags/desc) -
8a467c312026-07-09 color-dot deep-link SHIPPED to live theme #144076931123; memo → DONE- -
6a1dfb5e2026-07-09 pending-approval: color-dot specific-product deeplink memo + staged push script (2026-07-09) -
6c3ffae72026-07-09 auto-save: 2026-07-09T08:09:34 (7 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl -
bbf71b112026-07-09 shop-by-color: client-side href fix for 6 dead color-tab handles -
a58a07822026-07-09 auto-save: 2026-07-09T07:39:29 (3 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh -
b9f7c85d2026-07-09 auto-save: 2026-07-09T07:09:24 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
811288c22026-07-09 auto-save: 2026-07-09T06:09:13 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
a1719fc82026-07-09 auto-save: 2026-07-09T05:09:02 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/activations-2026-07-09.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl -
bfa1a84d2026-07-09 auto-save: 2026-07-09T04:08:49 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
635fe57d2026-07-09 auto-save: 2026-07-09T03:08:39 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
6fee3b5e2026-07-09 auto-save: 2026-07-09T02:38:33 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/phillipromano-land-20260709T000104.json -
f947a3122026-07-09 auto-save: 2026-07-09T02:08:28 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
8c1cde7b2026-07-09 auto-save: 2026-07-09T01:08:17 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl -
34f0d3a12026-07-09 auto-save: 2026-07-09T00:38:11 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/coordonne-land-20260709T000104.json shopify/scripts/data/bucketB/grahambrown-land-20260709T000104.json shopify/scripts/data/bucketB/harlequin-land-20260709T000104.json -
06bacc652026-07-09 auto-save: 2026-07-09T00:08:06 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260709T000104.json -
80c2f9e12026-07-08 auto-save: 2026-07-08T23:07:56 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/activations-2026-07-09.jsonl -
f7f37b822026-07-08 auto-save: 2026-07-08T21:07:34 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
e1cf88dd2026-07-08 auto-save: 2026-07-08T20:07:23 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
f5a863a22026-07-08 auto-save: 2026-07-08T19:07:13 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl vendor-scrapers/china-seas-refresh -
694c15822026-07-08 auto-save: 2026-07-08T18:07:01 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-pm-2026-07-09.json shopify/scripts/cadence/data/upload-restore-2026-07-09.jsonl -
15356b1a2026-07-08 auto-save: 2026-07-08T17:06:50 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/activations-2026-07-08.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl -
c3e9a9f12026-07-08 auto-save: 2026-07-08T16:06:38 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh -
fd035f272026-07-08 GMC re-gate: exclude Google & YouTube publication from all product-publish chokepoints (Steve policy 2026-07-08) -
79f6183d2026-07-08 auto-save: 2026-07-08T15:06:23 (8 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl -
3046c4932026-07-08 color tabs: fix dead collection handles (blue-wallpaper, grey-silver) + interpolated even-row PDP palette -
fa4533412026-07-08 auto-save: 2026-07-08T14:36:14 (3 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh -
aa8cff6a2026-07-08 auto-save: 2026-07-08T14:06:04 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh -
36a54f982026-07-08 auto-save: 2026-07-08T13:05:49 (10 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl shopify/scripts/catalog-push-to-kamatera.sh -
8db744642026-07-08 auto-save: 2026-07-08T12:35:41 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/catalog-push-to-kamatera.sh vendor-scrapers/china-seas-refresh shopify/scripts/audits/harmonize-wallquest-units-before.jsonl shopify/scripts/harmonize-wallquest-length-units.py -
59d5c2f82026-07-08 standing mac3->Kamatera catalog push: additive nightly sync of all *_catalog tables (keeps Kamatera grid enrichment — mfr-SKU search, stock — current; closes the cross-host staging-table gap) -
881cc0562026-07-08 auto-save: 2026-07-08T12:05:34 (11 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/audits/doubleroll-lengths-brewster-before.jsonl shopify/scripts/audits/doubleroll-lengths-thibaut-before.jsonl shopify/scripts/audits/doubleroll-lengths-wallquest-before.jsonl shopify/scripts/cadence/data/cadence-cursor.json -
2983280e2026-07-08 auto-save: 2026-07-08T11:05:21 (13 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/audits/dwtt-doubleroll-before-state.jsonl shopify/scripts/cadence/data/activations-2026-07-08.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json -
7f189ae92026-07-08 Double-roll S/R+D/R lengths: new sqft-classified script (single vs bolt per product) + theme renders explicit single/double_roll_length rows (fixes Thibaut halving mismatch); Thibaut live 2198 mf -
14e4dd9e2026-07-08 auto-save: 2026-07-08T10:35:15 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/audits/dwtt-doubleroll-before-state.jsonl vendor-scrapers/china-seas-refresh -
6dc6439c2026-07-08 PDP color palette: shrink swatches to ~1/3 (84->28px) + link each color to storefront search for all published SKUs of that color (live theme 144076931123) -
7decbc762026-07-08 Thibaut double-roll: automate — importer stamps min/step=2 at birth (add Thibaut to DOUBLE_ROLL_VENDORS) + once-daily dims/copy/length backfill in cadence runner -
1f5f1ce72026-07-08 auto-save: 2026-07-08T10:05:08 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh -
63f5466d2026-07-08 DWTT double-roll: live re-run w/ --fill-catalog — 576 metafields, 100% min/step=2, Rimba Cornflower + tail fixed -
41a074842026-07-08 auto-save: 2026-07-08T09:04:55 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh -
8d7fc91f2026-07-08 auto-save: 2026-07-08T08:04:43 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl -
c47d7da62026-07-08 auto-save: 2026-07-08T07:34:38 (3 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh -
e4938f412026-07-08 auto-save: 2026-07-08T07:04:32 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh -
10f99fab2026-07-08 auto-save: 2026-07-08T06:04:21 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh -
13bb30912026-07-08 auto-save: 2026-07-08T05:04:10 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/activations-2026-07-08.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl -
9f8741722026-07-08 auto-save: 2026-07-08T04:04:00 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh -
ac7445342026-07-08 auto-save: 2026-07-08T03:03:50 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh -
7de162992026-07-08 auto-save: 2026-07-08T02:33:44 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/phillipromano-land-20260708T000105.json -
ed9408682026-07-08 auto-save: 2026-07-08T02:03:39 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh -
296dbb8c2026-07-08 auto-save: 2026-07-08T01:03:28 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-am-2026-07-08.json -
1458e4752026-07-08 auto-save: 2026-07-08T00:33:23 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/coordonne-land-20260708T000105.json shopify/scripts/data/bucketB/grahambrown-land-20260708T000105.json shopify/scripts/data/bucketB/harlequin-land-20260708T000105.json -
263bd3042026-07-08 auto-save: 2026-07-08T00:03:17 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260708T000105.json -
5a317c172026-07-07 auto-save: 2026-07-07T23:03:07 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl vendor-scrapers/china-seas-refresh -
8f5b4f8a2026-07-07 auto-save: 2026-07-07T22:33:01 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl vendor-scrapers/china-seas-refresh -
c9382f4d2026-07-07 auto-save: 2026-07-07T22:02:56 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-failures.jsonl shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-08.json -
3dedabb02026-07-07 auto-save: 2026-07-07T21:32:51 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl vendor-scrapers/china-seas-refresh -
117fca102026-07-07 auto-save: 2026-07-07T21:02:45 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-08.json shopify/scripts/cadence/data/upload-restore-2026-07-08.jsonl -
09afa34a2026-07-07 auto-save: 2026-07-07T20:32:33 (4 files) — DW-Programming/ImportNewSkufromURL/pierre-frey-fabric-scrape.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl vendor-scrapers/china-seas-refresh -
5f7bf8f82026-07-07 auto-save: 2026-07-07T20:02:25 (7 files) — DW-Programming/ImportNewSkufromURL/pierre-frey-fabric-scrape.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-08.json -
62e088fe2026-07-07 auto-save: 2026-07-07T19:32:17 (4 files) — DW-Programming/ImportNewSkufromURL/pierre-frey-fabric-scrape.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl vendor-scrapers/china-seas-refresh -
6e1b80732026-07-07 auto-save: 2026-07-07T19:02:10 (9 files) — DW-Programming/ImportNewSkufromURL/pierre-frey-fabric-listing.json DW-Programming/ImportNewSkufromURL/pierre-frey-fabric-scrape.jsonl DW-Programming/ImportNewSkufromURL/pierre-frey-fabric-scrape.mjs pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl -
fe73a5c12026-07-07 auto-save: 2026-07-07T18:32:03 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl vendor-scrapers/china-seas-refresh -
f221954f2026-07-07 auto-save: 2026-07-07T18:01:57 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-pm-2026-07-08.json -
17df523b2026-07-07 auto-save: 2026-07-07T17:31:51 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl vendor-scrapers/china-seas-refresh -
0993328a2026-07-07 auto-save: 2026-07-07T17:01:44 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/activations-2026-07-07.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-07.json -
c966731e2026-07-07 auto-save: 2026-07-07T16:31:38 (4 files) — DW-Programming/ImportNewSkufromURL/pierre-frey-fabric-scrape.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl vendor-scrapers/china-seas-refresh -
dfd74c4b2026-07-07 auto-save: 2026-07-07T16:01:30 (13 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-07.json shopify/scripts/cadence/data/upload-restore-2026-07-07.jsonl -
6bb35ae02026-07-07 auto-save: 2026-07-07T15:31:24 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/activations-2026-07-07.jsonl vendor-scrapers/china-seas-refresh -
f7a2cfba2026-07-07 auto-save: 2026-07-07T15:01:17 (9 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl DW-Programming/ImportNewSkufromURL/pierre-frey-enrich.mjs pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/cadence-cursor.json -
89a208382026-07-07 pierre-frey import: deLabel strips leading Wallcovering prefix too (undo sibling sweep's replace-not-strip noise on re-runs) -
b10f1ac82026-07-07 Pierre Frey LAUNCH via cadence: vendors.js sampleOnly entry + activate-gated quote-only bypass (quotes tag -> activate w/ null price) + dedicated drip wrapper; first 15 promoted live (ACTIVE 3->18) -
c428c6212026-07-07 auto-save: 2026-07-07T14:31:09 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl DW-Programming/ImportNewSkufromURL/pierre-frey-enrich.mjs DW-Programming/ImportNewSkufromURL/pierre-frey-shopify-draft.mjs pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl -
db98edc02026-07-07 auto-save: 2026-07-07T14:01:00 (8 files) — DW-Programming/ImportNewSkufromURL/pierre-frey-enrich.mjs DW-Programming/ImportNewSkufromURL/pierre-frey-shopify-draft.mjs pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/cadence-cursor.json -
68b03a862026-07-07 chore: v1.1.10 -> v1.1.11 (session close) -
f1af873a2026-07-07 chore: refactor session migration scripts (qh-fabric simplify), session close -
5cc0714b2026-07-07 auto-save: 2026-07-07T13:30:45 (15 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/package-lock.json shopify/package.json shopify/scripts/enrich-color-details-local.py -
24ea68762026-07-07 dedup v3: ID-based, 5xx-retry, resumable -
5579a5c42026-07-07 dedup v2: no-redirect mode, keeper adopts shortest-clean handle -
3e87194c2026-07-07 add collection dedup script (backup+delete+301 redirect+retitle) -
904dc48f2026-07-07 add color/motif Wallcovering-collection rename script (DTD verdict A) -
5cdb9b922026-07-07 auto-save: 2026-07-07T13:00:27 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-07.json shopify/scripts/cadence/data/upload-restore-2026-07-07.jsonl -
7fa641312026-07-07 deploy Thibaut srLen garble fix (890 pages) + provenance -
b46225ab2026-07-07 add generalized QH fabric reclass script (vendor-parameterized) -
51a090382026-07-07 cadence: QH fabric brands (Quadrille/Home Couture/Charles Burger/Cloth and Paper/Plains) fallback Wallcovering->Fabric -
5d0a38182026-07-07 Fix engOf label: recognize -real rooms (cosmetic; correct files already pushed) -
ae1c8df72026-07-07 auto-save: 2026-07-07T12:30:21 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl vendor-scrapers/china-seas-refresh -
94c4f0d12026-07-07 auto-save: 2026-07-07T12:00:16 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-07.json shopify/scripts/cadence/data/upload-restore-2026-07-07.jsonl -
faf49e942026-07-07 auto-save: 2026-07-07T11:30:11 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enrich-marketed-mismatch.jsonl vendor-scrapers/china-seas-refresh -
1b0b9a6b2026-07-07 auto-save: 2026-07-07T11:00:06 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-07.json shopify/scripts/cadence/data/upload-restore-2026-07-07.jsonl vendor-scrapers/china-seas-refresh -
49c7f0682026-07-07 enrich: near-solid products trust merchant color name (deep 'Red' oxblood reads Red, not blocked); hue/lightness-tolerant thresholds; mismatch log only on genuine conflicts -
d8edd9bf2026-07-07 contrarian pass 2 fixes: neutral cool-grey lexicon (Mist/Fog/Zinc/Putty) kills Celadon-on-grey; durable enrich-failures.jsonl; marketed-vs-image mismatch review log; drop center-crop (hurt full-bleed swatches) -
d43915e22026-07-07 auto-save: 2026-07-07T10:30:01 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/enrich-color-details-local.py vendor-scrapers/china-seas-refresh -
f1fea7632026-07-07 cadence: Alan Campbell productType fallback Wallcovering->Fabric (root-cause, mirrors Suncloth fix) -
b21d7edb2026-07-07 contrarian fixes: (1) read color_details BEFORE legacy color_dots_json (no shadowing); (2) anchor marketed color to dominant swatch on near-solid products (Gold foil no longer 'Walnut'), canonical lexicon names -
75188a052026-07-07 enrich: replace LLM naming with deterministic ~115-color interior-design lookup table (DTD verdict A) — reliable+consistent+instant; redmean nearest-match, dark-red family added, --force re-enrich -
55858e642026-07-07 Alan Campbell: reclassify wallcovering->fabric (type/title/tags/desc) -
e4711d862026-07-07 Parameterize room push (CATALOG/VIEW) — serves Carl Robinson + Daisy Bennett -
1d7baf732026-07-07 Parameterize real-sample composite (CATALOG/VIEW/OUTDIR) + run Daisy Bennett -
ad3153252026-07-07 Real-sample room composites via patch-quilting (the winning method) -
660a93072026-07-07 material envelope fix: unwrap 523 + Ultrasuede + live-theme guard + canary -
cbd55ff12026-07-07 enrich: overwrite legacy 'percentage'-schema color_details (QA found hallucinated hexes — burgundy product showed tan); skip only this pass's 'pct' schema -
b8804ebf2026-07-07 enrich: add resumable --all-published batch mode (cursor paginate, skip already-enriched, progress logging) -
71defcf62026-07-07 color-palette: fix double-json encode of data-colors (broke Tier1 enriched read); add hybrid local color enrichment (PIL pixels + qwen2.5vl naming) -
f168a6452026-07-07 auto-save: 2026-07-07T09:29:44 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/enrich-color-details-local.js shopify/scripts/enrich-color-details-local.py -
279d39952026-07-07 color-palette: demote single-hex below canvas; renderMeta fallback so un-enriched products show multi-color+% not a lone 'Color' card -
fb621f982026-07-07 gitignore daisy-bennett-viewer img/ + rooms-local/ (keep swatches/renders out of git) -
51842e8e2026-07-07 gitignore rooms-local/ PNGs (keep 200MB of renders out of history) -
a2719adf2026-07-07 PDP: add color-palette (big swatch cards + %) between product images and Other Colorways; replaces color-dots strip (live theme 5.9.1 pull) -
bb62c10f2026-07-07 Gated Shopify room push + judge label-normalize fix -
7ffe7cc12026-07-07 auto-save: 2026-07-07T08:59:35 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/theme-LIVE-591/snippets/product-gallery.liquid vendor-scrapers/china-seas-refresh scripts/wallquest-refresh/carl-robinson-viewer/rooms-local/GRS-100020-kontext.png scripts/wallquest-refresh/carl-robinson-viewer/rooms-local/NET-100042-sdxl.png -
10cc4fda2026-07-07 auto-save: 2026-07-07T08:56:34 (10 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-07.json shopify/scripts/cadence/data/upload-restore-2026-07-07.jsonl -
e194baa02026-07-07 Multi-book local-room queue: prep swatches + sequential render -
16b100212026-07-07 Reusable local room-render pipeline (any DW catalog) -
8df04ff82026-07-07 Local VLM auto-judge + finalize for room bake-off -
0302bcad2026-07-07 Local room-engine bake-off: FLUX Kontext + SDXL/IP-Adapter + PIL -
e968f8382026-07-07 Carl Robinson viewer: wire to local images + persist out of /tmp -
4298ac972026-07-07 fix Slack webhook crash (inline-fetch variant): 3 unwrapped push/import scripts short-circuit-guarded; fleet unwrapped-crashers now 0 -
98dd515a2026-07-07 fix Slack webhook crash: 66 DW scripts had literal '${SLACK_WEBHOOK_URL}' -> env var + guard (no-op when unset); syntax-verified, Thibaut repeat-scraper live-verified no post-write crash -
30ee316b2026-07-07 thibaut-refresh: use repeat-scraper (standalone refresher) — live-verified writes to local dw_unified, 0 scrape errors; run.sh tolerates the pre-existing Slack-webhook non-fatal exit -
df78838a2026-07-06 thibaut-refresh: reference vendor refresh wiring for the recrawl dispatcher (scrape->local dw_unified->price-finder, no publish) -
51edfffd2026-07-06 backfill-malibu-mfr: recover real SKU+mfr+vendor for 61 held Malibu orphans from wallquest_catalog (61/61 written) -
c6296c082026-07-06 hold-orphan-438: reversible unpublish->draft for go-live-gate orphans (438 held, 0 failed) -
7ff102ab2026-07-06 chore: v1.1.10 (session close — bucketB TSV env override) -
9ccf10e32026-07-06 bucketB: allow BUCKETB_TSV env override for scoped one-shot roll cohorts -
ce4e87f82026-07-06 chore: v1.1.9 (session close — GRS width fix + command54 retirement) -
3ca302f92026-07-06 Mark command54-shopify-push.js RETIRED (dormant, kept for reconcile + GRS guard) -
ec3bf17e2026-07-06 Guard GRS grasscloth width to 36" in command54 push (never inherit upstream vinyl 52/54") -
d183fe682026-07-06 Normalize all 1422 GRS grasscloth widths to 36" (kill 52/54" vinyl default) -
783b84d82026-07-06 chore: version bump (session close) — WallQuest→PR naturals live + Abruzzo collection -
874f33872026-07-06 chore: v1.1.6 → v1.1.7 (session close: WallQuest onboard + PR cleanup ops tooling) -
b04374002026-07-06 Strip raw Lillian August color codes from 13 draft LN pattern names -
f1d58be72026-07-06 fix #3: material-SKU scheme downstream — VENDOR_RANGES entries for GRS/PWV/RAF/etc + isDwFamilySku() so GRS- naturals aren't misclassified as mfr SKUs by !startsWith('DW') filters -
6478f4b12026-07-06 chore: v1.1.6 (session close — Daisy Bennett onboard + contrarian fixes + WallQuest non-vinyl interior-design enrich) -
de1e25642026-07-06 Backfill images for 92 imageless Lillian August veneers (Browserbase, wallquest.com/<mfr>), 89/89 scraped 0 miss -
cd7214e52026-07-06 Create Phillipe Romano 'Abruzzo Natural Collection' (368 WallQuest->PR natural textiles) -
63611c9a2026-07-06 LN colorway decollapse tool (image-hex → distinct names) -
d1369ad42026-07-06 WallQuest->PR: Lillian August 140 live (material titles) + Paper & Ink 15 clean textiles live; 65 prints/vinyl filtered; generic scraper, robust title-fix, exact-SKU activate -
9c4de69d2026-07-06 wallquest import rule: no price on a loaded page = discontinued (excludes transient nav/scrape failures) -
87ba5cdc2026-07-06 Daisy contrarian fixes: strip coordinate-image contamination, GRS-10109 color, settlement->DB, repeat/match metafields; + interior-design style/color enrich for veneers+CR -
91e639ed2026-07-06 WallQuest title material-append + renumber planners -
a0933e5b2026-07-06 wallquest→PR: Lillian August onboard + per-yard/8yd model + canonical increment fix -
3c20ad3b2026-07-06 Daisy Bennett: room-QA sweep (Gemini vision) — 62/62 rooms, 0 people/distortion; soft flags are patterned/metallic naturals (not defects) -
526379062026-07-06 wallquest crawl: priced-first ordering + full-catalog (every SKU) run — active prices secured first, discontinued sweep last; resumable -
98abb5312026-07-06 Luxuria retitle dry-run tool — color:tag path proven lossy/colliding -
cb2e90b92026-07-06 wallquest write.cjs: also persist Roll Length (per-item unit basis: 8yd bolt vs 11yd roll), discontinued flag, price_updated_at. Full active refresh running via cracked login. -
ee576edf2026-07-06 Daisy Bennett: room-setting images (62 generated on Kamatera, attached to live PDPs at last position, room_setting tag) -
080ee6522026-07-06 Kravet-under-PR re-vendor tool (dry-run default; --apply/--archive gated) -
a109ccd52026-07-06 Carl Robinson increments: add global.Sold-Per/Minimum to full canonical set + committed value-asserting verifier (67/67 pass) -
21c4a09b2026-07-06 DWTT double-roll PHASE 2 live: 3105 metafields, 0 errors (catalog-backfilled dims) -
1e1c3b222026-07-06 Add --fill-catalog: backfill single-roll W/L from thibaut_catalog by dw_sku -
0d777f6f2026-07-06 Carl Robinson: add 'Wallcovering' type descriptor to titles + live Shopify title-update script -
f5ba693d2026-07-06 PR rescope: brand-leak detection (found 11 Kravet mis-vendored under PR) -
3d5ae3872026-07-06 Carl Robinson: enforce 8-yard increments on all 67 live SKUs + mirror sync -
921c8ce32026-07-06 PR re-scope audit (prefix→line) + sellable/sample breakdown in dedup audit -
6cad6ab62026-07-06 Add DWTT double-roll min/step + dims metafield writer (dry-run verified, live gated) -
47004a532026-07-06 Daisy Bennett + Sag Harbor: enforce 8-yard order increments (min=8/step=8, unit=Per Yard, display_variant tag) -
ece3218f2026-07-06 Daisy Bennett: reconcile SKUs to GRS- (no DW); retitle all 63 as Pattern+Material+Color (dedup material, fix Antika-Antika/Morrocan/ampersands) -
d63399042026-07-06 Add --reslug mode (34 clean handles) + read-only PR dedup audit -
c3082e422026-07-06 WallQuest→PR grasscloth pusher + retitle mode; fix 34 collapsed live titles -
7c206ae02026-07-06 wallquest login: check Remember-me → persistent session (one solve covers the whole run, no per-20min re-login). Enables truly-free full refresh. -
5a7385372026-07-06 wallquest real-chrome scraper: discontinued-detection + honest realPriced metric + active-only filter + free-mode (no-2captcha, reuse cached session) + resumable. Pilots: active 20/20 priced, tiers verified (102.38/60.64/45.92). -
68d732b02026-07-06 sangetsu dossier: record Goodrich sole/exclusive distributor + distributor field plan -
1167f2392026-07-06 Brand admin micro-site template: Amazon-style collapsed facets, density slider 1-12, grid/list toggle, brand-parameterized (DaisyBennett+CarlRobinson live) -
874d744e2026-07-06 5x: report — favicon 404 fixed (M3 clean x2); B6/click-through are harness/phantom, not build defects -
c16dd0802026-07-06 5x sweep 1: suppress favicon 404 (inline empty favicon) in both viewers -
3b2621b42026-07-06 Daisy Bennett Vol 2 live-store fixes: strip related-carousel images (355 removed), drop-DW SKU rename (GRS-/SIS-/etc, unique), 8yd-bolt packaged metafield -
bd1c4cee2026-07-06 Localize Carl Robinson viewer (:64761): local images + real-textiles filter -
7efced752026-07-06 wallquest login CRACKED: real Chrome (channel:chrome persistent profile) + 2captcha reCAPTCHA solve → logs in + prices sy21843=$83.16 (spike proven). Root cause was login reCAPTCHA, not creds/fingerprint. -
a48458ac2026-07-06 Daisy Bennett viewer: local images (bypass WallQuest hotlink 403) + real-textiles filter (drop cork/mica) -
3e22b8c92026-07-06 Daisy Bennett Vol 2 -> LIVE: 65 products pushed+activated (Phillipe Romano), sold per-yard 8-yd increments; settlement override on 4 bird SKUs -
04409a102026-07-06 Daisy Bennett GO LIVE: 63 products active on Shopify (Phillipe Romano), settlement all-OK, images rehosted -
5d6aa2422026-07-06 Carl Robinson: push material-inclusive titles (City Material Color | Phillipe Romano) to live products -
2347c1e62026-07-06 Carl Robinson: fix publish-channels to anchor on carl_robinson_catalog (registry re-keyed off DWCR-) -
2faa01a52026-07-06 Carl Robinson: harden Shopify SKU update — key on product-id+variant-role, live duplicate-guard, idempotent (prevents GRS/MIC number dupes) -
366e58012026-07-06 Carl Robinson: unique running 6-digit SKU numbers across book (no per-series repeat) -
1df178822026-07-06 wallquest refresh: port login fix into scrape.cjs (.login-button submit + 14s price-AJAX wait + loginVerified skip-unpriced-chunk + CHUNK≤15 + WQ_LIMIT test hook) — per memory wallquest-login-price-fix -
eaec82222026-07-06 Carl Robinson: SKU numbers start above 100000 (GRS-100001…) -
cf7d3da22026-07-06 Carl Robinson: 6-digit sequential SKU numbers (GRS-000001…) -
e6d410992026-07-06 Carl Robinson: DW-less sequential SKU series (GRS-001, PWV-001, CORK-001…), map from live DWCR- for one-shot Shopify update -
83f25e3d2026-07-06 Daisy Bennett: adjudicate flagged families — Diamond Back Weave→DWRAF (Gemini descriptions confirm raffia) -
41f0ede82026-07-06 wallquest grasscloth/veneers: login fix + Phillipe Romano relabel -
bccb98f82026-07-06 Carl Robinson: material-based SKU prefixes (DWGRS/PWV/CORK/MIC…) matching Daisy Bennett; DB+drafts remapped, Shopify variant-SKU updater -
4511065a2026-07-06 Daisy Bennett: material-based SKU prefixes (DWGRS/PWV/RAF/SIS/LIN/CORK/ABA), family-consistent majority-vote -
ad9acbf82026-07-06 Add Daisy Bennett Vol 2 internal staging viewer (sort+density, settlement badges, basic auth) -
0862568a2026-07-06 Daisy Bennett: review viewer + Shopify draft payloads (63 products, draft-only, leak+gate PASS) -
95ef94b52026-07-06 Onboard Daisy Bennett Naturals Vol 2 (WallQuest→Phillipe Romano): scrape 65 SKUs, stage to daisy_bennett_catalog (DWAY-40xxx), settlement-flag bird chinoiserie -
532c47be2026-07-06 Onboard Daisy Bennett Natural Wallcoverings (WallQuest→Phillipe Romano, 63 SKUs, isolated daisy_bennett_catalog) -
0eddd3072026-07-06 Carl Robinson: Shopify push (draft) + activate/publish-all-channels scripts (env-only creds) -
60fb58502026-07-06 Carl Robinson E20 → Phillipe Romano onboard pipeline (scrape→enrich→rooms→drafts, DWCR-, beach-city naming) -
95e17fd72026-07-06 wallquest: onboard specialty grasscloths & veneers (87 SKUs staged DWQW-61453..61539) -
bd1f7ba72026-07-03 chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew) -
59caa41f2026-07-03 auto-save: 2026-07-03T04:54:58 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-03.json shopify/scripts/cadence/data/upload-restore-2026-07-03.jsonl vendor-scrapers/china-seas-refresh -
c4e2594d2026-07-03 auto-save: 2026-07-03T03:54:40 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-03.json shopify/scripts/cadence/data/upload-restore-2026-07-03.jsonl vendor-scrapers/china-seas-refresh -
5cfdbe4e2026-07-03 auto-save: 2026-07-03T02:54:22 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-03.json shopify/scripts/cadence/data/upload-restore-2026-07-03.jsonl vendor-scrapers/china-seas-refresh -
c8ebed822026-07-03 auto-save: 2026-07-03T02:24:13 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/phillipromano-land-20260703T000102.json -
631b22922026-07-03 auto-save: 2026-07-03T01:54:05 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-03.json shopify/scripts/cadence/data/upload-restore-2026-07-03.jsonl vendor-scrapers/china-seas-refresh -
9cacf47d2026-07-03 auto-save: 2026-07-03T00:53:43 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/upload-restore-2026-07-03.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-am-2026-07-03.json -
edc16c202026-07-03 discontinued-sweep COMPLETE: 380 candidates / 378 eligible; fix GID double-prefix + NULL dw_sku resolver bug; title results in report -
c9448c2e2026-07-03 auto-save: 2026-07-03T00:23:33 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl vendor-scrapers/china-seas-refresh scripts/discontinued-sweep/data/thibaut-title-results.jsonl shopify/scripts/data/bucketB/annafrench-land-20260703T000102.json -
db2f19142026-07-02 auto-save: 2026-07-02T23:53:24 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl vendor-scrapers/china-seas-refresh -
b0e5a29c2026-07-02 auto-save: 2026-07-02T23:23:15 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl vendor-scrapers/china-seas-refresh -
961ed4242026-07-02 auto-save: 2026-07-02T22:53:06 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl vendor-scrapers/china-seas-refresh -
5135c06b2026-07-02 auto-save: 2026-07-02T22:22:57 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl vendor-scrapers/china-seas-refresh -
f10b22ba2026-07-02 auto-save: 2026-07-02T21:52:48 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl vendor-scrapers/china-seas-refresh -
e59f4e1e2026-07-02 auto-save: 2026-07-02T21:22:37 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl vendor-scrapers/china-seas-refresh -
b28aca7d2026-07-02 auto-save: 2026-07-02T20:52:28 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-03.json shopify/scripts/cadence/data/upload-restore-2026-07-03.jsonl -
b57390fe2026-07-02 auto-save: 2026-07-02T20:22:15 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl vendor-scrapers/china-seas-refresh -
092a3b8e2026-07-02 auto-save: 2026-07-02T19:52:05 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-03.json shopify/scripts/cadence/data/upload-restore-2026-07-03.jsonl -
ff137bc52026-07-02 auto-save: 2026-07-02T19:21:56 (4 files) — package-lock.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl vendor-scrapers/china-seas-refresh -
5656a8fc2026-07-02 chore: lint, refactor (makedirs guard), v1.1.5 (session close) -
6ded6eae2026-07-02 auto-save: 2026-07-02T18:51:47 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-03.json shopify/scripts/cadence/data/upload-restore-2026-07-03.jsonl -
c4aed1be2026-07-02 auto-save: 2026-07-02T18:21:38 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl vendor-scrapers/china-seas-refresh -
2f24a2ee2026-07-02 auto-save: 2026-07-02T17:51:29 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-catalog-refresh.jsonl shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-pm-2026-07-03.json -
4d58b2a42026-07-02 fix the 2 DWTT wave-1 conflict SKUs (AT57882, T41013): PDP-confirmed single-roll dims + uom copy -
9bd504242026-07-02 discontinued-sweep: fix pgrep self-match deadlock in chained jobs; emit mfr_sku backfill proposal (115 rows) -
93ffaede2026-07-02 auto-save: 2026-07-02T17:19:40 (3 files) — package-lock.json pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh -
66f903cb2026-07-02 chore: lint pass + v1.1.4 (session close — dwtt conflict-2 fix script staged) -
371e9ec62026-07-02 chore: session-close lint pass (all clean), v1.1.3 -
e01ac95d2026-07-02 auto-save: 2026-07-02T16:49:31 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
0974ca4c2026-07-02 auto-save: 2026-07-02T15:48:57 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl -
d9c14f3f2026-07-02 auto-save: 2026-07-02T15:18:48 (3 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh -
f682f27e2026-07-02 auto-save: 2026-07-02T14:48:40 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl -
1543d7ff2026-07-02 auto-save: 2026-07-02T14:18:33 (3 files) — package-lock.json pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh -
5b5322862026-07-02 chore: lint (exec bit) + comment clarity on theme-push scripts, version bump (session close) -
e34e6b7a2026-07-02 auto-save: 2026-07-02T13:48:24 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
7a3e32cb2026-07-02 auto-save: 2026-07-02T13:18:16 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 tmp-measure.mjs vendor-scrapers/china-seas-refresh -
c180cdfd2026-07-02 auto-save: 2026-07-02T12:48:04 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
2f00d11c2026-07-02 limited-stock badge: fix dead-branch insertion (China-block {% if dw_is_blocked %} has its own </head>; insert before LAST </head>) + own-line CSS under qty-inline flex row -
631ae2c32026-07-02 PDP qty-inline: move quantity stepper to the right of the price (staged on dev theme, live gated) -
7568c2fa2026-07-02 auto-save: 2026-07-02T11:47:40 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
a62512572026-07-02 discontinued-sweep FINAL: thibaut 299 discontinued (285 dual-source confirmed), combined 356 archive-eligible; executor accepts both positive-signal classes -
17aa1d502026-07-02 discontinued-sweep: title-match resolver recovers 115/416 orphan thibaut rows (SID-keyed); executor resolves SID rows by shopify_id -
927c2fd82026-07-02 auto-save: 2026-07-02T11:17:30 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-results.jsonl vendor-scrapers/china-seas-refresh audits/at57882-media-before.json shopify/scripts/audit-stale-room-renders.py -
6c70b5532026-07-02 discontinued-sweep: document york excluded-739 follow-up path (nopCommerce search caveat) -
3e4760292026-07-02 discontinued-sweep: sitemap gate is signal-aware — explicit-text flags (live page w/ vendor discontinued note) are not skipped -
4182db242026-07-02 discontinued-sweep: archive executor (snapshot-first, fail-closed resolution, thibaut sitemap gate) + weekly plist draft -
0f8eb1f02026-07-02 auto-save: 2026-07-02T10:47:21 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/discontinued-sweep/data/thibaut-results.jsonl shopify/scripts/audits/dwtt-af-spec-audit.json shopify/scripts/audits/dwtt-single-roll-dimensions-wave1.json shopify/scripts/cadence/data/cadence-cursor.json -
015b437f2026-07-02 min2/step2 top-up runner for 74 post-0630 roll products; wave-1 dims push + Kamatera write-back executed (Steve-approved) -
7c27f65f2026-07-02 discontinued-sweep: contrarian gate addendum — SAMPLE-sku clarification, sitemap cross-check, no-op metafield caveat -
6f9c53e22026-07-02 discontinued-sweep: York sweep complete — 66 discontinued candidates (all explicit vendor markers) of 941 probed; report + candidates CSV -
8ab92c6c2026-07-02 DWTT dims wave-1 contrarian fixes: uom copy gated on confirmed single-roll length (AT57882/T41013 now withheld), full 1,654-product before-state capture to audits/dwtt-dims-before-state.jsonl; dry-run re-run 3,111 writes / 1,652 products -
dba6088b2026-07-02 auto-save: 2026-07-02T10:17:10 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh onboarding/sangetsu-lilycolor/scripts/sangetsu-spec-fold.py onboarding/sangetsu-lilycolor/scripts/sangetsu-spec-scrape.mjs scripts/discontinued-sweep/data/thibaut-results.jsonl -
e382b6482026-07-02 Thibaut wave-2 backfill FULL RUN complete: 894/1341 PDP-confirmed lengths into local mirror (0 fetch errors, 24 disco-redirect, 423 no-length, 182 conflicts logged); wave-1 dry-run refreshed to 3,113 writes / 1,654 live products -
fdd0045b2026-07-02 Read-only cross-brand single-roll min/step audit: 15,034 variants/62 vendors — 2,048 active missing min, 584 min!=2, 7 realized odd-qty orders 60d; DWJS #32512 leak is enforcement-layer not data -
7590d2f52026-07-02 sangetsu: full per-colorway build — 19,463 staged records (Steve: colorway=product), brand=Architectural Wallcoverings, Goodrich scrubbed (0 leaks), 0 banned/Unknown, DWGO, all gated draft (cost+settlement pending); 428 licensed-collection flagged, 99 settlement-risk triaged, 4,218 no-image drafted -
0e30504b2026-07-02 discontinued-sweep: report generator + README; limited-stock badge (dev theme push script, global.limited_stock metafield writer dry-run-default) -
3f3883ed2026-07-02 discontinued-sweep: verify-list builder + positive-signal probe runner (York public-site + Thibaut redirect detection, collision-guarded York-sourced list) -
d10d9eba2026-07-02 auto-save: 2026-07-02T09:46:55 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
1fc5c5672026-07-02 Thibaut/AF wave-2 scrape backfill: PDP SingleRollLength -> local mirror with source_url+timestamp, discontinued-redirect + conflict exception logging (pilot 14/15 ok) -
68d42e532026-07-02 DWTT/AF single-roll dimensions: read-only spec audit + wave-1 guarded metafield push script (dry-run validated, 1472 writes queued, 2 exceptions logged) -
859140fc2026-07-02 lily: strip AI-vision material descriptor from fallback titles (was hallucinating 'Grasscloth' etc into 1,556 customer titles with no pricebook backing) — title = '<Collection> <SKU> | Lilycolor'; material stays in design.material for tags -
e4e9e5f42026-07-02 auto-save: 2026-07-02T08:46:35 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl -
c364cf3f2026-07-02 lily: upgrade fallback titles to real collection names (Will/Light/V-Wall/Materials from pricebook source_catalog) — 1,556 SKUs now 'Light LL6002 Grasscloth | Lilycolor'; headless-proven public search has 0 hits for these codes -
b3ca297d2026-07-02 auto-save: 2026-07-02T08:16:24 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh onboarding/sangetsu-lilycolor/scripts/sangetsu-colorway-recover.py -
48b151f82026-07-02 sangetsu: add swap-guarded per-pattern enrichment runner + autonomous download->enrich pipeline (session close) -
5e8d6afa2026-07-02 sangetsu: case-insensitive banned-word guard in overview extractor (fix 53 lowercase 'wallpaper' leaks) -
8592e8902026-07-02 audit: readiness re-run post-Sangetsu-storeapi-enrich (descriptions 0->614) -
ee401ffe2026-07-02 auto-save: 2026-07-02T07:46:12 (8 files) — DW-MCP/daily-sales-summary.js DW-MCP/monitor-new-orders.js DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json -
1f7a06432026-07-02 sangetsu: store-api detail enrich — descriptions 4->614 patterns + specs backfill (623/623) -
d613c4882026-07-02 sangetsu: parse 5 pricebook PDFs -> 1,007 domestic-SKU specs (width/repeat/fire/price/functions) -
005e77b92026-07-02 auto-save: 2026-07-02T06:41:33 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
46bfc1702026-07-02 snapshot before restart: Lilycolor enrichment complete (2634/2634) + readiness 320→2543 + full Sangetsu scrape (623 patterns, 13358 SKUs) -
0dadf1492026-07-02 audit: readiness re-run post-enrichment-complete (Lilycolor enriched 806→2634) -
a406aeb82026-07-02 mirror repair-justindavid-relative-urls.js (98 relative-path image URLs fixed on Kamatera, verify-200 + backup TSV) -
b9244f4b2026-07-02 auto-save: 2026-07-02T05:41:14 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
2b8535182026-07-02 auto-save: 2026-07-02T05:11:05 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
38ce5af42026-07-02 auto-save: 2026-07-02T04:40:57 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
edae30d32026-07-02 auto-save: 2026-07-02T04:10:49 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
9c5a310e2026-07-02 auto-save: 2026-07-02T03:40:40 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
85e737132026-07-02 auto-save: 2026-07-02T03:10:31 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
8ce9d1772026-07-02 auto-save: 2026-07-02T02:40:23 (10 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/room-image-push/ledger.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
e21cae322026-07-02 auto-save: 2026-07-02T02:10:14 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
fee5250d2026-07-02 auto-save: 2026-07-02T01:40:05 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
2a3ba35f2026-07-02 auto-save: 2026-07-02T01:09:57 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-am-2026-07-02.json -
785523212026-07-02 auto-save: 2026-07-02T00:39:49 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/coordonne-land-20260702T000104.json shopify/scripts/data/bucketB/grahambrown-land-20260702T000104.json shopify/scripts/data/bucketB/harlequin-land-20260702T000104.json -
e65528732026-07-02 auto-save: 2026-07-02T00:09:40 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
cc8f26882026-07-01 auto-save: 2026-07-01T23:09:23 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
efee58382026-07-01 auto-save: 2026-07-01T22:09:06 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
eacf5d082026-07-01 auto-save: 2026-07-01T21:08:49 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
7c4aa3132026-07-01 auto-save: 2026-07-01T20:08:32 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
34fe7a432026-07-01 auto-save: 2026-07-01T19:08:14 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl vendor-scrapers/china-seas-refresh -
c40109392026-07-01 auto-save: 2026-07-01T18:07:58 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-pm-2026-07-02.json shopify/scripts/cadence/data/upload-restore-2026-07-02.jsonl -
551e2c482026-07-01 auto-save: 2026-07-01T17:07:40 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
bb98f74e2026-07-01 auto-save: 2026-07-01T16:07:22 (6 files) — onboarding/sangetsu-lilycolor/scripts/mac2-guarded.sh pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl -
b57b199a2026-07-01 auto-save: 2026-07-01T15:37:13 (4 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh onboarding/sangetsu-lilycolor/scripts/mac2-guarded.sh -
dcd602fb2026-07-01 phase-3 image repair scripts: as_creation, bnwalls, missoni (verify-then-update, backup TSV first) -
8da7b4992026-07-01 auto-save: 2026-07-01T15:07:02 (7 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl onboarding/sangetsu-lilycolor/scripts/local-recover.sh pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json -
151d386d2026-07-01 merge-staging: fold DTD-A fallback titles into merged set (title 37->100%); gate-readiness: word-boundary fix for BAD_TITLE_TOKENS (LW1404 '404' false-match). Gates untouched: cost 0, activation_ready 0. -
f19607682026-07-01 title-fallback.py: synthesize compliant titles for 1580 title-less Lily SKUs (MFR-SKU fallback + Morris LIS map, settlement-flagged, needs-pattern-name reviewable) -
2eb75f4c2026-07-01 merge-staging: read canonical enrichment-full-063026A.final.jsonl (local-cache runner's remerged output), fall back to .jsonl -
e830c2432026-07-01 enrich-full.py: lock-guard exits 75 (busy) not 0, so supervise.sh retries instead of false-concluding completion when a sibling holds the lock -
8beec0f62026-07-01 recover: single supervised local-cache Lily enrichment (Henry chokes under sustained I/O) -
d76076d12026-07-01 gate-readiness.py: check error-tokens only in pattern-name segment (was false-matching '404' in SKU ranges LL6404/LV2404) -
fedfa2922026-07-01 gate-readiness.py: read-only Activation-Gate pre-flight over merged Lilycolor records — quantifies publish-readiness per dimension (surfaced 1580 title-less SKUs as the main non-cost blocker) -
b7c301302026-07-01 auto-save: 2026-07-01T14:36:50 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/reconcile/brewster-import-queue.jsonl onboarding/sangetsu-lilycolor/.gitignore pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh onboarding/sangetsu-lilycolor/scripts/local-reenrich.sh -
f3581a992026-07-01 harden local-recover: completeness guard so a dead driver can't premature-merge final or falsely signal DONE -
bc93546c2026-07-01 supervise.sh: auto-relaunch wrapper for resumable local-LLM jobs — survives Mac2 memory-pressure jetsam kills (rc==0 + no-new-rows = complete) -
fff3bcbc2026-07-01 phase3 orphan recovery: $0 ai_tags derivation backfill (18,351 rows) + tiered image recovery orchestrator (approved memo 2026-07-01) -
fd27b7e12026-07-01 cost-sheet: catalog-level Lilycolor net-cost skeleton (5 rows, list-yen ranges prefilled, 6 cost cols blank) to clear the Activation Gate -
d7dea0f12026-07-01 audit: Sangetsu spec/desc gap is source-data (not merge) — Lilycolor is the near-term publish path -
324313fd2026-07-01 recover: enrich Lily swatches from local copy (Henry USB unmounts mid-run) -
dcd19e572026-07-01 enrich-full.py: treat mid-run Henry unmount as transient (VolumeUnavailable -> retry/defer) instead of burning SKUs as permanent image_not_found stubs (a memory-pressure I/O stall burned 1992 this way) -
db33be402026-07-01 enrich-full.py: retry-with-backoff on transient ollama outages instead of writing fail-stubs (a stub marked the SKU done and burned it forever; an ollama flap corrupted 2066 SKUs this way) -
ec40684a2026-07-01 auto-save: 2026-07-01T13:44:23 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
205ca41f2026-07-01 auto-save: 2026-07-01T12:42:45 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
a7285b372026-07-01 audit: Sangetsu+Lilycolor Activation-Gate readiness manifest (063026A) -
325fa91a2026-07-01 DWGO approved for Sangetsu/Goodrich: lock prefix in publish-prep + stamp vendor_prefix onto staging (numeric assignment stays gated to registerSku) -
e1dcbbd92026-07-01 auto-save: 2026-07-01T11:42:20 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
b489cfc02026-07-01 merge-staging: idempotent join of unified specs + local enrichment + EN titles into publish-ready records (gates untouched) -
2cc69d312026-07-01 chore: enrichment finisher + retry-errors self-heal scripts, v1.1.1 (session close) -
d55bd8f62026-07-01 auto-save: 2026-07-01T11:11:52 (8 files) — DW-Programming/ImportNewSkufromURL/Skills/morris-and-co/catalog.skill.ts DW-Programming/ImportNewSkufromURL/Skills/ralph-lauren/catalog.skill.ts DW-Programming/ImportNewSkufromURL/lib/scrapers/arbor-wood-new-products-scraper.ts DW-Programming/ImportNewSkufromURL/lib/scrapers/arc-com-digital-solutions-new-products-scraper.ts DW-Programming/ImportNewSkufromURL/scripts/scraper-healthcheck.ts -
92c43de82026-07-01 enrich-full.py: per-output-file flock guard to prevent stacked duplicate workers (Mac2 near-freeze 2026-07-01) -
7c09908d2026-07-01 auto-save: 2026-07-01T10:41:35 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
d475afbe2026-07-01 auto-save: 2026-07-01T10:11:20 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh onboarding/sangetsu-lilycolor/scripts/finish-enrich.sh -
8d6d263d2026-07-01 ImportNewSkufromURL: fix rwltd-gemini-cron key (literal-placeholder secret-strip regression → env-first + guard) -
07466aaa2026-07-01 chore: lint (drop unused import) + env-gated enrich sharding (session close) -
0cffa7062026-07-01 auto-save: 2026-07-01T09:41:09 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
70ad589d2026-07-01 translate-titles: resumable local JA->EN Lilycolor title translator (qwen2.5vl) -
f92f91822026-07-01 enrich-full: resumable local vision enrichment scaled from pilot -
8ab9ae242026-07-01 sangetsu-lilycolor: decision-ready prefix + activation-gate prep draft (063026A) -
59b215e92026-07-01 auto-save: 2026-07-01T07:46:40 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
45887d532026-07-01 DWTT qty stepper: theme.liquid min-qty-guard backup (ORIGINAL + PATCHED) — live fix revert point -
bbcfe6202026-07-01 snapshot before restart: session work (C&D onboard, CRCP FHA, DWTT qty fix) -
bef551cd2026-07-01 auto-save: 2026-07-01T05:45:57 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
4bc7d2922026-07-01 auto-save: 2026-07-01T04:45:36 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
ff67c8232026-07-01 auto-save: 2026-07-01T03:45:17 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
de101d382026-07-01 auto-save: 2026-07-01T02:45:00 (12 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 scripts/room-image-push/ledger.json shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-01.json -
1517cbbf2026-07-01 auto-save: 2026-07-01T02:14:51 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/mindthegap-land-20260701T000103.json shopify/scripts/data/bucketB/nina-land-20260701T000103.json -
40fea7212026-07-01 auto-save: 2026-07-01T01:44:40 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
974efb4d2026-07-01 auto-save: 2026-07-01T00:44:22 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-am-2026-07-01.json -
489629c02026-07-01 auto-save: 2026-07-01T00:14:13 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260701T000103.json shopify/scripts/data/bucketB/coordonne-land-20260701T000103.json shopify/scripts/data/bucketB/grahambrown-land-20260701T000103.json -
dad0c3462026-06-30 auto-save: 2026-06-30T22:43:48 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
e664e29c2026-06-30 auto-save: 2026-06-30T21:43:31 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
ce69ce722026-06-30 auto-save: 2026-06-30T20:43:13 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
089287542026-06-30 DWTT qty stepper: add combined diffs, clean harness proof + screenshot, verification scripts -
b77fe3702026-06-30 DWTT qty stepper fix: repair +/- increment/decrement in custom.js + pristine data-order-* in product-form-content.liquid (dev theme 144105013299) -
67ffd7842026-06-30 auto-save: 2026-06-30T20:13:04 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/theme-fixes/custom-js-qty-2026-06-30/ -
a1e11baf2026-06-30 Theme fix: color-dots makeDot 'c is not defined' scoping bug (aborts init → breaks MOQ qty enforcement); staged on dev theme 144105013299 -
87ce255a2026-06-30 auto-save: 2026-06-30T19:42:55 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
e04ff3852026-06-30 Fix DWTT/AF qty stuck-at-1: set theme with-s global.v_prods_quantity_order_min=2 (10 products had min on ignored no-s key) -
a73611a12026-06-30 auto-save: 2026-06-30T18:42:37 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl vendor-scrapers/china-seas-refresh -
31dea8052026-06-30 auto-save: 2026-06-30T18:12:29 (7 files) — package-lock.json pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh mailers/room-croco.png mailers/room-fauxlinen.png -
6fa4f0362026-06-30 chore: v1.1.0 (session close — PJ 10/day DWPJ draft drip) -
544000402026-06-30 Hollywood email: 3 approved scale-corrected room-setting heroes + Shopify Files uploader -
77e1c2812026-06-30 auto-save: 2026-06-30T17:42:20 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-pm-2026-07-01.json shopify/scripts/cadence/data/upload-restore-2026-07-01.jsonl -
38a5c6b22026-06-30 auto-save: 2026-06-30T17:12:11 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json vendor-scrapers/china-seas-refresh mailers/hollywood-room-hero-gen.png -
e1981b2e2026-06-30 cadence(PJ): switch net-new prefix DWJP->DWPJ (Steve, registry-canonical) + re-enable drip -
eebde7f62026-06-30 cadence: temporarily hold PJ drip while reassigning prefix DWJP->DWPJ (Steve) -
ddf810742026-06-30 cadence: ENABLE Phillip Jeffries 10/day DRAFT drip (PJ_DRAFT_DRIP=1) — Steve approve-all 2026-06-30 -
11b2896f2026-06-30 auto-save: 2026-06-30T16:41:53 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl -
289f3d9a2026-06-30 Wire Phillip Jeffries into cadence as gated 10/day DRAFT-only drip -
859470c82026-06-30 auto-save: 2026-06-30T15:41:34 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl shopify/scripts/cadence/run-cadence-hourly.sh -
73d6e54b2026-06-30 auto-save: 2026-06-30T14:41:08 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
2652f4992026-06-30 auto-save: 2026-06-30T14:10:58 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
354f94792026-06-30 auto-save: 2026-06-30T13:40:46 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
ee125e3d2026-06-30 auto-save: 2026-06-30T13:10:36 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
78833f4e2026-06-30 Hollywood Wallcoverings CC campaign — China Seas clone (validated 9/9, draft-create ready) -
aeec09502026-06-30 auto-save: 2026-06-30T12:40:24 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
7d393bdd2026-06-30 auto-save: 2026-06-30T12:10:12 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
3499334f2026-06-30 Add local swatch-enrichment pilot (50 Lilycolor swatches, $0 local qwen2.5vl + Pillow + lexicon colorway map); stages only -
6319ed462026-06-30 chore: product_type casing normalize scripts (Wolf Gordon 483 + canonical 842) — session close -
6736e88a2026-06-30 auto-save: 2026-06-30T11:09:49 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
ce63fbf32026-06-30 auto-save: 2026-06-30T10:09:30 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
153398512026-06-30 auto-save: 2026-06-30T09:39:21 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shot.mjs -
4af735f62026-06-30 China Seas reconcile (DTD-A): source china_seas_catalog 106 Commercial Wallcovering -> Wallcovering; local mirror 24 small-line -> Fabric; backups + rollback -
a324b3e22026-06-30 Quadrille family reclassification: 3 Alan Campbell + 24 small-line lines -> Fabric; China Seas kept residential Wallcovering (reverted catalog Commercial-WC flag per Steve) -
747a68212026-06-30 auto-save: 2026-06-30T09:09:13 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
d8d203402026-06-30 RESUME-063026A: add local design-enrichment task (interior-designer skill -> style/colors/hex via local vision model; llm-stats.com only if needed) -
b2cba3362026-06-30 auto-save: 2026-06-30T07:59:18 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
ef98de0c2026-06-30 RESUME-063026A: add debug task — terminal keeps losing prompt line -
0f8c885d2026-06-30 Adopt dated restart-code convention (MMDDYY+letter): abc123A -> 063026A -
873527ec2026-06-30 auto-save: 2026-06-30T07:29:10 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/_elitis-retry.mjs -
391d11452026-06-30 Session wrap: RESUME-abc123A handoff + run-viewer.sh relauncher (resume code abc123A) -
e92745b32026-06-30 Lily+Sangetsu read-only dedup pass: 0 true dups, 12,806 net-new (164 matches all cross-vendor SKU-string collisions); reproducible dedup.sql -
fc112db42026-06-30 auto-save: 2026-06-30T06:59:02 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
fc41898a2026-06-30 auto-save: 2026-06-30T05:58:45 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
698dfc9d2026-06-30 Lily: selective ZIP-range swatch fetcher -> Henry + viewer serves local pattern swatches (/img/lily/:sku), live-reload as they land -
700c35312026-06-30 auto-save: 2026-06-30T05:28:32 (4 files) — onboarding/sangetsu-lilycolor/lily-merge.cjs pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/staged/free-samples-banner/apply-banner-to-live.sh -
0af646f82026-06-30 free-samples phase 3: stage Shopify discount Function (trade unlimited / non-trade first-3-per-order / anon none, 8 tests pass), update banner CTA to 'Sign up to get your 3 free samples', regen+verify port patch -
fef16d472026-06-30 auto-save: 2026-06-30T04:58:21 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
1ae37d282026-06-30 Lilycolor trade-catalog import: pricebook parser (2,543 SKUs, full specs+price), image manifest (6,825 imgs via zip-range trick), unified merge, viewer wired to unified data -
0bacae1f2026-06-30 note existing store discount codes in free-samples approval doc -
d477dbc92026-06-30 free-samples phase 2: verified live-main theme role, staged port patch, corrected discount mechanism (Option B, no money objects on prod) -
f8cd79bc2026-06-30 Add offline web viewer for staged Sangetsu + Lilycolor SKUs (sort+density+infinite-scroll, single-writer restage) -
a2399f8e2026-06-30 stage free-samples banner on dedicated dev theme [Dev] free-samples-banner (144088858675); discounts drafted to pending-approval -
71c990ae2026-06-30 auto-save: 2026-06-30T03:57:50 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
d32a22a32026-06-30 auto-save: 2026-06-30T02:57:33 (10 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl -
38299cb32026-06-30 auto-save: 2026-06-30T02:27:25 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/phillipromano-land-20260630T000103.json -
c13b6c542026-06-30 auto-save: 2026-06-30T01:57:11 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
e8cf49f72026-06-30 auto-save: 2026-06-30T00:56:54 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-am-2026-06-30.json -
407468de2026-06-30 auto-save: 2026-06-30T00:26:45 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260630T000103.json shopify/scripts/data/bucketB/coordonne-land-20260630T000103.json shopify/scripts/data/bucketB/grahambrown-land-20260630T000103.json -
da236c8e2026-06-29 auto-save: 2026-06-29T22:56:22 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
351495ce2026-06-29 auto-save: 2026-06-29T21:56:05 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
b3ef01bd2026-06-29 auto-save: 2026-06-29T20:55:50 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
eabc9cac2026-06-29 auto-save: 2026-06-29T19:55:33 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
b62a066f2026-06-29 auto-save: 2026-06-29T18:55:18 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl vendor-scrapers/china-seas-refresh -
646de0772026-06-29 auto-save: 2026-06-29T17:55:02 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-pm-2026-06-30.json shopify/scripts/cadence/data/upload-restore-2026-06-30.jsonl -
79b1b8482026-06-29 Stage restrained hero 'Book an Appointment' secondary CTA on dev theme 144076931123 (DTD verdict C) -
9773acef2026-06-29 auto-save: 2026-06-29T16:54:45 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
7ba76ce72026-06-29 Quadrille-house cadence: type-by-row from staging table (most are Fabric, not Wallcovering) -
61aa048a2026-06-29 Suncloth title cleanup: drop 'Wallcoverings' from 119 fabric titles (Steve approved) -
a7ce3afe2026-06-29 auto-save: 2026-06-29T16:24:37 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/_run-elitis.mts -
670bf7512026-06-29 Suncloth retro-flip: 119 live products Wallcovering->Fabric (PG-staged, GraphQL batched) -
4547b4402026-06-29 Andrew: final consolidated 36in letter drafted (Woven Grass #1 + Ambience + 2 Lilycolor naturals Straw Weave/Crushed Metallic Washi); skipped EOL LW294 -
ccdd68da2026-06-29 Suncloth is Fabric not Wallcovering: stop cadence overriding staging classification -
cda0849d2026-06-29 Sangetsu parser: image-filename SKU harvest (covers swatch+numeric), backing/width fixes, hunt cmd; refocus Andrew on 36in grasscloth (Woven Grass/Ambience), corrected George draft -
be5f55492026-06-29 Sangetsu: parsePage proven (plain fetch, no Browserbase) — 15 patterns/238 SKUs; documented swatch+numeric-SKU refinement via variations JSON -
d29bf8092026-06-29 auto-save: 2026-06-29T15:54:24 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
3206484f2026-06-29 appointments: GO-LIVE — theme 5.9.0 published, page live + in nav -
5ac4e2092026-06-29 Sangetsu: sitemap discovery (879 wallpaper pattern pages, regional .co.th seed) + dossier session progress -
110f255d2026-06-29 Lilycolor: feed-first scraper staged 3,107 products offline (no Shopify); Andrew reply drafted via George -
0db1c1312026-06-29 appointments: export freeBusy alias for calendar busy() (freebusy.query) — verified e2e: temp busy event subtracts slot, removal restores it -
23762b6b2026-06-29 appointments: OAuth connected — calendar live (connected:true, oauth_configured:true) -
6171cced2026-06-29 Onboard (staged/offline) Sangetsu + Lilycolor: registry entries, catalog dossier, Lilycolor feed-first recon, customer Disco shortlist -
80f9541f2026-06-29 auto-save: 2026-06-29T15:24:16 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh onboarding/ -
fdeaccb12026-06-29 auto-save: 2026-06-29T14:53:15 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
6fa68e9e2026-06-29 auto-save: 2026-06-29T13:49:26 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
c97a60da2026-06-29 appointments: RESUME-HERE checkpoint (one step left = OAuth secret + consent) [no real secret; gitleaks false positive on project number] -
ff9d34832026-06-29 auto-save: 2026-06-29T12:49:09 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
29132a2f2026-06-29 deploy: insert before the LAST </body> (theme.liquid has an earlier dead one) + ALLOW_LIVE gate for live pushes -
02af8f982026-06-29 product min-qty: recurring re-assert beats theme's variant-change widget rebuild (Wallcovering now holds min=10) -
4f37afe22026-06-29 auto-save: 2026-06-29T11:48:48 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
31e6eaee2026-06-29 deploy: push-min-qty-to-dev-theme.py — inject per-variant min-qty into a dev theme's theme.liquid (product-gated, backup, idempotent, THEME_ID override) -
9fcc5ff82026-06-29 product min-qty: target real mm_ quantity widget + single-option-selector; verified on live DOM (Sample=1, PerYard=5, Wallcovering=10, clamp+step1) -
abe1470c2026-06-29 appointments LIVE at api.designerwallcoverings.com: migration re-owns appt_ to dw_admin; vhost corrected to IP-specific :443 (SNI fix). Backend deployed + verified e2e over HTTPS. -
66541e4e2026-06-29 product min-qty: step=1 — minimum is a floor, above it order any qty in increments of 1 -
a2ad63bc2026-06-29 appointments: Google OAuth setup guide (Cloud Console + secrets-on-box + consent click) -
ab77a98e2026-06-29 product: per-variant min quantity (Sold Per Yard=5, Wallcovering=10, Sample=1) + clamp so qty can't go below min -
9a74adab2026-06-29 appointments: FINISH-on-kamatera one-paste (mount+reload, vhost+certbot) — agent did DNS/rsync/pg/env/migration, prod entrypoint edit reserved for Steve -
bbe051b72026-06-29 auto-save: 2026-06-29T10:48:32 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
f5cca3202026-06-29 appointments deploy artifacts: api. nginx vhost + certbot + FINAL keep-in-dev runbook (Option A; DNS A-record live in Cloudflare) -
04f341472026-06-29 Fix sku-inquiry + koroseal-quote 404s: point at api.designerwallcoverings.com (same Option-A routing as appointments) -
529174632026-06-29 appointments: target api.designerwallcoverings.com (Option A edge routing) for API base, public base + OAuth redirect -
11042a142026-06-29 appointments: deploy prep — runbook + nginx snippet (edge-routing blocker documented) -
991e88d02026-06-29 appointments: omit blank api_base default (Shopify schema requires non-blank or absent) -
d4a84f3f2026-06-29 appointments: same-origin relative API base (matches /api/koroseal-quote proxy) + Sherman Oaks showroom address -
cae107be2026-06-29 auto-save: 2026-06-29T09:48:16 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
5a2739b32026-06-29 Add appointment booking (phone/in-person) — engine + Shopify section staged on dev theme 5.9.0 -
c1d34c952026-06-29 auto-save: 2026-06-29T08:47:49 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
eb3621202026-06-29 auto-save: 2026-06-29T07:47:19 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
32e8f4882026-06-29 sku-inquiry handler: George /api/send + basic-auth (delivers to info@; verified 200 on Kamatera) -
bf10591a2026-06-29 auto-save: 2026-06-29T06:49:18 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
1f93510f2026-06-29 auto-save: 2026-06-29T05:49:04 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
c59c23aa2026-06-29 auto-save: 2026-06-29T04:48:49 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
0156997d2026-06-29 auto-save: 2026-06-29T03:48:35 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
67620c432026-06-29 auto-save: 2026-06-29T03:18:28 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh -
be5f24de2026-06-29 auto-save: 2026-06-29T02:48:21 (11 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl -
9801204e2026-06-29 auto-save: 2026-06-29T02:18:13 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/nina-land-20260629T000104.json -
05c423582026-06-29 auto-save: 2026-06-29T01:48:05 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
d03f2c3b2026-06-29 auto-save: 2026-06-29T00:47:51 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-am-2026-06-29.json -
f9f9d6bb2026-06-29 auto-save: 2026-06-29T00:17:43 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260629T000104.json shopify/scripts/data/bucketB/coordonne-land-20260629T000104.json shopify/scripts/data/bucketB/grahambrown-land-20260629T000104.json -
575cd11a2026-06-28 auto-save: 2026-06-28T22:47:20 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
3db2687b2026-06-28 auto-save: 2026-06-28T21:47:06 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
82d335872026-06-28 auto-save: 2026-06-28T20:46:43 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
c8d5a1482026-06-28 auto-save: 2026-06-28T19:46:29 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
83ce4a5f2026-06-28 auto-save: 2026-06-28T18:46:15 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl vendor-scrapers/china-seas-refresh -
de8cb52e2026-06-28 auto-save: 2026-06-28T17:45:58 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-pm-2026-06-29.json shopify/scripts/cadence/data/upload-restore-2026-06-29.jsonl -
d5394af92026-06-28 auto-save: 2026-06-28T16:45:39 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
068cdf322026-06-28 auto-save: 2026-06-28T15:45:20 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
ef8e327b2026-06-28 auto-save: 2026-06-28T14:45:07 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
182588b02026-06-28 auto-save: 2026-06-28T13:44:54 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
9729f26d2026-06-28 auto-save: 2026-06-28T12:44:41 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-pm-2026-06-28.json -
94a55d312026-06-28 auto-save: 2026-06-28T11:44:26 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
78485ba42026-06-28 auto-save: 2026-06-28T10:44:13 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
d4f6280e2026-06-28 auto-save: 2026-06-28T09:43:58 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
06471a7a2026-06-28 auto-save: 2026-06-28T08:43:43 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
3a309b062026-06-28 auto-save: 2026-06-28T07:43:27 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
c23f47982026-06-28 auto-save: 2026-06-28T06:43:12 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
b9fc5eb42026-06-28 auto-save: 2026-06-28T06:13:03 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh vendor-scrapers/quadrille-onboard/data/ -
4d3765d52026-06-28 auto-save: 2026-06-28T05:42:57 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
610be6222026-06-28 auto-save: 2026-06-28T04:42:43 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
42efa17c2026-06-28 auto-save: 2026-06-28T03:42:30 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
9561ea212026-06-28 auto-save: 2026-06-28T03:12:23 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/room-image-push/ledger.json vendor-scrapers/china-seas-refresh -
19a1dec42026-06-28 auto-save: 2026-06-28T02:42:17 (11 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl -
349fdbed2026-06-28 auto-save: 2026-06-28T02:12:10 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/longtail-land-20260628T000102.json shopify/scripts/data/bucketB/mindthegap-land-20260628T000102.json shopify/scripts/data/bucketB/nina-land-20260628T000102.json -
251baa1f2026-06-28 auto-save: 2026-06-28T01:42:03 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl vendor-scrapers/china-seas-refresh -
53c13fcf2026-06-28 auto-save: 2026-06-28T00:41:48 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-am-2026-06-28.json shopify/scripts/cadence/data/upload-restore-2026-06-28.jsonl -
64f3be692026-06-28 auto-save: 2026-06-28T00:11:41 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260628T000102.json -
cc98d1682026-06-27 auto-save: 2026-06-27T17:10:09 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 pw_shot.mjs vendor-scrapers/china-seas-refresh -
4fec42072026-06-27 dw-boost-overrides: fix re-mount target check — append to visible toolbar-inner instead of contains()-rejecting it (slider was lifted out of hidden --3_1) -
0f8a6b792026-06-27 dw-boost-overrides: re-mount density slider+filter toggle+ptype bar into visible Boost toolbar when anchored variant is display:none (FIX 2) -
fb378bce2026-06-27 auto-save: 2026-06-27T16:40:02 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh pw_shot.mjs -
14dd204f2026-06-27 auto-save: 2026-06-27T12:09:05 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl vendor-scrapers/china-seas-refresh -
1b3c9bfd2026-06-27 Remove temporary inspection scripts -
8f532c582026-06-27 Hue sort: fix Light->Dark direction (lightest first) + unreadable cards sink to end -
8146806b2026-06-27 Hue sort: 3-tier mount (slider-adjacent / visible toolbar-content fallback / late slider) so the pill always lands in the shown toolbar -
fa2760752026-06-27 Hue sort: anchor mount to grid-density slider (inherits correct visible toolbar) -
a8e8208a2026-06-27 auto-save: 2026-06-27T11:08:52 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl vendor-scrapers/china-seas-refresh -
9b14ef652026-06-27 Hue sort: mount into VISIBLE Boost toolbar (skip display:none variant) + select min-width -
f68c72872026-06-27 Collection grid UX: hue/color sort modes + compact pill under image + Design Coordinate dw_sku->handle fix -
8a2aa39f2026-06-27 auto-save: 2026-06-27T10:08:38 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl vendor-scrapers/china-seas-refresh -
4af3c33f2026-06-27 auto-save: 2026-06-27T09:08:24 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl vendor-scrapers/china-seas-refresh -
f6c8c6ce2026-06-27 auto-save: 2026-06-27T08:08:11 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl vendor-scrapers/china-seas-refresh -
0b4139bf2026-06-27 auto-save: 2026-06-27T07:07:58 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl vendor-scrapers/china-seas-refresh -
fbc05e7e2026-06-27 auto-save: 2026-06-27T06:07:45 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl vendor-scrapers/china-seas-refresh -
4f81a0fb2026-06-27 auto-save: 2026-06-27T05:07:32 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl vendor-scrapers/china-seas-refresh -
b07eaeb92026-06-27 auto-save: 2026-06-27T04:07:19 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl vendor-scrapers/china-seas-refresh -
190d27d42026-06-27 auto-save: 2026-06-27T03:07:07 (11 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/room-image-push/ledger.json shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl -
bc2130e12026-06-27 auto-save: 2026-06-27T02:37:00 (3 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh -
c2bf650f2026-06-27 auto-save: 2026-06-27T02:06:53 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json shopify/scripts/cadence/data/upload-restore-2026-06-27.jsonl vendor-scrapers/china-seas-refresh -
df04e65f2026-06-27 auto-save: 2026-06-27T01:06:38 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/data/fix-91-memo-samples.ledger.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-am-2026-06-27.json -
8b3be6752026-06-27 auto-save: 2026-06-27T00:36:29 (9 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/data/tag-contact-for-price.ledger.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/coordonne-land-20260627T000102.json shopify/scripts/data/bucketB/grahambrown-land-20260627T000102.json -
8a7342952026-06-27 Dev-theme push script for contact-for-price block (tag-gated, stub-guard, THEME_ID override) -
3e354e5e2026-06-27 SKU-inquiry backend (George-routed, fail-open) + throttle on apply scripts; 41 samples added + 431 tagged on live store -
d497aec82026-06-27 auto-save: 2026-06-27T00:06:21 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/fix-active-lastweek-samples.js shopify/scripts/tag-contact-for-price.js vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260627T000102.json -
0b2efa542026-06-26 Add contact-for-price PDP section + additive tagging script for 431 sample-only SKUs -
fb9148132026-06-26 Add dry-run-first fix scripts for active-last-week 2-variant review (41 missing-sample + 434 only-sample) -
2afc375b2026-06-26 auto-save: 2026-06-26T17:04:47 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enhancements/infinite-scroll-observer.js vendor-scrapers/china-seas-refresh -
ca8adbdf2026-06-26 auto-save: 2026-06-26T16:04:29 (16 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/enhancements/ARCHITECTURE.md shopify/enhancements/COLLECTION-LIQUID-INTEGRATION.liquid shopify/enhancements/INFINITE-SCROLL-IMPLEMENTATION.md shopify/enhancements/QUICK-REFERENCE.txt -
d0429e1a2026-06-26 auto-save: 2026-06-26T15:34:21 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/_cwGRID/sections/pattern-page.liquid shopify/_cwGRID/sections/similar-designs.liquid shopify/scripts/anna-french-repair-inplace.mjs vendor-scrapers/china-seas-refresh -
d1277e572026-06-26 cadence/activate-gated: publish DRAFT->ACTIVE promotes to Online Store channel -
08e993762026-06-26 snapshot before git gc -
18fa34c82026-06-26 Designtex UOM followup: 3-SKU flip driver + verify (drift trickle after 77-fix; source already fixed in vendors.js 974c7dd0) -
974068722026-06-26 auto-save: 2026-06-26T12:33:24 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh audits/designtex-uom-fix/designtex-live-gap-2026-06-26.json -
a3007ac52026-06-26 Designtex UOM 77-SKU task: live verify shows drift already 0 (no-op), PLAN documents verified state -
669dc5bb2026-06-26 auto-save: 2026-06-26T11:45:25 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/room-image-push/ledger.json shopify/package-lock.json shopify/package.json shopify/scripts/cadence/data/cadence-cursor.json -
9279cbe42026-06-26 auto-save: 2026-06-26T11:15:12 (7 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh audits/designtex-uom-fix/220216-live-AFTER-boltsize-2026-06-26.png audits/designtex-uom-fix/220216-spec-boltsize-LIVE.png shopify/_cwGRID/deployed/ -
688200772026-06-26 chore: lint + refactor newwall remap/scrub scripts, token guard, version-up (session close) -
974c7dd02026-06-26 auto-save: 2026-06-26T10:45:01 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/cadence-import.js shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-26.json shopify/scripts/cadence/data/upload-restore-2026-06-26.jsonl -
7a711a9e2026-06-26 Fleet room-image push: one-shot FLEET COMPLETE alert (CNCP win + George email) on zero remaining -
014154952026-06-26 Fix metafield-scrub delete to use metafieldsDelete (collection_name now removed on all 74) -
b1cc85222026-06-26 Designtex: Sold Per Yard variant relabel + Bolt size (spec-table relabel staged on dev 5.6.0 theme) -
c03397292026-06-26 Scrub residual Newwall leak from metafields: global.Brand->real brand + delete junk custom.collection_name letter (74 products) -
277d0d982026-06-26 auto-save: 2026-06-26T10:14:48 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh scripts/room-image-push/ledger.json scripts/room-image-push/workset.json -
b75de15f2026-06-26 Fleet room-image push: idempotent paced daily cadence job (top-3 credited room shots/SKU, <=900 adds/day) -
14755f272026-06-26 auto-save: 2026-06-26T09:44:31 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-26.json shopify/scripts/cadence/data/upload-restore-2026-06-26.jsonl vendor-scrapers/china-seas-refresh -
9a06a6a02026-06-26 Remap reseller vendor 'Newwall' -> real brand per-SKU (Coordonné 46 / Tres Tintas 28), scrub leak from vendor+title+description on 74 products -
9e5acb6f2026-06-26 auto-save: 2026-06-26T08:43:59 (38 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-26.json shopify/scripts/cadence/data/upload-restore-2026-06-26.jsonl vendor-scrapers/china-seas-deheader/STATUS.md -
b0a474652026-06-26 Quadrille room-settings: S3 full-size probe + brand-prefix match + attach CSV (final reversible artifacts) -
e3a5d53f2026-06-26 Quadrille/China Seas editorial room-setting → SKU matcher + credit parser (reversible build; CSVs + summary) -
62dcf0862026-06-26 PDP refresh: filter internal/ops tags out of KEYWORDS (leak fix) + mute styling + move Design Coordinate pill under product image -
cdaabdc22026-06-26 PDP: shrink Design Coordinate CTA to a compact pill (was full-width bar) -
ec2481942026-06-26 grouped grid: two-tier drill-down chips (Color/Style/Sort → value sub-row) + feed hue/style filters -
4544b52b2026-06-26 grouped grid: sort as visible chips/tabs (default Most Colors) + preserve preview_theme_id on pattern links -
003b6f722026-06-26 China Seas image-corruption repair: authoritative re-scrape + re-match (194 fixed, 164 blanked, gated) -
67c25a462026-06-26 pattern page: self-heal colorway images from live product.js -
24ecdb0b2026-06-26 auto-save: 2026-06-26T07:43:29 (9 files) — package-lock.json pending-approval/boost-filter-consolidation-2026-06-25 shopify/_cwGRID/sections/pattern-page.liquid shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-26.json -
8d9628b52026-06-26 chore: lint clean (drop unused rr) + v1.0.1 (session close — ERE/EUR reimage executors) -
c70c77792026-06-26 grouped grid: self-heal stale images from live product.js + hide truly-dead imgs (no broken icons) -
dd2798d12026-06-26 grouped grid: pass collection_handle for brand-family scoping -
1819c6052026-06-26 grouped grid: Hue+Style sorts, controls show on load (dev 5.6.0) -
b28de43c2026-06-26 auto-save: 2026-06-26T06:43:07 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-26.json shopify/scripts/cadence/data/upload-restore-2026-06-26.jsonl vendor-scrapers/china-seas-refresh -
03bdc2922026-06-26 auto-save: 2026-06-26T06:12:56 (6 files) — DW-Programming/__pycache__/color-batch-cleaner.cpython-314.pyc DW-Programming/__pycache__/generate-room-settings.cpython-314.pyc DW-Programming/room-setting-app/__pycache__/generate-rooms-DWTT-80352.cpython-314.pyc pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/upload-restore-2026-06-26.jsonl -
0bce12402026-06-26 auto-save: 2026-06-26T04:09:16 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-26.json shopify/scripts/cadence/data/upload-restore-2026-06-26.jsonl vendor-scrapers/china-seas-refresh -
f63047b62026-06-26 auto-save: 2026-06-26T03:39:04 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-26.json shopify/scripts/cadence/data/upload-restore-2026-06-26.jsonl vendor-scrapers/china-seas-refresh -
4a73f66a2026-06-26 auto-save: 2026-06-26T02:08:48 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-26.json shopify/scripts/cadence/data/upload-restore-2026-06-26.jsonl vendor-scrapers/china-seas-refresh -
85eae7f72026-06-26 auto-save: 2026-06-26T01:08:32 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-26.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/upload-restore-2026-06-26.jsonl -
dd04a9c52026-06-26 auto-save: 2026-06-26T00:38:23 (8 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh post_ere_eur.js post_ere_eur_v2.js shopify/scripts/data/bucketB/coordonne-land-20260626T000103.json -
6d1e37bd2026-06-26 WS-2 grouped collection grid (owns render, overrides Boost) + WS-3 pattern page + similar-designs section (staged, not pushed) -
5dac2a202026-06-26 auto-save: 2026-06-26T00:08:14 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh pending-approval/ere-eur-mfr-photo-reimage-and-archive.md pending-approval/eur-manual-mfr-fix-worklist.csv shopify/scripts/data/bucketB/annafrench-land-20260626T000103.json -
4cea806f2026-06-25 JS reconcile COMPLETE: 491/491 DWJS-91xxx resolved via live yorkwall.com (454 active, 37 disco); resume-mode harness + post-scrape reconcile + audit -
910e61d52026-06-25 auto-save: 2026-06-25T19:06:46 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 scripts/jeffrey-stevens-reconcile/js-scrape-audit.jsonl vendor-scrapers/china-seas-refresh -
c945123f2026-06-25 auto-save: 2026-06-25T18:36:37 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh scripts/jeffrey-stevens-reconcile/backfill-pattern-from-shopify.sql scripts/jeffrey-stevens-reconcile/js-scrape-audit.jsonl -
d52584b42026-06-25 JS reconcile: newline-agnostic title regex + post-scrape 91xxx resolution SQL -
4d1ec9782026-06-25 Jeffrey Stevens reconcile: openclaw-driven authed yorkwall.com per-SKU scraper (current/disco + MAP + specs -> york_catalog) -
205a826b2026-06-25 auto-save: 2026-06-25T18:06:20 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh scripts/jeffrey-stevens-reconcile/master-june16.csv scripts/jeffrey-stevens-reconcile/york-master-june16.xlsx -
01c6646f2026-06-25 cadence: arm Anna French (lift DENY_VENDORS after link-and-skip) + type-aware title/intro for mixed-type vendors (fabric rows no longer titled 'Wallcoverings') -
79b4034f2026-06-25 Jeffrey Stevens disco reconciliation: staged York scrape runbook + reconcile SQL (DTD-C, read-only) -
e85ad64a2026-06-25 auto-save: 2026-06-25T17:36:07 (3 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/cadence-import.js vendor-scrapers/china-seas-refresh -
964015812026-06-25 Disable stage-winfield-thybony.py — keyed off stale/collided April DW SKUs; ~1,776 Winfield already exist as archived PR/Hollywood shells (dedup by mfr_sku). Corrected Track A/B flow supersedes -
202fdad22026-06-25 cadence: unit-aware soldBy for Kravet family (soldByUnit) — yard-priced goods (Winfield Thybony foils) label 'Yard'/'Priced Per Yard' not 'Single Roll'; additive, non-opt-in vendors unchanged -
8bb3a5cd2026-06-25 docs(filter-topbar): record Material=Contents data finding + live Material default -
f35e902f2026-06-25 feat(filter-topbar): Material is the headline data-backed default (global.Contents → pf_t_material) -
dd45cbf02026-06-25 auto-save: 2026-06-25T17:05:58 (13 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/anna-french/anna-french-staging-fix-audit-2026-06-25.json vendor-scrapers/china-seas-refresh shopify/scripts/anna-french-priceout-2026-06-25/04-recover-prices.js shopify/scripts/anna-french-priceout-2026-06-25/05-add-yard-variants.js -
aaf83b422026-06-25 Stage full Winfield Thybony line (2,613 SKUs) into kravet_catalog for cadence — yard-priced foils recovered at MAP; WDW2310 incl -
59dba9ea2026-06-25 docs(filter-topbar): G3 LIVE publish done — surgical push to theme 143976136755 + rollback path -
a826bdec2026-06-25 docs(filter-topbar): session update memo — ship-what-works, G1 Contents turnkey + data finding -
9ec871692026-06-25 feat(filter-topbar): ship-what-works — defaults to data-backed fields (color/style/brand/contents/price), customer-safe empty copy -
821c6a882026-06-25 Fix kravet-master-loader: keep YARD-priced wallcoverings (Winfield Thybony foils), not just ROLL — track unit_of_measure -
3a1c86b62026-06-25 Scrub hardcoded Shopify theme token from 4 DW-Agents scripts; load from env via dotenv -
35fa31e02026-06-25 cadence: ENABLE DW_DOUBLE_ROLL_MOQ=1 — new York/Brewster roll SKUs auto-stamp double-roll MOQ (explicit-mural + roll-unit guard per Steve) -
f7e9dde12026-06-25 feat(filter-topbar): replace Boost native toolbar — port product-type tabs + live count into topbar, hide boost-sd__toolbar -
3d5bb06c2026-06-25 auto-save: 2026-06-25T16:35:16 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/anna-french-priceout-2026-06-25/data/run-report.json vendor-scrapers/china-seas-refresh pending-approval/anna-french-anomaly-resolution-2026-06-25.md shopify/scripts/cadence/data/anna-french/af-fabric-fix-commit-2026-06-25.json -
9983383c2026-06-25 AF repair: add --only-mfr scoped filter (enables targeted collision re-runs without full 27-min pass) -
887f840a2026-06-25 fix(stage script): add curl -g so bracketed ?asset[key]= GET doesn't glob-fail (exit 3) -
fca4c4042026-06-25 fix(filter-topbar): split 199-char schema header into header+paragraph (Shopify 50-char header cap) -
85a7206d2026-06-25 v5.6.0 DEPLOYED (PDP light tidy live); Anna French 146 prices written to dw_unified, Shopify variants staged (roll budget=0 today) -
4573b89e2026-06-25 Stage gated G1/G2/G3 memo + DEV-theme staging script for Boost filter topbar -
3ebc8cd92026-06-25 Add field->Boost mapping + data-layer spec README for dw-boost-filter-topbar -
a5a75bec2026-06-25 Add dw-boost-filter-topbar section: horizontal dropdown filter toolbar (DTD verdict B) driving Boost pf_* params, per-field ON/OFF toggle, ported new-import-viewer UX -
b360daed2026-06-25 auto-save: 2026-06-25T16:05:06 (8 files) — DW-Agents/vendor-command-center/run-local.sh pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl -
c56edd4d2026-06-25 cadence-import: gated double-roll MOQ for York/Brewster roll SKUs (inert until DW_DOUBLE_ROLL_MOQ=1) -
f7aa3d462026-06-25 v5.6.0 staged: PDP info-column light tidy (equal-width aligned action buttons + even rhythm) -
21644ea12026-06-25 v5.5.2: PDP black size pills live (5.5.0 staged, 5.5.1 script placement, 5.5.2 hide native dropdown) + tear-sheet hidden; changelog with Δ-per-version -
98ab5eeb2026-06-25 auto-save: 2026-06-25T15:34:57 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 pending-approval/pdp-size-pills-2026-06-25/theme.liquid.STAGED vendor-scrapers/china-seas-refresh shopify/push-unhide-grid-prices-to-dev-theme.sh -
1c51fda52026-06-25 v5.5.0 staged: PDP size pills + tear-sheet hide; add versioned THEME-CHANGELOG (Δ-from-last on each version) -
d2b541972026-06-25 auto-save: 2026-06-25T15:04:49 (6 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
2583a0d62026-06-25 cadence: activate DWBR->Malibu Wallpaper remap (DWBR_HOUSE_LINE_REMAP=1) after canonical dw_unified flip -
64a76eb92026-06-25 AF repair: implement sample-fix/leak-scrub/archive-ghost apply paths (in-place leak scrub, type-safe metafieldsSet, manufacturer_sku allowlist preserved) -
56b85c3c2026-06-25 auto-save: 2026-06-25T14:04:32 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
ce9df9ca2026-06-25 auto-save: 2026-06-25T13:04:17 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json vendor-scrapers/china-seas-refresh -
713cd7762026-06-25 auto-save: 2026-06-25T12:04:02 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
bd605d242026-06-25 auto-save: 2026-06-25T11:33:53 (5 files) — pending-approval/boost-filter-consolidation-2026-06-25 vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/anna-french/anna-french-repair-plan-2026-06-25-postfix.json shopify/scripts/cadence/data/anna-french/anna-french-staging-fix-audit-2026-06-25.json shopify/scripts/cadence/data/anna-french/anna-french-staging-presnapshot-2026-06-25.csv -
91749a792026-06-25 AF staging fixer: route mfr_sku UNIQUE collisions (phantom AT dups of existing AF rows) to anomalies instead of erroring -
449e1cc62026-06-25 Add Anna French staging anomaly fixer (AT<->AF type/prefix/dw_sku correction from live truth) -
72746d812026-06-25 Add Anna French in-place repair tool (dry-run); 489 matched / 144 anomalies / 112 new -
3ba831902026-06-25 auto-save: 2026-06-25T11:03:45 (4 files) — pending-approval/boost-filter-consolidation-2026-06-25 shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json vendor-scrapers/china-seas-refresh -
c1902e872026-06-25 Stage infinite-scroll hardening patch (DTD verdict B: live already works, hold for post-mailer) -
e4435faa2026-06-25 cadence: add Anna French config with per-row product type (AT→Wallcovering/roll, AF→Fabric/yard); HELD in DENY_VENDORS pending gated re-prefix/handle-flip repair tool -
115f2e5b2026-06-25 cadence: DWBR per-product house-line emission (Malibu Wallpaper/LA Walls), gated OFF by default -
163fa1fb2026-06-25 Anna French Phase 1: install 789 dormant 301 redirects on live store (789 created, 0 failed) -
b10eebc12026-06-25 auto-save: 2026-06-25T10:33:35 (6 files) — vendor-scrapers/china-seas-refresh _incr.mjs pending-approval/boost-filter-consolidation-2026-06-25/ shopify/scripts/cadence/data/anna-french/anna-french-phase0-assign-2026-06-25T170825Z.json shopify/scripts/cadence/data/anna-french/anna-french-phase0-assign-2026-06-25T170839Z.json -
2cd03b9d2026-06-25 China Seas mailer: inline all pill styles (client-proof rendering; CC editor + Outlook ignore <style> block) -
df33ff462026-06-25 Anna French Phase 0: staging-only dw_sku assignment (591 DWTA->DWAT, 143 NULL fabrics->DWAF reusing live DWTT numeric per DTD verdict A) -
b135b9f72026-06-25 China Seas mailer: Naturals pill → /collections/grasscloth (Natural Grasscloth, holds GRS-/MAD- SKUs); re-synced to CC draft -
ff353ac22026-06-25 auto-save: 2026-06-25T10:03:24 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json vendor-scrapers/china-seas-refresh DW-Programming/ImportNewSkufromURL/dryrun-2026-06-25/ -
9a95b5b42026-06-25 China Seas mailer: repoint Design Idea Spotlight pills — Naturals→grasscloth-natural-fiber, Prints→thibaut, Geometric→geometric, Color of the Day→red-wallcoverings; re-synced to CC draft -
b1b593b12026-06-25 cadence-import: GUARD-ONLY denylist holds banned front-facing Brand (Brewster/York) before publish -
39f8c8fe2026-06-25 China Seas mailer: 'Shop by Theme' → 'Design Idea Spotlight' pills (Naturals/Prints/Geometric/Color of the Day), Color of the Day pill = Chinese red #C8102E; synced to CC draft -
749b4c5d2026-06-25 Anna French: build 301 redirect map (789 rows, 0 collisions, 0 self-redirects) for the 382 handle-changers + legacy dups -
5efac5ec2026-06-25 cadence-import: scrubBanned() guard on vendor+collection at body_html intro writers -
b4dccb492026-06-25 Anna French gate+diff audit artifact (734 pass, 239 discontinued, diff classification) -
6f6cf54e2026-06-25 Scrub parent-vendor leak (Thibaut/York) from Anna French customer-facing descriptions; re-attribute to Anna French -
4bfeada62026-06-25 china-seas mailer: drop Material + Account nav links so header fits on one line -
3866a1e52026-06-25 auto-save: 2026-06-25T09:03:03 (3 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json vendor-scrapers/china-seas-refresh -
30bafd582026-06-25 Anna French STEP4+5: onboarding gate (validateBeforeActivate) + diff-vs-live audit (read-only) -
785b09772026-06-25 Anna French STEP2+3: local Full-Monte enrichment + interior-designer lexicon normalizer (staging-only, $0 local) -
64278b922026-06-25 Scrub residual Brewster/York from 44 product descriptions (body_html leak vector) -
c3b4e5512026-06-25 Anna French scraper: full-page capture (all specs+cost+care+real description+all-images), no York/cost leak -
3085a5ef2026-06-25 auto-save: 2026-06-25T08:02:44 (3 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json vendor-scrapers/china-seas-refresh -
9e18ec7f2026-06-25 Add dedicated Anna French scraper (AT/AF -> DWAT/DWAF, staging-only, vendor-scoped) -
b142d6f52026-06-25 Fix front-facing Brewster/York leak: 26 products retitled+revendored to Malibu Wallpaper, 65 tag-scrubbed, 4 leak collections deleted -
57e17efc2026-06-25 harden roll-builder gqlR + longtail refund-on-abort net (close phantom-drain path) -
b05f19a02026-06-25 auto-save: 2026-06-25T07:02:28 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
9bf6e4912026-06-25 auto-save: 2026-06-25T06:02:12 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
43234b322026-06-25 auto-save: 2026-06-25T05:01:58 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
e3e703972026-06-25 auto-save: 2026-06-25T04:01:43 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
b7a69f822026-06-25 auto-save: 2026-06-25T03:01:29 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
9ec71d452026-06-25 auto-save: 2026-06-25T02:31:14 (2 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json vendor-scrapers/china-seas-refresh -
0d7f18292026-06-25 auto-save: 2026-06-25T02:01:05 (9 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/phillipromano-land-20260625T000105.json -
2ad44ac72026-06-25 auto-save: 2026-06-25T01:30:57 (3 files) — vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/mindthegap-land-20260625T000105.json shopify/scripts/data/bucketB/nina-land-20260625T000105.json -
323867492026-06-25 auto-save: 2026-06-25T01:00:48 (5 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-am-2026-06-25.json shopify/scripts/data/bucketB/hollywood-land-20260625T000105.json -
6ff225aa2026-06-25 auto-save: 2026-06-25T00:30:33 (5 files) — vendor-scrapers/china-seas-refresh shopify/scripts/data/bucketB/annafrench-land-20260625T000105.json shopify/scripts/data/bucketB/coordonne-land-20260625T000105.json shopify/scripts/data/bucketB/grahambrown-land-20260625T000105.json shopify/scripts/data/bucketB/harlequin-land-20260625T000105.json -
05e4a3e02026-06-25 auto-save: 2026-06-25T00:00:22 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
05af0f7e2026-06-24 auto-save: 2026-06-24T23:00:08 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
2df028da2026-06-24 auto-save: 2026-06-24T21:59:52 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
bbb2020a2026-06-24 auto-save: 2026-06-24T20:59:37 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
c9576fc92026-06-24 auto-save: 2026-06-24T19:59:19 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
76363d102026-06-24 auto-save: 2026-06-24T18:59:00 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl vendor-scrapers/china-seas-refresh -
f860f5cf2026-06-24 auto-save: 2026-06-24T17:58:43 (5 files) — shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh DW-Agents/vendor-command-center/deploy-mfval-guard.sh shopify/scripts/cadence/data/cadence-plan-pm-2026-06-25.json shopify/scripts/cadence/data/upload-restore-2026-06-25.jsonl -
81d5afae2026-06-24 China Seas mailer: replace nav with 8 main-site tabs (New Arrivals/Brands/Collections/Styles/Commercial/Color/Material/Account) — fixes 2 prior 404 nav links; all 26 links click-through verified -
d5a0e2642026-06-24 auto-save: 2026-06-24T16:58:22 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh -
cef2bf1c2026-06-24 China Seas mailer: add 3 more product photos (Arbre de Matisse, Club Cane, Cherry Branch) — featured patterns now 2x3, each linking to its product page -
e4ee07722026-06-24 Repair tool: collapse newlines for single-line metafield types (fixes 25 multi-line composition values Shopify rejected) -
ef5c99cb2026-06-24 Guard cadence-import against {type,value} blob: unwrap row.material at parse so live importer can't leak JSON into custom.material + product description -
98eea4a62026-06-24 Harden backfill-to-catalog extractFromMetafields: unwrap {type,value} at the true origin so catalog spec columns never store the blob -
1d6198222026-06-24 China Seas mailer: move Shop-by-Theme band to bottom on white bg; add .pill-theme (solid dark pills for light section) -
0088367c2026-06-24 China Seas mailer: 9 houses in 3x3 grid (add Lee Jofa, Brunschwig & Fils, GP & J Baker) + crisp Big Caslon China Seas wordmark at bottom; fix mislabeled Brunschwig (was Kravet family lockup) -
3bf61e372026-06-24 auto-save: 2026-06-24T15:58:04 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh -
bcebc4322026-06-24 Add fix-double-encoded-metafields.js: dry-run-safe repair for {type,value} blob leak in PDP specs -
b25933f12026-06-24 Fix double-encoded metafield leak: unwrap {type,value} blobs before writing custom.material / dwc.contents -
005ffea32026-06-24 patcher: make .value regex non-backtracking ((?!\\w)) so re-runs are truly idempotent -
75e798ac2026-06-24 Add reusable Shopify theme duplication script (asset-copy + 429 backoff) -
cb3bd9c12026-06-24 auto-save: 2026-06-24T15:27:54 (2 files) — vendor-scrapers/china-seas-refresh shopify/duplicate-theme.py -
008d22cf2026-06-24 patcher: avoid slash in LIVE label so backup path is valid -
246d40e92026-06-24 cc-api: add sync-china-seas.js — re-PUT mailer HTML to draft, preserving from/subject/address + trade list -
33c3f5302026-06-24 China Seas mailer: make all CTA buttons pill-shaped (border-radius 26px on .cta-btn + inline) -
e21ad3ee2026-06-24 Add drift-proof patcher to push the PDP spec .value fix to dev/live theme -
aa0b60a02026-06-24 Fix PDP spec rows rendering raw metafield envelope: read .value -
6be93c152026-06-24 China Seas mailer: pink hero v2 — TV removed (wallpaper patch), framed art + floor lamp, logo centered -
1ee9aa142026-06-24 TWIL grasscloth: apply Jerry Boyas email pricing (cost*0.75/yd) to sheet + 47 Shopify variants; activate 12 leak-free, retitle 26, archive 11 dups (scripts read token from .env, no hardcoded secret) -
e9f90aa92026-06-24 China Seas mailer: pink Clementine room hero (logo centered); move 5 theme pills to bottom band -
4fe043e32026-06-24 collection hero (dev theme): semi-opaque contrasting text panel + hide duplicate Boost lower banner -
29700f1b2026-06-24 China Seas mailer: DW banner restored at top, China Seas logo composited dead-center in room hero -
192396522026-06-24 mailers: add George test-send helper with CC-token fallback (clean self-test previews, CC source untouched) -
1bd894df2026-06-24 China Seas mailer: China Seas logo at top + bottom, room-setting hero (Lyford Trellis), tagline into pills band -
244f7d7b2026-06-24 Remove dead Show-24 per-page selector from theme-files mirror (consistency with live) -
d0dddc8f2026-06-24 Remove Show-24 per-page selector from collection toolbar; match product-type pill height to FILTERS pill -
e6cedea92026-06-24 China Seas mailer: move heritage-house logos to a single strip across the bottom -
70d82e0e2026-06-24 CC client: add updateCampaignActivity + getCampaignActivity; pushed Figma-matched HTML to live China Seas draft -
ce5c07722026-06-24 China Seas mailer: match Figma — overlaid wordmark on darkened hero + dark chip for China Seas logo -
78722c8e2026-06-24 DIG @gpt-corrupt SKU follow-up sweep: 25 found, bucket A empty (DTD B 3/0), 11 manual + 14 archived untouched, leak-redacted -
dfd198422026-06-24 CC OAuth: add contact_data scope (list read/set) + dotenv auto-load in oauth-setup -
bb5316e32026-06-24 auto-save: 2026-06-24T12:57:01 (3 files) — mailers/cc-api/oauth-setup.js shopify/display-variant-backfill/progress.json vendor-scrapers/china-seas-refresh -
8aa32e712026-06-24 CC API: auto-load creds from gitignored .env (dotenv); China Seas campaign created as CC draft -
e8a577a42026-06-24 Add Constant Contact OAuth setup helper (authorize URL + code->token exchange) -
4c4f363f2026-06-24 China Seas mailer: confirmed DW postal address + phone in footer & CC payload -
ec18eb1c2026-06-24 Host China Seas mailer vendor logos on Shopify CDN; swap 6 img src to permanent cdn.shopify.com URLs (unblocks logo-hosting check) -
dbcd31252026-06-24 Add Constant Contact v3 API scaffold for China Seas mailer (double-gated, dry-run validated) -
09b3f5652026-06-24 Add China Seas launch email mailer (6 theme pills + 6 heritage-house logos) -
d898edc12026-06-24 auto-save: 2026-06-24T12:26:52 (2 files) — shopify/scripts/dig-sample-12/apply-dig-sample-12.mjs vendor-scrapers/china-seas-refresh -
0cc3018f2026-06-24 Add display_variant tag to new-product import template (storefront variant-display rule) -
6287bc0d2026-06-24 Tres Tintas: diagnose missing display_variant tag (no buy button) + stage gated tag-add fix -
06f0b0bb2026-06-24 Ship iconized Download-PDF button to LIVE 5.2 (143955820595) -
a708122d2026-06-24 auto-save: 2026-06-24T11:56:44 (5 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl shopify/specsheet-pdf-port-5.2/spec-sheet-button.liquid vendor-scrapers/china-seas-refresh -
6ba8c81a2026-06-24 Stage DIG- concept-sample -> real $12 sample bulk-write plan (DTD Option B, not run) -
be3f43002026-06-24 auto-save: 2026-06-24T11:26:36 (3 files) — shopify/stage-pdp-variant-deeplink-fix.sh vendor-scrapers/china-seas-refresh shopify/specsheet-pdf-port-5.2/ -
88d88f382026-06-24 auto-save: 2026-06-24T10:56:28 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh -
4d8d4b832026-06-24 cadence: draft INERT Fentucci vendor entry (TWIL grasscloth prep) -
2f5131a92026-06-24 auto-save: 2026-06-24T10:26:20 (2 files) — vendor-scrapers/china-seas-refresh shopify/scripts/archive-skn.js -
5b044ca72026-06-24 burst: option name must be 'Size' + Roll-first variant (DW theme price-picker convention); fixed live on 42 TWIL products -
f41456c02026-06-24 cadence: tag new ACTIVE products 'New Arrival' inline so feed appears within the hour -
34951aa42026-06-24 auto-save: 2026-06-24T09:56:09 (5 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh pending-approval/burst_twil_naturals.py -
784bf4192026-06-24 auto-save: 2026-06-24T08:55:52 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh -
b5a9363b2026-06-24 Add fill_sheet.py: batch-write Image1/2/Alt/Desc to Fentucci sheet (G:J); sheet ID is public, not a secret -
2cbf56642026-06-24 auto-save: 2026-06-24T08:25:44 (2 files) — shopify/theme-infinite-scroll-142250278963/layout/theme.liquid vendor-scrapers/china-seas-refresh -
63cc17b92026-06-24 Add reusable dry-run-gated refresh-product-image.sh + hi-res BA452 (Oatmeal) for memo-sample blur fix -
f917d9902026-06-24 Add ALLOW_LIVE-gated live push script for Boost infinite override -
fafab4ef2026-06-24 Boost infinite-scroll override: force boostSDAppConfig paginationType=infinite_scroll via inline head snippet; verified append on dev theme 143956443187 (desktop 24->264, mobile 24->264) -
d436f9a22026-06-24 Coastal Mist live fix APPLIED + verified: real image, oil filter removed, Red/Needs-Image stripped; script hardened (no-eval, idempotent, token-masked) -
e0e417a22026-06-24 fix script: mask admin token in dry-run echoes + BSD-safe mktemp -
e7a461612026-06-24 auto-save: 2026-06-24T07:55:37 (8 files) — pending-approval/fix-coastal-mist-BA469.sh shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh -
670fae3f2026-06-24 quadrille-house: enrichment 1937/1942 done; 5 Enchanted Bamboo Grasscloth blocked on dead image_url (website host vs S3) — need re-scrape, stay HELD -
97c99a3d2026-06-24 Coastal Mist: full-res 960x1200 BA469 image + our-info alt text; base64-attachment upload in fix script -
b91d293d2026-06-24 pending-approval: found genuine BA469 image + ready-to-run live fix script (gated) -
3b51069d2026-06-24 pending-approval: draft live Coastal Mist oil-filter image fix (DTD-A) -
9ca4e85a2026-06-24 VCC: fix DB fallback connection string (dw_admin@127.0.0.1, not socket→root) -
fa89fca72026-06-24 auto-save: 2026-06-24T07:25:27 (2 files) — vendor-scrapers/china-seas-refresh DW-Agents/vendor-command-center/server.js.backup-20260624-072033 -
08e84a2c2026-06-24 Fix vendor_registry total_products rollup: filter shared catalog tables per-vendor -
b973b6252026-06-24 auto-save: 2026-06-24T06:55:19 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh -
1c14f1e92026-06-24 auto-save: 2026-06-24T05:54:18 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh -
a0fd572c2026-06-23 auto-save: 2026-06-23T18:54:15 (7 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl vendor-scrapers/china-seas-refresh shopify/remap-brewster-york-to-house-lines.py -
f2ef06872026-06-23 Stage P2 press-band move-up on dev clone of 5.2 (theme 143956443187): reorder index.json hero->press->products; fix social-icons font copy -
712b86ae2026-06-23 Front-page sprint PUBLISHED LIVE as Steves Version 5.2 (143955820595); 5.1 kept as rollback. Memo -> done. -
04106ead2026-06-23 auto-save: 2026-06-23T18:23:51 (2 files) — DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py vendor-scrapers/china-seas-refresh -
ad18e1822026-06-23 Front-page four-horsemen review memo: verdict + staged dev-theme sprint results + preview links -
ec7c74e82026-06-23 Stage front-page sprint (P0+P1) on dev theme clone of live 5.1: footer apostrophe, trade bar, hero scrim, mobile hero overlay — verified in preview -
2dd34d8f2026-06-23 brand-router: canonicalize China Seas collection handle china-seas-wallpaper -> china-seas (avoid 301 hop) -
aaa4f3712026-06-23 snapshot incidental tree state before gemini-key history scrub -
310e37f12026-06-23 brand-router: neutralize deleted hardcoded page 79444574259 — make page-push opt-in via BRAND_ROUTER_PAGE_ID, skip (not 404/clobber) when unset -
72905e932026-06-23 auto-save: 2026-06-23T17:53:42 (20 files) — shopify/_cwGRID/assets/theme.css.liquid shopify/_cwGRID/sections/collection.liquid shopify/_cwGRID/snippets/product-form-content.liquid shopify/_cwGRID/snippets/spec-sheet-button.liquid shopify/_cwGRID/templates/page.spec-sheet.liquid -
6ea722b22026-06-23 brand-router: repoint Quadrille to live smart collection /collections/quadrille-wallcoverings (id 301717520435) -
134320442026-06-23 Remove leaked DWSecure2024! fallback from tecnografica-viewer.js -
f858ddd02026-06-23 brand-router: add Quadrille brand entry (vendor-filtered, between Pierre Frey and Ralph Lauren) -
b21ae65b2026-06-23 security: record vp-security progress on Gemini key rotation (boardroom scrubbed, actions 1+3 drafted) -
1a1a388c2026-06-23 cadence: ENABLE Quadrille-house sample-only drip in hourly runner (export QUADRILLE_SAMPLEONLY_DRIP=1) -
bdcb9ec12026-06-23 cadence: roman-numeral title guard (II/III/IV…) + suppress false Needs-Image on sample-only products -
d90a2d432026-06-23 auto-save: 2026-06-23T17:23:17 (5 files) — shopify/scripts/cadence/cadence-import.js shopify/scripts/cadence/data/cadence-cursor.json vendor-scrapers/china-seas-refresh shopify/scripts/cadence/data/cadence-plan-am-2026-06-24.json shopify/scripts/cadence/data/upload-restore-2026-06-24.jsonl -
e38bffd82026-06-23 cadence: harden sample-only desc query against newline/tab corruption (SQL regexp_replace) -
9ec5d21e2026-06-23 cadence: gate Quadrille-house sample-only drip OFF by default (QUADRILLE_SAMPLEONLY_DRIP / --sampleonly); manual --only test bypasses -
eb9c513f2026-06-23 cadence: fix ACTIVE/DRAFT summary count for sample-only products (activatedCount) -
6a487a9d2026-06-23 cadence: add sampleOnly vendor mode for Quadrille-house $4.25 sample-only lines (no cost, additive) -
0070a06b2026-06-23 Backfill dw_unified mirror metafields from live Shopify for 311 Designtex (closes mirror UOM gap) -
6e0add2e2026-06-23 Record Gemini key hygiene progress: 4/6 files env-ified, 2 held, revoke still Steve-only -
407a17622026-06-23 auto-save: 2026-06-23T16:53:06 (9 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-23.json shopify/scripts/cadence/data/upload-restore-2026-06-23.jsonl vendor-scrapers/china-seas-refresh audits/designtex-uom-fix/backfill-mirror-metafields.mjs -
fff4983c2026-06-23 Add gated publish-5.1-to-live script (Steve runs to swap live theme) -
b91b417b2026-06-23 Env-ify 3 DW vendor-command-center files: remove leaked Gemini literal, use master key -
c1f4f7582026-06-23 Recommendations: 3-up+text on mobile, 4-up image-only on desktop (dev theme 5.1) -
7d735cce2026-06-23 Fix 12 broken (404) images on /pages/designer-wallpaper-styles live + add error guard -
046396522026-06-23 Close 5 collection-page memos + reconciliation (pushed live, verified) -
a603726e2026-06-23 Collection theme consolidated push LIVE (Steve-approved): 5 memos merged, 10/10 verified, assets backed up -
008e67ab2026-06-23 Serve DW style guide standalone via pm2 (dw-style-guide, :9972) -
2744dd362026-06-23 Add DW design-language style guide: tokens.css + servable /style-guide page -
a08ffaa02026-06-23 Close dedup-specs audit: 0.17% duplication (5/3000) — catalog clean, no cleanup needed -
c9b7c05e2026-06-23 Fix collection rotating-hero hydration race: re-home rotator into Boost header -
8eb976d72026-06-23 fix(theme): unhide DW density/grid slider on collection pages (DEV theme) -
1cd2c5df2026-06-23 Stage You-May-Also-Like mobile 2-up grid fix on dev theme 5.1 -
c85040c52026-06-23 Add reconciled single-path memo for the 5 collection fixes: ONE dev theme verified, ONE live push held on Steve's authenticated Preview -
821669192026-06-23 Mark Designtex fill-in/UOM/archive memo DONE with execution stamp (all 4 steps verified) -
4107be7f2026-06-23 Designtex Step 3 COMPLETE: spec metafields + 'single roll'->'per yard' prose on all 302 live DWDX (102 written this resume + 200 prior, 0 failed; DWAH Rocket excluded). Verified live: 6/6 specs where repeat applies, body prose corrected. -
11c5de3a2026-06-23 auto-save: 2026-06-23T16:22:58 (13 files) — audits/designtex-uom-fix/body-html-backup.json audits/designtex-uom-fix/fill-specs-ledger.json shopify/collection-hero-fix/backups/assets_custom.css.dev-143947038771.pushbak shopify/collection-hero-fix/backups/assets_custom.css.live-142250278963.pushbak shopify/collection-hero-fix/backups/config_settings_schema.json.dev-143947038771.pushbak -
9ae1ee0e2026-06-23 Add consolidated single-pass LIVE push for all 5 collection memos (gated on Steve's dev-Preview verify) -
f9adefec2026-06-23 Reconcile 5 collection memos: merge sections/collection.liquid (hero render + toolbar cleanup) and consolidate ALL fixes onto single dev theme 143947038771 (DTD Option-A) -
8726db5e2026-06-23 Designtex fill-in Step 3 COMPLETE: spec metafields (global.* + specs.*, DTD-C) + prose fix on 302 live DWDX from canonical. Verified 302/302 specs set, 0 'single roll' prose. body_html backed up. DWAH untouched. -
20c442522026-06-23 Designtex fill-in Step 4 COMPLETE: verified 0/130 discontinued colorways present on Shopify (none live). Discontinued flagged in dw_unified Step 1; no archive action needed. -
b813d7d82026-06-23 Designtex fill-in Step 2 COMPLETE: UOM flip verified 0 'Priced Per Single Roll' live (77 prior + 25 tag residue + 3 Pebble metafield). Relabel-only, price untouched. -
4b7104562026-06-23 Close 2 stale Tres Tintas pending-approval memos (work completed this session) -
baf668a02026-06-23 Re-vendor 15 mis-vendored Rebel Walls products (Steve-approved) -
1b6b5dc82026-06-23 auto-save: 2026-06-23T15:52:50 (6 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-23.json shopify/scripts/cadence/data/upload-restore-2026-06-23.jsonl vendor-scrapers/china-seas-refresh audits/designtex-uom-fix/clean-roll-tag-residue.mjs -
e58e4e172026-06-23 Stage rotating hero on dev + pending-approval memo + verified screenshots -
7227f9772026-06-23 Add Tres Tintas live-PDP click-through QA + reverify; draft Rebel Walls re-vendor task -
1a27c7812026-06-23 Rotating new-arrivals collection hero (DTD source=A/curation=C-hybrid) + F3 specificity fix -
b357a9622026-06-23 Designtex Step 1: canonical dw_unified fill-in loaded (2701 FILL + 130 discontinued) -
94a3c7182026-06-23 auto-save: 2026-06-23T15:22:30 (4 files) — probe-collection-defects.js shopify/.gitignore vendor-scrapers/china-seas-refresh verify-collection-hero-fix.js -
957660c82026-06-23 Tres Tintas rooms regenerated at corrected repeat-driven scale (full ledger) -
a3d6742a2026-06-23 Draft gated live-push memo + before/after screenshots for collection hero/dup-title/mobile-header fixes (DTD F1=B/F2=A/F3=A) -
fff83e002026-06-23 Collection hero fix: harden image/no-image switch via body.dw-collection-has-hero; F3 mobile gap verified (branding 118->74px); confirm JS errors owned by companion grid.js memo -
06ab4e142026-06-23 Designtex: comprehensive gated memo + live-77 UOM flip script -
7cb4cc6e2026-06-23 enrich-local: add 503-overload-break (transient Gemini high-demand) + clean resume path; RESUME-ENRICH.md; Gemini recovered, resuming full run -
8d9e17ae2026-06-23 Designtex: live gap audit + fill-in plan from BigCommerce crawl -
d286727d2026-06-23 Collection-page fixes: hero band (F1=B), dup-title kill (F2=A), mobile-header gap (F3=A) — local build + live/dev backups + probe -
5df32f5e2026-06-23 RESUME: record CS step 3 no-op finding + steps 3d N/A -
a509ba7a2026-06-23 Add Designtex BigCommerce plain-HTTP enrichment scraper (no puppeteer, no login) -
dfed23902026-06-23 RESUME: add mid-flight resume instructions + CS live-write/rollback runbook -
a3179cd02026-06-23 Step 5: 1,942 net-new dw_sku assigned (0 collision); HELD structurally enforced (not in vendors.js + cost=0 -> cadence skips); update execution-resume with both DTD verdicts -
1ad6d3c12026-06-23 China Seas Step 4: DTD verdict A — 26 confirmed-absent net-new patterns (101 records) flagged NET_NEW_HELD_NO_COST; no cost/price source exists (line is sample-only), held as business dependency, NOT created -
b37beef72026-06-23 Quadrille House: assign DW SKUs to 1,942 net-new + register held in dw_sku_registry (0 collisions, 0 dup groups) -
172e2f452026-06-23 China Seas: DTD verdict A — skip live overwrite (370+12 already populated live, premise was stale-mirror artifact); refresh local mirror to match live truth instead; pass-2 strict matcher recovered 12 of 445 -
78c8be652026-06-23 Quadrille House: launch detached enrichment + canonical RESUME checkpoint -
50a6dde42026-06-23 auto-save: 2026-06-23T14:52:21 (4 files) — shopify/tres-tintas-room-backups/_regen.ledger vendor-scrapers/china-seas-refresh vendor-scrapers/quadrille-house/RESUME.md vendor-scrapers/quadrille-house/enrich-local.js -
b09db9832026-06-23 Quadrille house Phase 0: register 8 net-new prefixes + repoint Quadrille DWIY->DWQC (local dw_unified) -
418f8a162026-06-23 collections: add rendered hero design preview (Artmura/Fentucci + fallback) -
d3862ff32026-06-23 DW collection toolbar consolidation: stage 3 edited assets + push memo -
4d3e82102026-06-23 auto-save: 2026-06-23T14:22:11 (2 files) — shopify/tres-tintas-room-backups/_regen.ledger vendor-scrapers/china-seas-refresh -
d56dd5232026-06-23 Quadrille house: full scrape staged (1942 net-new SKUs, 8 brands), asset manifest (32 PDFs + 390 room images), dedup audit (0 collisions) -
994fa5892026-06-23 Quadrille house: Phase 0 staging table + per-brand feed-first scraper (2 layouts, fabric specs from patternInfo) -
25b799da2026-06-23 auto-save: 2026-06-23T13:52:03 (9 files) — shopify/audit/collection-hero-manifest.json shopify/audit/collection-hero-manifest.md shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-pm-2026-06-23.json shopify/scripts/cadence/data/upload-restore-2026-06-23.jsonl -
12841c912026-06-23 Correct item-3 collection-image diagnosis: stale Boost fallback + orphaned home cards (not Boost-admin); add tested CSS fix + gated live-push -
b6165db62026-06-23 Stage collection/home oversized-images CSS fix on dev theme custom.css (+ dev-preview served verifier + backup) -
3142bb5b2026-06-23 DW collection+home oversized-images: corrected root cause + tested CSS fix (stale Boost fallback suppression + home grid net) -
e6dfc1a52026-06-23 collection hero: in-progress manifest snapshot (66 missing fully vision-confirmed) + memo with resume path -
9b9bd6e02026-06-23 auto-save: 2026-06-23T13:21:53 (14 files) — shopify/tres-tintas-room-backups/_done.ledger shopify/audit/collection-hero-manifest.heuristic-full.json shopify/audit/collection-hero-manifest.json shopify/audit/collection-hero-manifest.md shopify/audit/collection-hero-manifest.missing66.json -
4f5bbe672026-06-23 harden hero pipeline: global 45s socket timeout (no hung sockets) + unbuffered progress -
8bb35f8f2026-06-23 hero manifest finalizer: socket-timeout hardening reuse + private-label handle sanitizer + clean .md summary -
144635ea2026-06-23 Add REGEN mode to room generator: replace our 557 rooms at corrected scale -
ffd944102026-06-23 Graft native-grid infinite scroll onto LIVE theme (newwall-infinite.js + 1 layout include) -
d4a51d6f2026-06-23 Fix room-setting pattern scale: drive tiling by real repeat, not fixed-3 -
a2ad88092026-06-23 collection hero pipeline: heuristic-shortlist + Gemini vision-confirm room-setting hero per collection; dry-run apply script -
2228022a2026-06-23 Add Tres Tintas completeness audit (desc+spec+room, roll-vs-mural aware) -
ec1ab72f2026-06-23 auto-save: 2026-06-23T12:51:44 (8 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/tres-tintas-room-backups/_done.ledger dw-acoustical-devtheme.png dw-bm-section-FIXED.png shopify/scripts/cadence/data/cadence-plan-pm-2026-06-23.json -
f00117072026-06-23 collections: add background hero image (dedicated section, staged on dev theme) + audit of 66 collections missing collection.image -
d7042d8c2026-06-23 Audit: repeat+match are OPTIONAL specs (plain/free-match rolls & murals legitimately lack them on vendor pages); broaden mural detection to Jo-prefix + length-without-width fingerprint. Removes false-positive incomplete flags. -
3c95a8842026-06-23 auto-save: 2026-06-23T12:21:34 (3 files) — shopify/scripts/tt-room-dbg2.js shopify/tres-tintas-room-backups/_done.ledger shopify/tres-tintas-spec-backups/_done.ledger -
72762a602026-06-23 Add gated live-push + rollback scripts + candidate snapshot for vendor-routing/grey-header fix -
caa2d35e2026-06-23 dw-vendor-collection-url: use collection.id existence test + unless-chain (robust over == empty) -
f0d8c26f2026-06-23 Add Tres Tintas final completeness audit (desc/specs-by-type/room across all 592, roll-vs-mural spec shape aware) -
ea390dcd2026-06-23 Spec recrawl: title-SKU fallback for the 22 active Tres Tintas products with mfr SKU in title but no pattern-ref tag (DTD 3/3). Archived Rebel Walls titles correctly excluded (no SKU pattern). -
a26069532026-06-23 DW vendor-collection routing + grey-header contrast fix (candidates, staged) -
b2a25a5b2026-06-23 Fix Tres Tintas room generator infinite-loop: GraphQL var name was $c but script passed {cursor} -> after:null every page (only 120-200 of 592 seen). Pass {c:cursor}, bump to first:100, add frozen-cursor break guard. -
7467dd912026-06-23 auto-save: 2026-06-23T11:51:26 (5 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-23.json shopify/scripts/tres-tintas-room-settings.js shopify/tres-tintas-spec-backups/_done.ledger shopify/scripts/tt-room-dbg2.js -
90af39412026-06-23 Route room generator GraphQL scan through timeout-guarded fetchRetry (close last bare-fetch hang hole) -
6638fe052026-06-23 Harden Tres Tintas spec recrawl: per-request fetch timeout (45s) so a half-open vendor socket can't wedge the batch -
c222b30c2026-06-23 Harden Tres Tintas room generator: per-request fetch timeout + 5-min wall-clock poll cap (fixes hung-socket batch wedge) -
afe6ecc02026-06-23 auto-save: 2026-06-23T11:21:18 (3 files) — shopify/scripts/cadence/data/cadence-plan-am-2026-06-23.json shopify/tres-tintas-spec-backups/_done.ledger shopify/tres-tintas-room-backups/ -
14c964fd2026-06-23 Cadence-out full Tres Tintas backlog: unflag 569 stranded newwall rows (1281 now eligible, 0 dup live) -
1f14df142026-06-23 Add Tres Tintas room-setting generator (Replicate SDXL, pattern-locked) -
31f09baa2026-06-23 PDP fix cluster: breadcrumbs grey-bar, Download PDF (inline DOM, no iframe), button-position right-of-cart -
9f9be71a2026-06-23 Harden Tres Tintas spec recrawl: retry+try/catch on vendor fetch -
b7e3a00a2026-06-23 auto-save: 2026-06-23T10:51:10 (5 files) — shopify/scripts/cadence/data/cadence-plan-am-2026-06-23.json shopify/scripts/cadence/run-cadence-hourly.sh shopify/scripts/tres-tintas-spec-recrawl.js shopify/tres-tintas-desc-backups/_done.ledger shopify/tres-tintas-spec-backups/ -
0b67db272026-06-23 cadence: honor newwall_catalog dedup_skip so Tres Tintas imports net-new-only (Option A, Steve-approved) -
a727c0942026-06-23 Fix spec-sheet Download PDF: render via hidden iframe (fetch+DOMParser never ran the page JS), add layout none to spec-sheet template -
f59d4ade2026-06-23 Add Tres Tintas spec recrawl — fills width/repeat/length/weight from vendor pages -
4f33b9222026-06-23 auto-save: 2026-06-23T10:21:01 (1 files) — shopify/tres-tintas-desc-backups/_done.ledger -
7f7867c72026-06-23 Add quick-reference card for infinite scroll deployment -
0facdfb12026-06-23 Add final summary document for infinite scroll delivery -
0469da652026-06-23 Add comprehensive infinite scroll documentation (architecture, visual explanations, integration guides) -
ff28eaa52026-06-23 Add infinite scroll implementation for collections (mutation observer approach, no wrapper divs) -
1590533f2026-06-23 cadence: one-vendor-per-slot round-robin — fix stuck cursor (idx pinned at 0 ran Thibaut every slot) -
b84713de2026-06-23 Officer-yolo approved: Launch Tres Tintas full backfill (all 554 products) + ship printer icon -
635cad8c2026-06-23 live: infinite scroll deployed to designerwallcoverings.com -
6479af2e2026-06-23 Fix infinite scroll: add data-dw-infinite wrapper to collection.liquid -
a8829a6a2026-06-23 auto-save: 2026-06-23T09:50:51 (1 files) — shopify/scripts/tres-tintas-designer-descriptions.js -
e87f44f92026-06-23 fix: infinite scroll for standard Shopify collection pagination -
39fa12d42026-06-23 Add inline PDF download to product spec sheet button — no page navigation -
8ac535592026-06-23 stage: infinite scroll collection.liquid for dev theme push -
c15a8c192026-06-23 feat: implement infinite scroll on DW Shopify collection pages -
3d5826962026-06-23 audit: DW microsites infinite scroll status — 3 converted, 3 already have it, 2 API-only -
828034b52026-06-23 pending-approval: grid.js init-abort root cause + gated live-push memo -
e78be9742026-06-23 auto-save: 2026-06-23T09:20:41 (16 files) — shopify/scripts/cadence/sdg-trade-login.mjs shopify/scripts/tres-tintas-designer-descriptions.js shopify/tres-tintas-desc-backups/_done.ledger shopify/grid-js-fix/backups/header.liquid.live-142250278963.before shopify/grid-js-fix/backups/product-list-item.liquid.live-142250278963.before -
7b78feaa2026-06-23 auto-save: 2026-06-23T08:50:33 (2 files) — shopify/tres-tintas-desc-backups/_done.ledger shopify/scripts/cadence/sdg-trade-login.mjs -
ab61bf4f2026-06-23 Update tres-tintas ledger -
c62985192026-06-23 Stage theme-optimizer read-only grid-init verifier + tres-tintas ledger (no live writes) -
5b218dbb2026-06-23 Diagnose collection toolbar (item2) + Boost oversized images (item3); back up live theme; gated memo -
abfe1de02026-06-23 Fix: Remove price-hiding CSS from live theme - all Tres Tintas prices now visible -
ee3092b92026-06-23 Build styles-page broken-image fix: 12 verified-live swaps + capture-phase error guard (gated memo) -
9717a88a2026-06-23 Designtex unit_of_measure audit: 71/302 say 'Priced Per Single Roll' vs YARD rule (gated correction memo) -
2711b7782026-06-23 Draft gated Gemini key rotation memo (leaked AIza key in 6 Mac2 files + Kamatera cron) -
c40bab9f2026-06-23 Cap Gemini thinking budget (thinkingBudget=0) on remaining uncapped gemini-3.5-flash calls -
a14105252026-06-23 Disable Gemini thinking budget on capped enrichment calls (thinkingConfig.thinkingBudget=0) -
2a4e2a612026-06-23 auto-save: 2026-06-23T07:50:15 (83 files) — DW-Agents/dw-agents/agent-thibaut-updater/thibaut-updater-agent.ts DW-Agents/vendor-command-center/server.js DW-Agents/vendor-command-center/standardization-worker.js DW-Agents/vendor-command-center/website-scorer.js DW-Programming/DW-Duplicate-Recolor-v1.4/lib/geminiAnalyzer.js -
980385812026-06-23 Add collection grid responsive-cols + infinite-scroll fix push script (staged on dev theme 143947038771) -
7827786f2026-06-23 Fix grid density slider mobile hiding: add !important + 480px breakpoint + comprehensive push script -
a744a13f2026-06-23 Fix filter pill sizing: uniform min-height and min-width for consistent appearance -
cd7a11f62026-06-23 Fix theme-push scripts: resolve LIVE theme dynamically (role==main), not stale hardcoded ids -
d30693932026-06-23 Deploy collection toolbar to live theme: sort dropdown + grid density slider -
de52ba2c2026-06-23 Diagnose + stage revert of broken Approach-B section-inside-section on LIVE collection page -
bfe782d22026-06-23 Upgrade all Gemini text calls from deprecated gemini-2.0-flash to gemini-3.5-flash (106 files) -
7fe21a332026-06-23 Fix grid selector in toolbar updateGridDensity function -
ad572a332026-06-23 Fix toolbar CSS: prevent sort dropdown text cutoff + make slider visible -
d2fc51db2026-06-23 Fix Liquid error: convert collection-toolbar section to snippet -
e8637bd72026-06-23 Tres Tintas designer-description pilot: executor + snippet case-fix + approval memo (officer signed off) -
5438ce132026-06-23 Fix Shopify schema validation errors in toolbar and filter sections -
caf4f2a02026-06-23 Deploy grid density slider (3-12 columns) to Shopify live theme -
15975a422026-06-23 Add full collection toolbar (sort + grid density slider) to collection page -
6ee60cbe2026-06-23 auto-save: 2026-06-23T02:49:11 (5 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json shopify/scripts/data/bucketB/rebelwalls-land-20260623T000100.json shopify/scripts/data/bucketB/scalamandre-land-20260623T000100.json shopify/scripts/data/bucketB/schumacher-land-20260623T000100.json shopify/scripts/data/bucketB/thibaut-land-20260623T000100.json -
41ed32862026-06-23 auto-save: 2026-06-23T02:19:04 (3 files) — shopify/scripts/data/bucketB/longtail-land-20260623T000100.json shopify/scripts/data/bucketB/mindthegap-land-20260623T000100.json shopify/scripts/data/bucketB/nina-land-20260623T000100.json -
1c02d5a72026-06-23 auto-save: 2026-06-23T00:48:45 (4 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-23.json shopify/scripts/data/bucketB/harlequin-land-20260623T000100.json shopify/scripts/data/bucketB/hollywood-land-20260623T000100.json -
f6663c202026-06-23 auto-save: 2026-06-23T00:18:39 (3 files) — shopify/scripts/data/bucketB/annafrench-land-20260623T000100.json shopify/scripts/data/bucketB/coordonne-land-20260623T000100.json shopify/scripts/data/bucketB/grahambrown-land-20260623T000100.json -
4c6dcdef2026-06-22 auto-save: 2026-06-22T23:18:24 (7 files) — shopify/theme-5.0-duplicate/assets/boost-sd-custom.css shopify/theme-5.0-duplicate/assets/dw-pdp-size-pills.js shopify/theme-5.0-duplicate/assets/theme.css.liquid shopify/theme-5.0-duplicate/sections/collection.liquid shopify/theme-5.0-duplicate/snippets/product-description-meta.liquid -
28aef1682026-06-22 auto-save: 2026-06-22T22:48:18 (1 files) — shopify/theme-5.0-duplicate/sections/collection.liquid -
fa8353562026-06-22 Add 50% opaque text backgrounds to all collection page headers -
1784bd562026-06-22 Add script to push carousel + specs fixes to Shopify theme -
5b833a5d2026-06-22 audit: Full specs deduplication scan across 250 active products — 7 duplicates found -
e829fb7b2026-06-22 Fix: carousel display (block→inline-block) + remove duplicate specs rendering -
c736ba8a2026-06-22 Add duplicate specs audit task + sample approval document -
0381851c2026-06-22 fix: restore full specifications table display with interior-designer pattern ref -
8d6ec42b2026-06-22 feat: move product specs to searchable/sortable tags -
3b03ff092026-06-22 chore: simplify product-specs to show only pattern reference -
3476f1172026-06-22 chore: update pdp push script to include product specs and product snippet updates -
054e03382026-06-22 fix: product specs rendering - access metafields as object properties not array iteration -
7d2e15bd2026-06-22 feat: add product specifications display from metafields in product template -
f5d220c12026-06-22 feat: arrange product page buttons (Request Sample, Spec Sheet, Add to Cart) on single row with equal spacing and reduced sizes -
b6630f502026-06-22 auto-save: 2026-06-22T21:48:03 (3 files) — DW-Programming/grid-slider-with-smart-names.js DW-Programming/templates/grid-slider-template.html shopify/scripts/data/bucketB/mindthegap-land-20260622T194658.json -
00f0ccc22026-06-22 fix: improve dropdown positioning with wrapper container and overflow handling -
38f910122026-06-22 fix: prevent sort dropdown from being clipped on the left -
f60e20d92026-06-22 feat: add pill-style sort control to complement grid density slider -
0e2d01882026-06-22 fix: improve grid density slider CSS to prevent layout overlap with sort controls -
8090a85f2026-06-22 auto-save: 2026-06-22T21:17:54 (9 files) — data/ scripts/designtex-enhanced-sync.js scripts/designtex-full-scrape.js scripts/designtex-headless-scraper.js scripts/designtex-parallel-scraper.js -
6d451d8a2026-06-22 auto-save: 2026-06-22T20:47:47 (1 files) — shopify/scripts/data/bucketB/hollywood-land-20260622T194658.json -
6551a8662026-06-22 auto-save: 2026-06-22T20:17:40 (6 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json shopify/scripts/data/bucketB/annafrench-land-20260622T194658.json shopify/scripts/data/bucketB/coordonne-land-20260622T194658.json shopify/scripts/data/bucketB/grahambrown-land-20260622T194658.json shopify/scripts/data/bucketB/harlequin-land-20260622T194658.json -
9f1b2cbb2026-06-22 auto-save: 2026-06-22T19:46:58 (2 files) — logs/bucketB-land-all.err logs/bucketB-land-all.out -
4fb13ceb2026-06-22 auto-save: 2026-06-22T19:38:17 (4 files) — shopify/theme-5.0-duplicate/assets/dw-card-hover.js shopify/theme-infinite-scroll-142250278963/assets/dw-card-hover.js shopify/scripts/moq/na-tagged-before-part2.json shopify/scripts/moq/new-arrivals-part2.py -
24ae00512026-06-22 Fix grid slider: force setProperty with !important to override Boost inline styles -
1cde76662026-06-22 card-hover v3: hide vendor on touch (mobile shows pattern name only) -
7df3fcf82026-06-22 Bucket-B PR + Hollywood sample-only roll-variant scripts (DTD-A) -
0ee05d612026-06-22 New Arrivals Boost scope: confirm no API key (admin-only fix), add turnkey admin steps + support-ticket draft + Boost settings backup -
5b0daa822026-06-22 hfilter: desktop-only (>768) — mobile keeps Boost's native filter drawer untouched; padding+pattern-only-hover still apply on mobile -
9afd52da2026-06-22 Fix UI bugs: hide product info at rest, tight margins (2px), grid column CSS, mobile responsive slider -
3af4a7052026-06-22 card-hover: mobile shows ONLY pattern name (always-visible, vendor hidden); add to live-push bundle -
e837c6e62026-06-22 Add Approach B testing checklist + troubleshooting guide -
f0734d932026-06-22 Wire Approach B horizontal filters into collection template (hides Boost sidebar, maintains filtering backend) -
837297e42026-06-22 auto-save: 2026-06-22T19:08:09 (1 files) — shopify/push-collection-fixes.sh -
64c75d262026-06-22 Add read-only diagnostic for New Arrivals Boost-scope bug (native ~586 vs Boost 27726) -
cdf6f8d52026-06-22 hfilter: always start MutationObserver so late-rendered Boost options trigger build (robust init) -
d3308dca2026-06-22 hfilter: Color swatch label from title attr; close all grid gap + product padding -
d418373a2026-06-22 hfilter: derive groups from titles (.boost-sd__filter-option via closest), not the singleton .boost-sd__filter-block -
5143d1422026-06-22 Ultra-tight grid: 2px gaps (horizontal + vertical) -
cfc5de8d2026-06-22 Cards: image only, zero space below (details height: 0) -
1293d3ea2026-06-22 Compact spacing: reduce row gaps and padding on collection cards -
221b7f8e2026-06-22 Add Approach B deployment guide + testing checklist -
8751c1fc2026-06-22 Approach B: Horizontal filter bar — custom UI that proxies to Boost's hidden controls (decoupled, robust) -
e2b84e812026-06-22 Restore hover overlay: vendor + pattern name only (no text below images) -
178a125e2026-06-22 Fix grid slider: target Boost Commerce grid + hide hover overlays -
24cda3272026-06-22 Collection cards: image-only, no text (hover: subtle opacity/scale) -
d302582e2026-06-22 auto-save: 2026-06-22T18:07:50 (2 files) — v51-collection.png v51-working.png -
1b6044ab2026-06-22 Collection cards: image-only with hover overlay (pattern name + vendor) -
f74571ed2026-06-22 Add push script for collection grid slider + descriptions deployment -
659024e52026-06-22 Restore collection page: show descriptions + add grid density slider (3-12 cols with localStorage) -
62023bad2026-06-22 auto-save: 2026-06-22T17:37:42 (3 files) — shopify/scripts/data/bucketB/longtail-bridge-dryrun.json shopify/scripts/pm2-safe-save.sh shopify/sections/koroseal-quote-button.liquid -
98797c9e2026-06-22 Correct MOQ step: double-roll (step 2) is the exception not the rule; non-double-roll wallpaper + fabric = by-the-yard (step 1). Fixed Thibaut/Versace/Newwall 2/2->2/1 (598 products) -
46d518bf2026-06-22 bucketB-longtail: add shopify_products.mfr_sku BRIDGE to unlock priced catalogs (Kravet 0->1231, GP&J Baker 0->168, Marburg 0->90) that recovered 0 last pass for lack of a join key -
fe5c078b2026-06-22 5.1: REVERT horizontal filter (broke collection layout - nav/sort rendered vertical); keep PDP pills -
89778d142026-06-22 5.1 PDP: hide theme's styled .select-wrapper shell when size pills are built (remove duplicate control) -
d89305992026-06-22 Port MOQ enforcement to Steves Version 5.1 (Archetype): metafield min/step + sample exemption + clamp script; originals backed up -
8e45fc212026-06-22 5.1 dev: horizontal collapsible Boost filter bar (dw-filter-horizontal.{css,js} + boost-overrides neutralize legacy collapse) + theme.liquid includes -
6b98ef312026-06-22 DW PDP restyle: size-select -> pills + uniform CTA pill layout (theme-5.0-duplicate) -
19ae0d342026-06-22 auto-save: 2026-06-22T17:07:33 (6 files) — shopify/scripts/bucketB-longtail-config.json shopify/scripts/bucketB-longtail-roll-variants.js shopify/scripts/data/bucketB/af-run-report.json shopify/scripts/data/bucketB/longtail-dryrun.json shopify/scripts/fleet-reconstruct.cjs -
b67ee2ad2026-06-22 Bucket B Thibaut: roll-variant recovery script + run report (35 priced rolls staged, 229 Needs-Price tagged, 1 discontinued archived via C-gate) -
6d0402812026-06-22 Bucket B: Anna French sample-only roll recovery (feed-first, draft-gated) -
9cd6d0d02026-06-22 Tier B finalized: vendor-level write set (16,038 products) + no-min guard w/ self-test; pure-vendor finalize fixes mural contamination + cwd token bug -
34155bb12026-06-22 5.0 theme: add card hover label (Pattern,Color + Vendor) via global dw-card-hover.js + theme.liquid include; tolerant push verify; revert dead boost-sd-custom merge -
2dc3a7fe2026-06-22 auto-save: 2026-06-22T15:37:11 (67 files) — shopify/scripts/moq/tierB/1838-wallcoverings.fix.json shopify/scripts/moq/tierB/anna-french.fix.json shopify/scripts/moq/tierB/architectural-fabrics.fix.json shopify/scripts/moq/tierB/bor-stapeter.fix.json shopify/scripts/moq/tierB/brunschwig-fils.fix.json -
e8b5ae152026-06-22 Generalize Bucket-B lander: bucketB-land-all.sh drains ALL staged roll cohorts under one DW_ROLL_CAP (default 400) -
e2ae1b4d2026-06-22 Add native-Liquid infinite scroll for theme 142250278963 (collection-list, blog, blog-masonry) + gated push script -
c05eddc12026-06-22 Bucket B Scalamandre: roll-variant recovery script + run report (22 priced staged, 875 Needs-Price, 0 created/dups, budget cap full) -
8ccc64ed2026-06-22 Fix: never tag budget-deferred PRICED rows Needs-Price (false signal + sticks on Bucket-A rolls) -
09895ac82026-06-22 Bucket B Nina Campbell roll-variant recovery script + first --apply run (269 priced staged on shared cap, 282 Needs-Price tagged, 0 dups/flips) -
319f60172026-06-22 auto-save: 2026-06-22T15:07:02 (33 files) — logs/ shopify/scripts/bucketB-nina-roll-variants.js shopify/scripts/bucketB-scalamandre-roll-variants.js shopify/scripts/data/bucketB/nina-dryrun.json shopify/scripts/moq/fill-tierB-fix-files.py -
2f6e75b32026-06-22 Bucket B Graham & Brown: PG roll-price recovery (387 priced) + 14 Needs-Price, rolls staged (budget-safe) -
f267c8cf2026-06-22 Bucket B Schumacher roll-variant recovery script (feed-first, draft-gated, budget-safe) -
d0f585b82026-06-22 Add Coordonné full-page re-scrape runner (WooCommerce Store API, $0) for Bucket-B price recovery into coordonne_catalog (upsert by mfr_sku, full-page: all images/specs/price) -
7f21a2752026-06-22 PDP: wire REQUEST SAMPLE (add Sample variant to cart) + SPEC SHEET + variant selection (active/id/price); unify black pills (round variant buttons, equal font+height) -
d9ff0a7c2026-06-22 Add bucketB-land-175 one-shot lander (DW_ROLL_CAP=175, 00:01) for 175 priced Harlequin+MindTheGap rolls -
627df7392026-06-22 auto-save: 2026-06-22T14:36:53 (2 files) — shopify/scripts/data/bucketB/mtg-dryrun.json shopify/scripts/data/bucketB/run-report.json -
1e04847a2026-06-22 Bucket B Mind the Gap: roll-variant recovery script (PG-first, exact mfr match, budget-aware, draft-gated) -
99e771632026-06-22 Tier B packaging answered via variant-title scan: per-vendor MOQ determinations + evidence -
9d3551fd2026-06-22 Bucket B Harlequin: PG-first roll-variant recovery script (clone of Rebel Walls) -
248277a72026-06-22 Bucket B Coordonné roll-variant recovery script (feed-first, draft-gated, shared-budget-aware) -
d61b657d2026-06-22 auto-save: 2026-06-22T14:06:44 (2 files) — shopify/collection-layout-override.json shopify/sections/ -
ce69f4cc2026-06-22 Backup: live PDP section pre-MOQ-push (rollback source) -
ac76db9f2026-06-22 Add push script for grid slider + description deploy -
091457192026-06-22 MOQ theme fix: exempt Sample variants (force qty 1 when Sample selected, server + client side) -
f68f5a772026-06-22 Restore grid density slider + add product descriptions to collection cards -
2edc5f6e2026-06-22 Add dry-run go-live push script for MOQ section (backup + rollback) -
f9ca2f622026-06-22 Harden MOQ Liquid: use append-coercion for legacy global metafields -
0bc56eb72026-06-22 Theme MOQ fix: custom PDP quantity reads order-min metafields (min/step/value + clamp script) — staged section + live/dev backups -
d96169652026-06-22 Apply compact layout fix to all theme variants -
1992de012026-06-22 Compact PDP layout: tighter spacing, smaller size buttons, rounded pill action buttons -
f92e94ea2026-06-22 Add complete build summary for collection filter UI transformation -
369a5d7e2026-06-22 Add deployment memo + testing guide for collection filter UI transformation -
837f4d8c2026-06-22 Transform collection filters from vertical sidebar to horizontal tabs + extend grid density 3-12 columns -
86f2a4442026-06-22 add sweep-all-active.mjs — full-catalog inventory=2026 backfill -
796b1a302026-06-22 Tier B MOQ: read-only UOM packaging scan + per-vendor proposal builder (DTD-A: Full-Roll=no-change, rest HELD) + per-vendor TODO fix files -
33d192a82026-06-22 Add !important to grid CSS to override dw-product.css rules -
1f9612ea2026-06-22 Port variant buttons v2 to _cwGRID: inline buttons + qty-below grid layout -
de5ca0b82026-06-22 _cwGRID: port variant-buttons UX + inline qty-below layout (buttons inline beside Size in col 2; Quantity row below, not side-by-side) -
2d1bdd4c2026-06-22 auto-save: 2026-06-22T13:36:34 (1 files) — shopify/scripts/moq/tierB-packaging-scan.json -
d17a76b42026-06-22 Final: Product pages match Thibaut reference design - clean 2-column layout with image left, details right, proper styling -
f56ecd5e2026-06-22 Tier A1 MOQ fix: DTD-B guard — min=max(existing,2), step=2 always; re-scanned all 84 live (none had min>2) -
e289cbb22026-06-22 Redesign product page to match Thibaut reference - 2-column layout with image left, details right, proper variant/qty controls -
de4465292026-06-22 MOQ audit + fix tooling: store-wide order-minimum audit, Tier-A double-roll fix list, safe apply-moq-fix.py executor (dry-run default) -
4be7b7c42026-06-22 Add bucketA-add-roll-variants.js: build sellable roll variant on 311 sample-only cost-bearing products (PG-first, DW pricing rules) -
77dea01c2026-06-22 Add idempotent size/qty layout fixer (strip-all-then-inject-one, fail-closed style-balance + anchor asserts, dev-default/live-gated) -
e3adc9cd2026-06-22 revert: Reset to clean state before SIZE/QUANTITY layout experiments -
c842dadf2026-06-22 Add 'Trending Wallcovering Collection 2026' and 'display_variant' tags to all new products -
20d1ed5b2026-06-22 security: strip hardcoded secret -> env-first/passwordless. No rotation/deploy. -
dd3905fd2026-06-22 Designtex UOM fix: recheck + 5-product canary relabel Single Roll->Yard (price untouched); gated bulk script for remaining 280 -
9eb1274c2026-06-22 auto-save: 2026-06-22T08:04:36 (1 files) — shopify/scripts/cadence/data/cadence-plan-am-2026-06-22.json -
50b0666f2026-06-22 auto-save: 2026-06-22T07:04:22 (2 files) — shopify/scripts/cadence/data/cadence-plan-am-2026-06-22.json shopify/scripts/cadence/data/upload-restore-2026-06-22.jsonl -
8f49dbc22026-06-22 auto-save: 2026-06-22T06:04:10 (2 files) — shopify/scripts/cadence/data/cadence-plan-am-2026-06-22.json shopify/scripts/cadence/data/upload-restore-2026-06-22.jsonl -
86d6f4fe2026-06-22 auto-save: 2026-06-22T05:03:57 (2 files) — shopify/scripts/cadence/data/cadence-plan-am-2026-06-22.json shopify/scripts/cadence/data/upload-restore-2026-06-22.jsonl -
298826592026-06-22 auto-save: 2026-06-22T04:03:42 (2 files) — shopify/scripts/cadence/data/cadence-plan-am-2026-06-22.json shopify/scripts/cadence/data/upload-restore-2026-06-22.jsonl -
db4c3d852026-06-22 auto-save: 2026-06-22T03:03:29 (3 files) — DW-Programming/ImportNewSkufromURL/data/scraper-audit/scraper-status.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-22.json shopify/scripts/cadence/data/upload-restore-2026-06-22.jsonl -
b7cbc5112026-06-22 auto-save: 2026-06-22T02:03:15 (2 files) — shopify/scripts/cadence/data/cadence-plan-am-2026-06-22.json shopify/scripts/cadence/data/upload-restore-2026-06-22.jsonl -
6cf19be12026-06-22 auto-save: 2026-06-22T01:03:04 (3 files) — shopify/scripts/cadence/data/cadence-cursor.json shopify/scripts/cadence/data/cadence-plan-am-2026-06-22.json shopify/scripts/cadence/data/upload-restore-2026-06-22.jsonl -
962629d42026-06-21 Add infinite-scroll replicator (copies NewWall lock + newwall-infinite.js wiring between dev themes) -
7f24f9622026-06-21 auto-save: 2026-06-21T20:01:45 (1 files) — shopify/scripts/data/sample-remediation/ -
c33264742026-06-21 Sync 5 _cw* theme.liquid mirrors to v2 variant-button block (matches deployed dev theme) + add mirror-sync script -
a048effe2026-06-21 Variant buttons v2: Sample button guaranteed on every SKU (JSON fallback for malformed single-variant SKUs) + buy-box placement; drift-safe replace-on-rerun push to dev theme -
9f4a59ef2026-06-21 auto-save: 2026-06-21T19:01:26 (1 files) — shopify/scripts/gmc-race-clean -
8c327f872026-06-21 Dev-theme push: pull→surgical-edit→push (drift-safe), target 'NewWall Template [Dev]' by name -
7cf36ba52026-06-21 Add dev-theme push script for variant-button UX (targets dev theme, backup+verify, never live) -
43eef3c82026-06-21 rename inventory sweep to .mjs to silence MODULE_TYPELESS_PACKAGE_JSON warning -
050da8302026-06-21 PDP: replace native variant dropdown with side-by-side name-only buttons -
195e60682026-06-21 Harden Boost price hide/restore CSS: grid-scope hide + theme-agnostic PDP restore -
f49479792026-06-21 sync-shopify-products: fetch variant price + descriptionHtml + 5-field rollup columns (mirror no longer blind to price/desc/variant-shape) -
f8f483e62026-06-21 Osborne width: API sweep populated osborne_catalog 787->14107 width rows; backfill reads fresh Kamatera catalog (gaps already closed by cadence sync, backfill now no-op) -
fcce8e0e2026-06-21 Zoffany colorway verification (DTD 2026-06-21): authoritative vendor check confirms 'Pale Poisen' + 'Tigers Eye' are correct vendor spellings; no title edits -
85ce69fb2026-06-21 activate-gate: push-then-activate width metafield + apply gap tags -
daa2dccb2026-06-21 Zoffany batch title normalization (2026-06-21): backtick->apostrophe + possessive case on 3 Marsden DWZF SKUs -
959ae4422026-06-21 Archive confirmed-duplicate Zoffany DWZF-187385 (-1 dup-handle clone); keep DWZF-187037 live -
54abca222026-06-21 Zoffany title audit (2026-06-21): clean redundant colorway on DWZF-187374; investigate Pompadour Print dup pair -
2b88a21b2026-06-21 Remove banned standalone Wallpaper tag from 21 FallingStar Studio products via tagsRemove -
d08bb8092026-06-21 trending: persist status field into REMOVE/KEEP rows (vp-dw-commerce sign-off revision) -
fc4f4ec22026-06-21 trending: read-only audit + gated trim draft for collection 298339205171 (restore to 06-12 baseline; DTD 2/3 Option A) -
a746f7ef2026-06-21 cadence: wire York (york_catalog) into vendors.js, HELD in DENY_VENDORS (inert) -
2e01b21e2026-06-21 cadence: disarm --collections auto-join to Trending (Steve 2026-06-21: keep Trending curated, not a new-arrivals feed) -
e69ef2ba2026-06-21 validate-before-activate: fix sample-variant false-positive — accept any -sample SKU (or a 'Sample'-titled variant), not an exact {dwSku}-Sample match. The strict match falsely flagged every product whose sample is keyed to mfr_sku (e.g. SWAN-104-sample), inflating residue + wrongly blocking legit products at the activation chokepoint -
1c17d27c2026-06-21 active-gate-add-samples: additive sample-variant pass for the missing-sample residue (idempotent, resumable, $4.25 + inv 2026) -
63dcdeee2026-06-20 Newwall width re-crawl: public-HTML spec-table scraper (DTD-A), validated on 25/6-vendor sample -
d3a6b2c62026-06-20 Relabel 8 Brewster & York drafts -> Malibu Wallpaper + promote DWBR-170663 to ACTIVE -
09a7f4be2026-06-20 fix(activation-gate): stem-compare images + non-blocking all-images completeness -
8664e4ed2026-06-20 Add stock-2026-guard: self-healing enforcement of the active-products-never-OOS hard rule -
84e9e2e12026-06-20 cadence: backfill+normalize widths to DW canonical 'N Inches' for 6 READY vendors -
066739932026-06-20 Osborne width backfill tool — found catalog overlap exhausted: 896 live gaps have no osborne_catalog source (need re-scrape, not metafield push) -
878863722026-06-20 Live: pushed width+mfr_sku metafields to 3 Osborne actives (W6295-06, NCW4597-04, W7217-01) — patch verified end-to-end on real store, samples+status untouched -
440ff0c32026-06-20 Osborne dry-run of metafield-push patch (0 writes): 2/2 heal; adds width_inches normalization + gate-columns-only refinements -
080d706c2026-06-20 DRAFT (no deploy): push-spec-metafields helper + activate-gated patch — push global.width/specs/mfr_sku metafields at activation (fixes width-metafield gap on ~500 actives) -
c48c81f42026-06-20 run inventory-set-2026 sweep after each cadence run -
c1e4c9db2026-06-20 activated-viewer: essentials audit + width/tag cross-check + remediation worklist generator -
cb819a0a2026-06-20 add inventory-set-2026-newest.js — ensure newest N products' variants are tracked + on_hand=2026 -
3f63fd9f2026-06-20 Codify extended activation gate (specs+description+all-images) in CLAUDE.md standing rule -
6396e1932026-06-20 Activation gate: enforce specs+description+ALL-vendor-images before ACTIVE (single validateBeforeActivate, both chokepoints) -
c14beea52026-06-20 Activated viewer: GraphQL feed with essentials audit (priced/image/specs/width) — per-card gap badges, coverage summary bar, gaps-only filter -
afcf25ff2026-06-20 Add activated-items viewer: live Shopify pull, grouped by activation date with image+SKU, sort+density (shopify/activated-viewer :9846) -
8d58a8d42026-06-20 cadence wrapper: refund unused upload grant on 429/exit-3 + partial slots (DTD-A) -
912696ae2026-06-20 activation compliance: all-channels publish + inventory 2026 on importers + cohort remediation -
e29dbe322026-06-20 cadence: resume-check.sh — verify paced cadence resumes producing once rolling variant cap clears; posts to CNCP -
8dcb91772026-06-19 cadence: add description to activation gate (all new must have description — Steve 2026-06-19); width AND image AND pattern AND description before ACTIVE -
ffb5c80a2026-06-19 Add gated Trending-collection backfill apply script (1040 net-new, DTD 3/3 Option C) -
2e31cf352026-06-19 cadence-import: auto-add newly-published products to Trending Wallcovering Collection 2026 (custom collection 298339205171), gated behind --collections -
6883b74f2026-06-19 cadence: enable --collections so hourly 18/hr new SKUs auto-join Trending/New-Arrivals collection (Steve in-session approval, 2026-06-19) -
740e97762026-06-19 Cadence: 18 products/slot (36 variants) for 24-slot hourly schedule = 432 products/day -
320887dc2026-06-18 source-gate: reject boolean/NULL tokens as MFR SKU in both metafield migrators (mirrors dwjs-mfr-populator gate; stops TRUE-sku re-leak at source) -
4ad8ba0d2026-06-18 launchd minimal-PATH fix sweep: export PATH so node/psql/jq resolve under launchd's minimal PATH (Osborne class, preflight linter 2026-06-18) (color-cleaner-nightly) -
a17ab8932026-06-18 cadence-hourly: export PATH so launchd's minimal PATH can find node (Osborne bug) -
2471c4c02026-06-18 Lift Innovations from cadence DENY_VENDORS (Steve 2026-06-18); import costed rows as drafts -
edced97e2026-06-18 Wire Innovations into cadence vendors.js (cost=price_trade=list×0.90, sold per YARD, retail=cost/0.65/0.85); config-only — still in cadence DENY_VENDORS until lifted -
87a9e7d62026-06-17 All-day uploader: cadence-import --max + --activate (readiness-gated ACTIVE + inventory 2026) + defensive denylist; hourly runner (budget-aware, kill-switch, resumable) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> -
5964ee512026-06-17 Add Artmura real logo (artmura.it) for brands page -
ca6c70722026-06-17 Add FallingStar Studio real logo (vector + logotype) for brands page -
ea18bc582026-06-17 prw-92xxxx logo crop: 551/551 banners removed live (0 residual, 0 errors) -
4fa114712026-06-17 source-gate: reject boolean/NULL tokens as MFR SKU in dwjs-mfr-populator (stops the TRUE-sku re-leak at source; DTD 3/3->A) -
3acf40372026-06-17 Add prw-92xxxx logo-banner crop tool (deterministic proportional crop + rollback) -
28c703162026-06-16 GMC enrich: Rebel Walls specs gap-fill drafts (234 prod, 2525 metafields, FREE crawl, DTD-A) -
16b2e3882026-06-16 gitignore scraper output (vendor-scrapers 4.5G) + large data artifacts post history-purge; document runbook -
08f38d982026-06-16 Surgical scrub of Chesapeake vendor-leak tag from 26 live Shopify products (Versa 'Chesapeake' + Fentucci 'Borders By Chesapeake'); preserve Et Cie 'Chesapeake Bay' colorway -
144c9df62026-06-16 China Seas de-header: COMPLETE — 1810 products pushed (band removed, mfr swatch primary), 3 fail (404 deleted), verified on store -
351371352026-06-16 Add phase-2 bloat-purge plan (Steve-gated, not executed) -
e04a0cc02026-06-16 stop tracking regenerable bloat (china-seas crops, vendor images, large data dumps); tighten .gitignore -
8931c6fb2026-06-16 snapshot before bloat cleanup -
4b0840492026-06-15 China Seas de-header: stage mfr full-res primaries (757) + cropped fallback (1809) + montage 2nd img (886) in china_seas_image_fix; nothing uploaded -
9ee288382026-06-15 gmc-autoadd-block: read-only investigation of June-18 Google auto-add mechanism (no write made; autoPublish already false) -
456751342026-06-14 Roll-Readiness Dossier audit 2026-06-14 (ranked JSON + summary) -
a5be50ad2026-06-14 April mass-archive restore-PREP plan: per-vendor staged manifest (READ-ONLY triage; 42199 restorable, 10380 ready-active) -
79ccd4092026-06-14 brands-page: luxe wordmark SVGs for 6 new high-inventory brands (Phillipe Romano, Hollywood, Malibu, Jeffrey Stevens, Marimekko, Artmura) -
1e5c69ba2026-06-14 tag-designer-colors.js — FALLBACK for Boost tiers without metafield-sourced filters: writes prefixed 'color:<DesignerName>' tag per active product from custom.color_1_name (+ --top2). Prefix avoids re-polluting the cleaned color smart-collections. Idempotent/resumable. Tested 3 live, 0 failed. Run: node tag-designer-colors.js --conc 8 (only if Boost can't do metafields). -
a96bd4e72026-06-13 sweep-to-100.js — drives search-by-color coverage to 100%: scans ALL active products live from Shopify, locally extracts palette for any still missing color_1_hex (catches products absent from the local mirror), writes canonical metafields. Re-runnable; runs after the DB backfill. -
0e985f972026-06-13 backfill-canonical-colors.js — push canonical color_1/2/3 metafields for all 54,884 active products from DB ai_colors (designer names mapped from hex, handles pct/percentage formats). $0, no image processing. Makes search-by-color comprehensive (was ~9% metafield coverage). -
291279002026-06-13 enricher: also write CANONICAL search-by-color schema (custom.color_{1,2,3}_hex + _percentage + _name) that live Shop-by-Color + SearchByColorWheel actually read — was only writing custom.color_hex/color_details which the UI ignores. Re-pushing all 5,157 with designer names + canonical keys. -
4c0fb0212026-06-13 local-palette: expand to ~115-name DESIGNER/decor color table for search-by-color dots — leads with most-used interior neutrals (white/off-white/ivory/ecru/oatmeal/beige/greige/mushroom/taupe/sand families) + full decor spectrum (cognac/celadon/aubergine/peacock/etc). Replaces basic 60-name set; in-flight enricher picked it up immediately. -
31f12cb92026-06-13 local color enrichment for uncovered active products: local-palette.py (PIL median-cut → exact hex + % + curated name, $0 no model) + enrich-active-colors.js (writes custom.color_hex + custom.color_details metafields DIRECTLY via Admin API, resumable via color_enrich_todo). Coverage was 54,884/60,075 active (91.4%); 5,157 uncovered w/ image queued. 3-product live test passed (0 userErrors). -
49cb60512026-06-13 nightly runner: add best-effort George email on sweep completion (POST :9850/api/send to steve@; no creds touched — uses running server's auth; silent no-op if george-gmail down). Desktop notification remains the guaranteed ping. -
4d3e325e2026-06-13 nightly runner: durable completion ping — check-complete.js verifies every resolvable collection is at 0-remaining, then runner fires macOS notification + CNCP win + .SWEEP-COMPLETE sentinel + self-disables the nightly job. Works with no Claude session open. -
6f9d054f2026-06-12 nightly runner: chain-aware quota probe (proceed if ANY chain model has quota, not just flash) + portable timeout (gtimeout/timeout/none — macOS has no /usr/bin/timeout) -
3fd983792026-06-12 color cleaner v2: model-fallback chain (flash-lite→flash→pro) — each model has a SEPARATE per-day free quota, so 429-on-daily-cap fails over to next model = ~3x free throughput on one key. Verified red cleaned 8/10 via failover. + nightly-color-clean.sh runner (singleton lock, quota probe-gate, 2h cap, resumable) -
df60b0ab2026-06-12 color cleaner v2: (1) tri-state safety — removal now requires explicit COLOR=NO; ambiguous/empty verdicts KEEP+retry, never remove (guards the false-remove class of bug); (2) bake exact collection handles into COLOR_COLLECTIONS (incl pink, was null) + resolver prefers cfg.handle — robust on any store, handles are inconsistent (purple/black/coral vs blue-wallpaper-collection) -
88eb70012026-06-12 make cleaner importable (require.main guard + module.exports) + add _test_resolver.js — proves 12/13 colors resolve on sandbox (10 hardcoded, 2 via handle: red+pink); cream unresolved by design -
df20fe8c2026-06-12 add color-clean-report.js — per-color rollup (processed/removed/banners), top banner vendors to re-crawl, most-removed tags, est Gemini cost, rollback hint -
5672b1c42026-06-12 color cleaner v2: store-agnostic collection resolver — verify hardcoded prod id, else resolve by handle (color/-wallpaper/-wallcovering/-wallcoverings). Fixes sandbox red+pink (prod-only ids 404'd); cream left as deliberate skip (only a combined Beige&Cream collection exists, wrong semantics) -
80b183f92026-06-12 color cleaner v2: disable gemini-2.5-flash thinking budget (thinkingBudget:0) — 40-token budget was eaten by reasoning → empty text → false-removes; canary now keeps 32/50 blue correctly -
631cb8bf2026-06-12 color cleaner v2: use gemini-2.5-flash (2.0-flash retired 2026-06-01), GEMINI_MODEL override -
b4a3d85e2026-06-12 Color collection cleaner v2: Gemini blueness gate + reversible ledger + banner re-crawl queue + resumable -
678018682026-06-12 copygen: env-configurable Ollama host/model/prompt-prefix (OLLAMA_HOST/COPYGEN_MODEL/COPYGEN_PROMPT_PREFIX) — relocate heavy LLM load to a box with headroom; defaults unchanged -
139f7c9b2026-06-12 scan-active-dups: filter to exact PREFIX- bases (loose Shopify sku: search made DWK absorb DWKK/DWKN) -
2d09d6542026-06-12 1838 Wallcoverings: set all 464 live products to DRAFT (Steve directive); add Artmura title-fix tool (no-op — all 161 already correct) -
00a911252026-06-12 Tier 3 cost-sourcing matrix + complete campaign roadmap: big external blocks are WRONG_SAMPLE (Tier 4) not blocked-on-cost; ~579-976 external restorable via cost-maps/GDrive -
4e4327662026-06-12 Add dedup-active.js: generalize the Kravet dedup tool to any DW prefix (DRY default, skips ambiguous, reversible) -
ea94af322026-06-12 Tier 2 audit result: 521 Kravet-family fabrics recoverable via kravet_catalog dw_sell_price (prices validated); rest genuinely uncosted -
69ccaeba2026-06-12 Add remaining-restore-campaign plan (tiers 1-4: ready/verify/blocked/sample) -
9979cea02026-06-12 worker-guard: harden tests — batched productCreate (input0/input1), inventoryItem.sku, gid-form id, -Roll stripping (13/13 pass) -
1f1b3a642026-06-12 cadence: vendor colOverrides (Newwall length→roll_length, repeat_v→pattern_repeat) — fixes Newwall SKU select; DRY-RUN validates cost=trade*0.80 → correct retail -
f486e7852026-06-12 Add scan-active-dups.js: reusable read-only both-active duplicate scanner (generalizes the Kravet-55 detector across vendor prefixes) -
3a8a85042026-06-12 worker-guard: verify backfill table correct (launch-pad gate reads unified vendor_catalog); record prod deploy -
7c8eaf1b2026-06-12 vendors: wire Newwall (6 confirmed lines, cost=trade_net*0.80, retail=cost/0.65/0.85); other Newwall brands stay uncosted -
6cc85e552026-06-12 worker-guard: pre-push dedup guard module + 9-test harness + gated deploy doc for shopify-queue-worker (built/tested, NOT deployed) -
79f2fa592026-06-12 cadence-import: pre-push dedup guard — query Shopify by base-SKU before create; if a live (non-archived) product exists, backfill link + skip create instead of duplicating -
6f53fddf2026-06-12 Add dedup-kravet-active.js: dry-run-default tool to archive 55 broken Kravet duplicate copies (keep priced 2024 twin) -
408f0bb92026-06-12 Archive all 154 live Nicolette Mayer Wallpaper products (Steve: do not show on Shopify) -
f3aead0e2026-06-12 vendors: wire Brewster & York (costExpr=cost) — price list already loaded, flips coverage 0%->99.8% (+8697 SKUs) -
a1d4c12e2026-06-12 schumacher importer: dedup gallery images by URL at ingest (API repeats largeUrl across size-variant entries -> was producing 2-3x duplicate PDP galleries) -
4a502d3c2026-06-12 cadence: support MAP-priced vendors (sellExpr) — Kravet family sells at MAP, not cost/0.65/0.85 -
0d278a722026-06-12 DWAE: price 166 from Schumacher net-cost API + activate + tag Trending Wallpaper 2026 -
76b490462026-06-11 Launch latest 300: activate + tag 'Trending Wallpaper 2026' the 226 that pass a 2-variant quality gate -
4b00794e2026-06-11 Monitor uses 2026 authoritative pricing (kravet_authoritative_pricing.new_map), not stale 2022 snapshot -
7c4e11212026-06-11 cost-handoff: README documenting the DTD-B decoupled architecture (Mac2 fetch → validated prod ingest) -
c90065ca2026-06-11 Part 2 twin: Schumacher dw_sku→shopify_product_id LINK handoff (prevents Full Monte dups) -
0de243362026-06-11 Morning summary of overnight Kravet price audit (CNCP + notification) -
e7a0a4b32026-06-11 Read-only overnight Kravet price monitor: diff live vs authoritative MAP, classify BELOW_MAP/CORRUPTION_SUSPECT (no live writes) -
828450a02026-06-11 schu-cost-ingest: add --dry (exercise UPDATEs in a txn then ROLLBACK; no write, file stays staged) -
06a4f86b2026-06-11 Part 2: Schumacher cost handoff (DTD-B decoupled) — Mac2 export+push + prod ingester draft -
7a10f8ec2026-06-11 Durable one-shot launchd test-add (5:02pm, survives session close; self-removes) -
c5d370e12026-06-11 Durable launchd morning report for Kravet roll-variant runner (CNCP win + macOS notification, no Claude needed) -
4e4cff4e2026-06-11 Add Kravet roll-variant adder: idempotent, MAP-priced, audited (Shopify daily variant cap paces it) -
5ba2c3872026-06-11 Kravet master price loader: WHLS cost + MAP from GDrive master into kravet_master_price -
191ba0132026-06-11 schu-reimport: heartbeat to CNCP Looping-LIVE each tick + mark done on completion -
1020f0662026-06-11 schu-reimport: macOS notification + CNCP win on completion (session-independent ping) -
8ed267022026-06-11 Handle Shopify DAILY variant-creation cap (the real blocker) -
b6ac11302026-06-11 schu-reimport: launchd-managed, restartable, loop-until-clear + self-expire -
d05c6b582026-06-11 Romo 339 cost backfill: pulled current trade prices from theromogroup.com (MAX roll, 44/45 reconcile), loaded 844 colorway rows, regenerated push worklist (332) -
fd28444b2026-06-11 Fix importer throttle bug (require real pid for success) + batched Schumacher re-import -
70d046b02026-06-11 Add by-sku reconcile; confirmed missing Schumacher SKUs genuinely absent (import throttle no-op'd ~2558, not dup risk) -
a5291a3f2026-06-11 Add daily vendor sweep (com.steve.cadence-daily-sweep) — Kravet now included -
1e8a2ff72026-06-11 fixer: add --max-price hold (park outliers for manual review); shipped 195 live fixes -
e5cc2b102026-06-11 schu-activate: normalize mixed pid format (bare-id vs full-gid) + order by numeric pid -
a49bb8e42026-06-11 Add schu-activate: gated DRAFT→ACTIVE for Schumacher (price+image+title gate, --limit test batch) -
ac43bae82026-06-11 Fix accented-title casing (Unicode \p{L}) + re-title 46 Schumacher products -
7cc6bdfc2026-06-11 Add fix-broken-rolls.js — guardrailed live-price fixer (dry-run default) -
c3d80f3d2026-06-11 Sweep: fix flushInv fallback (set-per-item before activate) — repaired 1275 already-active stragglers to 2026 -
0548262d2026-06-11 Add schu-reconcile-pids: backfill shopify_product_id from Shopify (bulk import write-back missed ~2558) -
b893c46c2026-06-11 Load Graham & Brown cost from GDrive list (629 SKUs) + wire costExpr -
bd09a7e82026-06-11 kravet-feed-cadence: SFTP get to absolute /tmp path (drop flaky lcd timing dependency) -
c2d267b72026-06-11 Schumacher loop: auto-archive discontinued on Shopify (Steve: no need to gate) -
d5d9d6f52026-06-11 Add Schumacher to cadence vendors (Designer Net, cost=priceUsd) for DRAFT import -
d38a54332026-06-11 Wire Kravet feed into daily cadence (com.steve.kravet-feed) -
2d60072d2026-06-11 vendors.js: add Kravet (costExpr cost_price) — cost loaded from GDrive wholesale list -
4c2234912026-06-11 Add gdrive-price-loader.py — load vendor cost from authoritative GDrive price lists -
ef219ca42026-06-11 Kravet-family feed importer (authorized daily SFTP, no scraping) -
3f4ec4312026-06-11 Store-wide sweep: set every active variant inventory=2026 + publish to all 13 sales channels (idempotent, resumable) -
8eb733442026-06-11 romo roll pricing: RFC-4180 CSV parser (quoted fields w/ commas) so 'One, Two, Three' pattern prices correctly -
0ed8df7d2026-06-11 Repurpose dw-pricing-resume loop → Schumacher API cadence (browser-free, 12h) -
47bef8752026-06-11 price-coverage: add Shopify roll-price outcome layer (correct vs broken @ $4.25) -
430f4bcb2026-06-11 Stage launchd template for optional hands-off Romo push resume -
fe9e383a2026-06-11 Romo push: read durable worklist CSV; add run wrapper; CNCP-dated resume task for 2026-06-12 -
75964c0c2026-06-11 Romo per-unit pricing: repair 57 corrupt total_price_per_roll, harden cost expr (GREATEST guard), add roll-variant push script -
bccac2fd2026-06-11 cadence-import: recompute price-coverage at end of run (feeds CNCP panel) -
464639112026-06-11 Add compute-price-coverage.js — truthful vendor cost-coverage into dw_unified -
2ec9fcae2026-06-11 Recrawl: mark vendor-404 SKUs as discontinued (excluded) + Shopify archive step -
a51f9ed82026-06-11 Scrub plaintext Schumacher password from browser-login scripts → gitignored .schu-creds -
51a55b8a2026-06-11 Schumacher recrawl cracked: authenticated product API (browser-free) -
a51fa0c82026-06-11 Add launchd auto-resume agent (com.steve.dw-pricing-resume): RunAtLoad + 30m, Claude-session-independent -
6a69015d2026-06-11 Schumacher cost via Browserbase scraper (residential IP, real login form); login-submit still needs fix (see browserbase/SCHUMACHER-NOTES.md) -
7818ccb42026-06-11 Quarantine 205 mispriced (needs-reprice tag); Romo 262 + Thibaut 11 DRAFT imported; schumacher scraper path-fix + login probe -
950348b52026-06-11 cadence: Romo cost basis = total_price_per_roll (DTD-B, incl 10% tariff); Designtex cost=price_retail (Steve); 10 Thibaut DRAFT imported under gate -
6bec4bde2026-06-11 Add gated daily cadence importer (dry-run first) -
0f0ded512026-06-11 Add fix-24h-new-skus.js: title-case + cost/price + price_updated_at for last-72h new SKUs -
426995c52026-06-10 PJ scraper pass 2: fix detail--row regex (ng-if attrs hid Fire Rating/CFA/Leed), suffix-SKU base-item fallback, cutoff bump -
90279f432026-06-10 china_seas scraper: capture all_images=[imageUrl] (single-image source) to clear completeness gate -
6b33ebc12026-06-10 PJ vendor_catalog spec scraper: tear-sheet specs for all phillip_jeffries rows (logo-placeholder publish rule, no images) -
06ea863b2026-06-09 feat(dedar): feed-first collection extraction returns real products -
160fad082026-06-09 feat(farrow-ball): feed-first collection extraction returns real products -
6e401a7d2026-06-09 feat(designers-guild): feed-first collection extraction returns real products -
57b79b422026-06-09 feat(schumacher): feed-first collection extraction returns real products -
9b0f69492026-06-01 rotation pre-stage: DW-Agents DATABASE_URL env-first so rotated dw_admin pw is picked up on restart -
5c41f8cc2026-06-01 Grasscloth sites: unique clean image heroes (fleet hero dedup 2026-06-01) -
a45a01942026-06-01 track DW-Agents/scripts/reverse-sync.js (orphan relink dry-run, env-based DB url) -
20cf51fa2026-05-30 fix: remove backup source leak from public dir, fix duplicate-const syntax error, harden .gitignore -
59c3ba192026-05-30 security: strip hardcoded dw_admin pw across 27 files (parent + nested) — env-first -
11a839f52026-05-30 shopify(parent): sync gitignore with nested — cover GCP service-account JSONs (2026-05-30 leak) -
689f82642026-05-30 gitignore GCP service-account key files (post sheets-updater leak purge) -
521e8edc2026-05-30 snapshot before sheets-updater key purge -
86f9d0562026-05-30 gitignore: untrack 2 .env.local files (leaked Shopify + Anthropic tokens) -
e9a4650a2026-05-30 security: pickup DW-Agents strip of hardcoded DW2025secure DSN (no rotation/deploy) -
19c8a3772026-05-30 security: strip hardcoded secret -> env-first/passwordless. No rotation/deploy. -
a20c80052026-05-30 security: strip hardcoded dw_admin DSN password -> env-first (.cjs straggler). No rotation/deploy. -
f1421f702026-05-30 fix: thibaut-spec-scraper DB_CMD backtick (env interpolation) -
d287f9d62026-05-30 security: strip hardcoded PGPASSWORD/pm2/shell-string secrets -> env-ref. No rotation/deploy. -
b3de17d12026-05-30 security: strip hardcoded dw_admin DSN password -> env-first/passwordless. No rotation/deploy. -
f19be7622026-05-30 security: strip hardcoded dw_admin DSN password -> env-first across DW. No rotation/deploy. -
3b1cfa982026-05-29 Update Claude model IDs to claude-opus-4-8 (Opus 4.8 upgrade) -
6114227d2026-05-29 Update Claude model IDs to claude-opus-4-8 (Opus 4.8 upgrade) -
1b25aa752026-05-27 grassclothwallpaper: add density slider beside sort + corner-nav -
ec49ab472026-05-26 Cole & Son: add mandatory $4.25 Sample variant to 26 products (skip 3 memo=NO) -
b8cb44d62026-05-26 Cole & Son: backfill spec metafields (874 products, 11362 mf) + fix audit metafield truncation bug -
ff2dcc582026-05-19 chore(git-surgery): draft surgery plan for slimming .git (prep only, no rewrite) -
a52d295a2026-05-19 snapshot — gitify backup 2026-05-19 -
63d215122026-05-18 Phase 3: Shopify-CDN image-URL refresh script for hollywood/ralph_lauren stale-URL runbook -
f3c52e532026-05-18 scrub last plaintext basic-auth password from progress doc + .env.example -
778ca02e2026-05-18 Refactor hardcoded DWSecure2024! basic-auth password to env vars -
ad11ae9c2026-05-18 Refactor hardcoded Shopify Admin token to process.env.SHOPIFY_ADMIN_TOKEN -
aec78cfa2026-05-18 scrub hardcoded secrets from docs (Shopify token, Brewster pw, basic-auth pw); drop pre-scrub .bak files -
db50cd922026-05-18 ignore generated assets, backups, debug dumps (pre-surgery) -
7d0a55d22026-05-18 dw-exclusive-page: 'Private Label Exclusives' -> 'Exclusives' -
f938e6942026-05-13 snapshot: update LosAngelesFabrics submodule pointer -
872619c12026-05-13 snapshot: backup uncommitted work (4 files) -
9fea93cb2026-05-13 snapshot: 334 file(s) changed, +48 new, ~286 modified -
4a4a10402026-05-11 wire archive-guard into 5 cron-driven Shopify activators -
3fb91caf2026-05-08 novasuede: collapse all nav tabs into hamburger on right at every width (Novasuede brand name kept in banner) -
91d7a3882026-05-08 novasuede: REVERT theme-toggle change (broke layout) — restore 74822dc9 state -
658722c42026-05-08 novasuede: add dark/light theme toggle in header upper-right (anti-flash + localStorage + CSS-var inversion) -
1ef3bc102026-05-08 fleet UX standardization: novasuede-style hamburger nav across 7 sister sites -
74822dc92026-05-07 novasuede chip: per-color data-dw-sample on Sample button + chip — central hub widget now color-aware on click delegation (parallel path to inline modal) -
38d4c1d62026-05-07 novasuede: unified header+modal across 7 pages, fix drapery + sample-color prefill, info@novasuede.com everywhere, central sample-request widget hooked to auth.agentabrams.com -
68734aaa2026-05-07 tighten .gitignore: add missing standing-rule patterns (tmp/ *.log .DS_Store dist/ build/ .next/) -
127c43a92026-05-06 initial snapshot — gitify all builds (CLAUDE.md rule 2026-05-06)
Authors
- Steve1715
- steve8
- Steve Studio7
- Steve (Claude)6
- vp-dw-commerce2
- Steve (DW)1
Agents used
- vp-dw-commerce2
- secrets-manager1
Skills used
- /data1351
- /scripts1318
- /cadence998
- /boost-filter-consolidation-2026-06-25534
- /china-seas-refresh501
- /cadence-cursor244
- /pr-contact-for-price225
- /scraper-audit124
- /reconcile91
- /brewster-import-queue90
- /tk13554
- /audits42
- /scraper-status33
- /room-image-push30
- /ledger29
- /yw-results27
- /upload-restore-2026-07-0226
- /upload-restore-2026-06-3025
- /fullrun-vision24
- /upload-restore-2026-07-0924
- /annafrench-land-23
- /enrich-marketed-mismatch23
- /upload-restore-2026-06-2923
- /coordonne-land-22
- /upload-restore-2026-07-1522
- /upload-restore-2026-07-1122
- /upload-restore-2026-07-1221
- /upload-restore-2026-07-2420
- /upload-restore-2026-07-2320
- /doubleroll-lengths-thibaut-before19
Creative ideas + design notes
f8969b83 · 2026-07-28 · TK-10002: forward-only variant-SKU collision guard (skuTakenOnActiveProduct)
Adds a pre-create check that rejects a mint whose dw_sku is already carried by a NON-ARCHIVED product, closing the gap where a drifted registry lets registerSku() re-mint a live SKU. Wired into the new-product-import template between register and create. Mirrored into both sku-registry libs. NOT a DB constraint (461 legacy violations remain). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5d19295d · 2026-07-27 · TK-135: motif classifier (bare)
Bare-value MOTIF descriptor classifier for DW (17-value existing vocab). Pass 1 deterministic title keyword match; Pass 2 local qwen2.5vl:7b vision on the title-unmatched remainder. $0 (local), DRY-RUN — motif-proposed.tsv (<gid>\t<BareMotif>) only, NO Shopify/PG writes. Full-80k driver built but gated (MOTIF_RUN_CONFIRM). 150-sample: 21.3% title / 78.7% vision, 0 fallbacks. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e061f1ea · 2026-07-27 · TK-135: style classifier (bare)
Deterministic title/vendor/product_type keyword mapping + optional local qwen2.5 pass for the ambiguous remainder. Outputs BARE style values (no label prefix) per Steve's normalization rule. DRY-RUN only: no Shopify/PG writes. 48% deterministic coverage on 78,242 active products missing a style value; ~95% projected with the gated local-LLM phase. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7ff04f87 · 2026-07-27 · TK-00134: fix documented cleanWallpaper snippet in CLAUDE.md to brand-aware
The canonical helper that gets copy-pasted into every updater was still the blanket version in the docs — the source of the fleet-wide brand-name corruption. Replaced with the brand-aware + derived-word-safe version (matches the 13 code copies), plus a warning explaining the 17-brand hazard. Verified the doc snippet is copy-paste-correct. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8661e2fa · 2026-07-27 · TK-00134: patch last 3 blanket cleanWallpaper() copies to brand-aware
The banned-word 'Wallpaper'->'Wallcovering' helper was duplicated across ~13 import scripts; 10 were already brand-aware (TK-00134) but 3 still ran the blanket regex that corrupts the 17 brand names ending in 'Wallpaper' (Ralph Lauren, Missoni, Grasscloth, etc). Patched dwvs-import-catalog-only, wolf-gordon-shopify-push, and anna-french-scraper (preserving its Thibaut-scrub) to the proven brand-aware + derived-word-safe (wallpapered/-ing) version. Verified 4/4 functional each. Stops the class at every executable onboard path. CLAUDE.md's documented snippet still shows the blanket version — flagged for Steve, not auto-edited. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2da85281 · 2026-07-26 · TK-31: pr-quote-only-tag fixes wrong tag (quotes->contact-for-price) + Kravet MAP exclusion
The old `quotes` tag is an internal import-gate bypass flag that renders NOTHING customer-facing; the live theme (shopify/sections/contact-for-price.liquid) gates the Request-a-Quote UX on `contact-for-price`. Now applies contact-for-price (UX) + Needs-Price (internal companion, matching the 2,034-product luxury-draft co-occurrence pattern), append-only. Adds a two-layer Kravet-umbrella exclusion so the 15 Kravet-line PR SKUs (which price at MAP = WHLS x 1.5, not quote-only) never get tagged: (1) SQL filter on Kravet-family brand tokens in tags/metafields/supplier_name, (2) explicit KRAVET_EXCLUDE_SKUS list + env override for the exact 15 (TODO to populate). Dry-runnable, no Shopify writes; --execute stays GATED. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
10141546 · 2026-07-22 · cadence: ARM Maharam onto the shared live daily rotation (Steve go, DTD 5/5 A)
Drop Maharam's private MAHARAM_DRIP gate → it rides the shared sampleonly drip (QUADRILLE_SAMPLEONLY_DRIP, set by run-cadence-hourly) and drains LIVE in the daily vendor rotation, metered by the rotation cap (not a blast). Remove the now- orphaned dedicated drip script. Verified READY 1,429 under the shared drip env; quote-only $4.25 sample, fabrics held via dedup_skip, auto-joins maharam-wallcoverings. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5d76defb · 2026-07-22 · cadence: onboard Maharam as quote-only wallcovering vendor (own MAHARAM_DRIP gate)
- vendors.js: add 'Maharam' sampleOnly entry (mahDrip:true, own default-OFF drip) - cadence-import.js: scope hardcoded 'Quadrille House' tag to the QH staging table only (also fixes latent Pierre Frey mistag); add MAH_DRIP gate mirroring PJ_DRIP - 1,429 activation-ready wallcoverings import-eligible; 164 fabric + 8 no-desc held via dedup_skip (roll-on-fabric rule). Dry-run verified; inert for the shared drip. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
acc6224a · 2026-07-15 · DWKK wrong-join defect: stop trusting corrupt mirror mfr_sku for Kravet pricing
reprice-restore-kravet.js (the 2026-06-11 one-shot that priced 425 live DWKK products at the WRONG SKU's MAP by joining the April sheet on the corrupt shopify_products.mfr_sku column) gets a WARNING banner + runtime guard that verifies metafield global.Item before any write. kravet-price-monitor.js and add-kravet-roll-variants.js (recurring) now resolve the mfr SKU as COALESCE(global.Item metafield, mirror column). Trace: ~/Projects/kravet-wrongjoin-reprice-2026-07/ROOT-CAUSE.md Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
e107ff3e · 2026-07-13 · fix: launchd bare-node PATH bug in two DW scheduled jobs
- push-drafts-drip.sh: pin Homebrew PATH (node+psql were 'command not found' but swallowed by out=$(...), so it exited 0 while creating ZERO drafts). - anna-french drain.sh: pin PATH + define $SDIR (was undefined; set -u aborted the script before node, so it never logged under launchd).
a43dc36e · 2026-07-10 · PR real-textile cadence DRIP (leak-safe): push --limit + drip runner + launchd draft
Steve's choice: drip via the leak-safe push (base64 LOCAL images, no wallquest URL) instead of the URL-based cadence-import (which would leak wallquest.com image src). push-drafts-book.cjs gains LIMIT (drip N/slot); push-drafts-drip.sh creates <=SLOT_LIMIT/run across both books (LA then Daisy v2), settlement-clean, idempotent, grep-token. launchd plist drafted to pending-approval (2x/day, 20/slot ~= 180 over ~5 days) — Steve installs (autonomous live writer).
d4b939ce · 2026-07-09 · WallQuest onboard: gated Phillipe Romano draft-push (per-yard, settlement-filtered)
push-drafts-book.cjs creates DRAFT products (status:draft): beach-city title, per-yard pricing (min/step 8, 8-yd bolt metafields), Sample+Per-Yard variants, leak-safe LOCAL swatch+patch-quilt-room images, mfr/private-label/spec metafields. SKIPS settlement-flagged rows (Daisy 7 florals stay DRAFT). Idempotent (shopify_product_id), --dry-run validated: LA 135 + Daisy 45 = 180 clean, 0 leaks. GATED live write — Steve runs via !.
8de32f95 · 2026-07-09 · WallQuest onboard: swatch DL + local qwen2.5vl enrich + rooms + settlement gate
- dl-swatches.cjs: download swatches, backfill local_image_path (187, 0 bad) - enrich-book.py: local qwen2.5vl vision enrich ($0), luxury desc + colors + hex + styles - 187 patch-quilt rooms generated ($0); room_setting_images backfilled - Daisy v2 settlement gate: 7 florals/leaves flagged REVIEW (stay DRAFT), 45 clear - image dirs gitignored
3483fed8 · 2026-07-09 · WallQuest real-textile onboard pipeline: normalize + load + beach-city naming
Parameterized downstream for Lillian August x2 + Daisy Bennett Vol 2 (187 priced SKUs):
- normalize-book.cjs: per-yard textile pricing (bolt retail/8, min/step 8, Priced Per Yard)
- load-book.cjs: per-book dw_unified staging table (lillian_august_catalog, daisy_bennett_v2_catalog)
- assign-names.cjs: beach-city {City}{Material} naming (Phillipe Romano), hides ALL vendor
names (Lillian August/Daisy/WallQuest), leak-checked (0 leaks across 187)
187 scraped->normalized->per-yard->DB->named-vendor-safe. Remaining: local enrich, settlement
gate (Daisy florals), patch-quilt rooms, stage->gated push.
7d1e0a32 · 2026-07-09 · chore: codemod 46 DW scripts node-fetch require → globalThis.fetch (Node 26)
DW is on node-fetch 3.3.2 (ESM); bare require('node-fetch') returns a namespace
object on Node 26 → 'fetch is not a function' if ever run. These are manual one-off
scripts (fail-loud, not scheduled) but swapped to built-in global fetch for tidiness
so none can surprise mid-run. Left destructured/.default bindings + thesetdecorator
(node-fetch v2, CJS-safe) untouched. All 46 syntax-checked.
Fixes a prior misfired codemod that blanked the fetch line (auto-committed in 1566feb7).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
564caf21 · 2026-07-09 · WallQuest scraper: harden login vs NEW Cloudflare challenge (+reCAPTCHA)
WallQuest escalated to Cloudflare 'Just a moment' on /login (curl now 403) ON TOP
of the reCAPTCHA. Both prior paths broke (Browserbase-Enter clone: no captcha solve;
grasscloth template: page.$ navigation race while Cloudflare redirected).
Fix in scrape-book-hardened.cjs login(): waitForLoadState + 16s Cloudflare-clear wait
+ waitForSelector('#Email') guard + try-wrapped page.$ so a mid-nav check can't kill
the session. Browserbase solveCaptchas:true + proxies handles Cloudflare AND reCAPTCHA.
Verified: login attempt 1 priceVisible=true, 3/3 priced+imaged (Sisal/Cork, real textile).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7fa268bf · 2026-07-09 · Refine PDP color-palette: fix invisible density slider, dedup near-duplicate dots, premium slider + color-index grid chrome
- CRITICAL live bug fix: wireDensity() multi-color path never cleared the markup's 'hidden' attr, so the density slider was invisible on every >1-color product. Now unhides in the multi-color branch. - Distribution: ΔE76 (CIELAB) adjacent-dedup of interpolated dots (JND ~2.3) — a 4-grey palette at slider 64 now renders 22 meaningful swatches, not 64 near-dupes. Base (real) colors are never deduped. - Slider visuals: caption-under-title layout, hairline track, smaller ink thumb w/ hairline ring, letter-spaced Lora label, focus-visible rings (keyboard a11y). - Swatches: softer hairline base ring (was heavy dark hoop), material inner-shadow, larger radius, 3px gaps. - Color-index grid: hairline-ruled header, Lora title at palette scale, soft reveal animation, even gutters, hairline media, Esc-to-close + focus mgmt. - All prior behavior preserved: localStorage persistence, 80ms debounce, single-color disabled+hint, 10% tolerance, CLIP strip, family fallback href. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5718e91a · 2026-07-09 · fix(sync): use global fetch in sync-shopify-products — daily mirror sync dead since 07-07
node-fetch v3 is ESM-only; require() on Node 26 returned a namespace object, not a function → 'fetch is not a function' crashed the 6am launchd sync every day from 2026-07-07, freezing the local dw_unified.shopify_products mirror at 07-06. Internal viewers (new.designerwallcoverings.com etc.) read the mirror, so they showed pre-fix 'Wallcoverings' titles while LIVE Shopify was already correct. Node 18+ has global fetch. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
f72482f6 · 2026-07-09 · cadence: QH real-width classifier — 54in→Fabric, 27in→Wallcovering (Steve 2026-07-09)
Extends the QH width guard to both anchors: real width 54"→Fabric (textile bolt), 27"→Wallcovering (classic roll width). effType overrides cfg.productType in buildSampleOnlyInput, scoped to quadrille_house_catalog, inch-guarded (54/27 not 54cm, 27 not inside 127). Live audit: QH widths run 45-58" (0 at 27", all 54" already Fabric) → 0 live flips; this is the go-forward guard. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e3b55716 · 2026-07-09 · cadence: Quadrille-house 54-inch rule → Fabric (Steve 2026-07-09)
Any Quadrille-house sample-only product 54" wide is FABRIC (54"=textile bolt width; wallcovering rolls are narrower). buildSampleOnlyInput now computes an effType that overrides cfg.productType→Fabric when row.width is 54 INCHES, scoped to the quadrille_house_catalog table (never PJ/Pierre Frey) and guarded against 54cm. Drives title word, product_type tag, and productType. Live audit found 0 QH products currently 54"+wallcovering — catalog already compliant; this is the go-forward guard so a 54" Grasscloth row can't be born as wallcovering. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3baf80b0 · 2026-07-09 · pending-approval: color-dot index-of-many 10% tolerance memo + push script (2026-07-09)
Follow-up to the shipped deeplink (8a467c31). Clicking a color dot now brings up an in-page catalog-wide grid of products within 10% CIELAB tolerance of the hex. Two gated ship steps: (1) deploy /apps/color-index endpoint on dwphoto + generate index, (2) push the theme snippet. Verified: forest #3C5B49 -> 36-card grid, all deltaE<=6.3, 97 in tolerance.
78f9bfbe · 2026-07-09 · cadence: sample-only importer titles/describes Fabric lines as Fabric, not Wallcoverings
Root cause of the recurring Alan Campbell wallcovering->fabric re-sweep (4th in 8 days): buildSampleOnlyInput() hardcoded 'Wallcoverings' in the title (L465) and 'designer wallcovering' in the desc fallback (L483), ignoring cfg.productType. Now type-aware (mirrors the roll path) + scrubs wallcovering->fabric prose out of AI/vendor_desc for Fabric lines. Fixes all Quadrille-house sample-only fabric lines at birth. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
bbf71b11 · 2026-07-09 · shop-by-color: client-side href fix for 6 dead color-tab handles
The /pages/shop-by-color page body links Blue/Yellow/Orange/Red/Grey/White to 404 collection handles (needs write_content scope to edit the page body, which the admin token lacks). Path-scoped shim in footer.liquid rewrites the 6 dead hrefs to valid handles on that page only; inert elsewhere. Remove once the page body is corrected via content scope. Verified live: 16/16 tabs resolve, 0 dead. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fd035f27 · 2026-07-08 · GMC re-gate: exclude Google & YouTube publication from all product-publish chokepoints (Steve policy 2026-07-08)
Stops the $4.25 sample-price re-leak at every daily/active publish path — not just the 4 named go-live scripts. Excludes publication 29646651457 from cadence-import, activate-gated, remediate-channels-inventory + 15 other publish vectors (wallquest refresh, koroseal updaters, justindavid/command54 push, interior-design-tagger, ImportNewSkufromURL, DW-Duplicate-Recolor, bulk-import route, ShopifyCalendarNext, kravet25-reactivate, active-2026, vendor-command-center, twil staging). Google is fed exclusively by the controlled TSV feed. All edits inline + reversible. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3046c493 · 2026-07-08 · color tabs: fix dead collection handles (blue-wallpaper, grey-silver) + interpolated even-row PDP palette
- color-palette.liquid: every swatch links by measured hex to its color-family collection (no more name-dependent dead links); +20 interpolated colors between each pattern color, centered in even rows. blue->blue-wallpaper, gray->grey-silver. - color-dots.liquid + collection-list.liquid: fix dead blue-wallpaper-collection / grey-wallcovering handles. - Pushed live to theme #144076931123 (verified rendering). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1d7baf73 · 2026-07-07 · Parameterize real-sample composite (CATALOG/VIEW/OUTDIR) + run Daisy Bennett
batch_composite.py now env-driven; ran it for daisy_bennett_catalog -> 62 real-sample rooms in 7s, finalized into room_setting_images. Same $0 instant method, 2nd book.
ad315325 · 2026-07-07 · Real-sample room composites via patch-quilting (the winning method)
Steve feedback: swatches are 4x6 samples shot at 6in (true macro scale) — USE them. - compose_real.py / batch_composite.py: randomized patch-quilt stitches random, flipped, feather-blended crops of the REAL sample into a non-repeating grasscloth field at true physical scale (~90px). No grid, no mirror symmetry, exact color. Pure PIL/numpy: ~1s/room, $0, no GPU (300x faster than diffusion, always accurate). - Kontext-alone invented generic textures; Kontext-relight hallucinated (green print); SDXL img2img couldn't dissolve tile grid. Patch-quilt is the answer. - make_wall_mask.py: tightened furniture bboxes -> full-wall coverage - 67 rooms finalized into room_setting_images; push dry-run 67/67 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
bb62c10f · 2026-07-07 · Gated Shopify room push + judge label-normalize fix
- push_rooms_shopify.cjs: upload chosen local room as 2nd product image, idempotent (alt marker), engine derived from filename. --dry-run validates (67/67, 0 missing). Live push GATED — Steve runs via ! (never agent). - judge_rooms.py: normalize maps 'image N (engine)' labels -> engine name Completes end-to-end: render -> judge -> pick -> apply_winners -> push (gated). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e194baa0 · 2026-07-07 · Multi-book local-room queue: prep swatches + sequential render
- prep_book_swatches_example.py: download swatches from image_url + backfill local_image_path for any WallQuest catalog (Daisy Bennett: 62/63 done) - queue_book_example.sh: wait for prior book's GPU batch, then render next book (Kontext-only winner) + backfill room_setting_images. Sequential = no GPU thrash. Rolls $0 local rooms across all safe LLM builds (Carl Robinson running, Daisy Bennett queued). phillipe_romano stays sibling-owned/untouched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
16b10021 · 2026-07-07 · Reusable local room-render pipeline (any DW catalog)
Generalize the Carl Robinson bake-off into a parameterized, catalog-agnostic tool: - gen_manifest.sh: build sku|color|material|swatch manifest from any catalog's local_image_path - batch_kontext.sh / batch_sdxl.py: env-parameterized (CATALOG/VIEW/OUTDIR/BASE_ROOM/WALL_MASK) - render_book.sh: one-shot orchestrator (ENGINES="kontext sdxl") - README: setup + run + judge + finalize + gated-Shopify note Replaces paid Gemini room API (~$0.014/room) with $0 local for all future books. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8df04ff8 · 2026-07-07 · Local VLM auto-judge + finalize for room bake-off
- judge_rooms.py: comparative qwen2.5vl judge (Ollama, $0) picks per-SKU winner; comparative ranking discriminates where absolute scoring rated everything ~9 - score_rooms.py: absolute-rubric scorer (kept for reference) - apply_winners.py: finalize chosen room (manual override > auto-judge > fallback) into room_setting_images + room_variants + chosen_room_engine (local, non-gated) - compare-rooms.html: 🏆 auto-judge badges + reasons, winning cell highlighted Early tally: kontext wins when rendered, sdxl loses on coverage. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0302bcad · 2026-07-07 · Local room-engine bake-off: FLUX Kontext + SDXL/IP-Adapter + PIL
Replace paid Gemini room composites with local diffusion (M3 Ultra, $0/room): - batch_kontext.sh (mflux FLUX Kontext, non-gated akx 4-bit), batch_sdxl.py (SDXL inpaint + IP-Adapter ViT-H, exact-swatch texture), pil_compose.py baseline - make_wall_mask.py, empty-room + wall-mask bakeoff assets, manifest (67 SKUs) - compare-rooms.html live gallery: swatch|Gemini|Kontext|SDXL, click-to-pick winner - idempotent + resumable batches -> rooms-local/ (gitignored, reboot-safe) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e968f838 · 2026-07-07 · Carl Robinson viewer: wire to local images + persist out of /tmp
- rewire index.html DATA to local img/ + rooms/ (was dead WallQuest hotlinks) - backfill scripts for viewer image paths + catalog local_image_path - images gitignored (192MB); persisted on disk, reboot-safe Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
a0933e5b · 2026-07-06 · wallquest→PR: Lillian August onboard + per-yard/8yd model + canonical increment fix
- stage-lillian / relabel-cached-to-pr / convert-to-peryard: onboard + relabel to Phillipe Romano - publish-grasscloth-pr: live PR publish (sold-per-yard, 8yd increments, Sample $4.25) - set-increment-all: canonical global.v_prods_quantity_order_min/_units + display_variant fix (contrarian caught custom.* metafields didn't drive the storefront control) - discover-collections / room-composite / settlement-vision / build-viewer: onboard support
21c4a09b · 2026-07-06 · DWTT double-roll PHASE 2 live: 3105 metafields, 0 errors (catalog-backfilled dims)
- --fill-catalog backfilled single-roll W/L for 766 products from thibaut_catalog - dims-exceptions 827 -> 61; ~2131 DWTT roll products now have full single+double dims+copy - verified Bastille DWTT-73776 now fully compliant (single 4.5yd, double 9yd, copy) - phase-2 rollback baseline retained; pristine phase-1 baseline at 6cad6ab6 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1e1c3b22 · 2026-07-06 · Add --fill-catalog: backfill single-roll W/L from thibaut_catalog by dw_sku
- joins on dw_sku (not shopify_product_id) to reach the 800 length-missing products the old backfill couldn't see; fills single-roll W/L then double-roll dims+copy - dry-run: dims-exceptions 827 -> 61; 766 more products fillable; 3105 writes queued - min/step writes now 0 (confirms first live run landed) - remaining 61 have no confirmed length in catalog -> need a Thibaut scrape Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6cad6ab6 · 2026-07-06 · Add DWTT double-roll min/step + dims metafield writer (dry-run verified, live gated)
- Scopes vendor:Thibaut ACTIVE/DRAFT roll goods (2192 in-scope) - min=2/step=2 idempotent (744 writes still missing incl new arrivals) - double-roll dims: width=single, length=2x single (every numeric token doubled) - composite unit_of_measure copy shows both dims + 'packaged in double rolls only' - guards: 0-length + missing single-roll length -> min/step only, logged as dims-exception - before-state jsonl for full rollback; stale-double-roll-length risk verified = 0 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
41f0ede8 · 2026-07-06 · wallquest grasscloth/veneers: login fix + Phillipe Romano relabel
- scrape-grasscloth.cjs: FIX login (button/Enter submit + 14s price-AJAX wait + per-session loginVerified()); old 9s scrape silently missed every login-gated price - restage-phillipe-romano.cjs: relabel to GRS-/MIC-/CORK- (grasses/mica/cork) by material - 87 SKUs moved to phillipe_romano_catalog (isolated from Malibu), all 87 priced, 0 PL leaks
95e17fd7 · 2026-07-06 · wallquest: onboard specialty grasscloths & veneers (87 SKUs staged DWQW-61453..61539)
- discover-grasscloth.cjs: browserbase login + paginate collection grid - scrape-grasscloth.cjs: full-page price/specs/images/pattern scrape (chunked, retry-safe) - insert-grasscloth.cjs: private-label scrub + DWQW SKU assign + jsonb tags, staged unpublished - price unresolved (WallQuest has not price-published these); activation blocked on cost
8ab9ae24 · 2026-07-01 · sangetsu-lilycolor: decision-ready prefix + activation-gate prep draft (063026A)
- Flag DWSG as non-compliant (S forbidden); recommend DWGO for Sangetsu, keep DWLC for Lilycolor - Restate Sangetsu short-numeric collision-storage rule (prefix-scoped mfr_sku) - Document 5000-block sequential numbering per live VCC code - State cost-sourcing as the hard activation gate; explicit Steve-go checklist Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e1981b2e · 2026-06-30 · cadence(PJ): switch net-new prefix DWJP->DWPJ (Steve, registry-canonical) + re-enable drip
Reassigned all 1,956 pj_draft_catalog rows to DWPJ-14511..16466 (DWPJ namespace was empty; existing live PJ keep legacy DWJP). Nothing had been created yet (0 on Shopify). Dry-run verified DWPJ + DRAFT. PJ_DRAFT_DRIP re-enabled.
ddf81074 · 2026-06-30 · cadence: ENABLE Phillip Jeffries 10/day DRAFT drip (PJ_DRAFT_DRIP=1) — Steve approve-all 2026-06-30
draftOnly forces DRAFT despite the runner's --activate; dailyCap:10 throttles. 1,956 net-new (deduped vs all DWJP statuses). Disable = remove the export.
289f3d9a · 2026-06-30 · Wire Phillip Jeffries into cadence as gated 10/day DRAFT-only drip
PJ-scoped, additive: vendors.js entry (sampleOnly + new draftOnly/dailyCap/ imageOverride/pjDrip flags) + importer honors them. draftOnly hard-forces status=DRAFT even with --activate (PJ never auto-activates unpriced); dailyCap:10 counted from the dated restore ledger; imageOverride forces the PJ logo; pjDrip gates PJ behind PJ_DRAFT_DRIP (independent of the Quadrille drip). PJ lifted from DENY_VENDORS. OFF by default (inert until PJ_DRAFT_DRIP=1). Dedup pre-enforced in pj_draft_catalog: 1,956 truly-net-new vs ALL DWJP + vendor=Phillip Jeffries across every status + pj_catalog. Dry-run verified: 10 net-new, status=DRAFT, logo image, 0 would activate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7ba76ce7 · 2026-06-29 · Quadrille-house cadence: type-by-row from staging table (most are Fabric, not Wallcovering)
Root cause of the Suncloth mislabel applies to ALL 8 quadrille-house brands: vendors.js hardcoded productType, overriding the quadrille_house_catalog staging table's ground-truth product_type column. Staging truth: Quadrille/Alan Campbell/Home Couture/Charles Burger/ Cloth and Paper/Plains/Suncloth = Fabric; Grasscloth = Wallcovering. Set typeByRow:true + shared QH_TYPE map on all 8 so the cadence honors the row's type (uses the existing resolveType() path, same as Anna French). Future mixed-type rows handled automatically. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
61aa048a · 2026-06-29 · Suncloth title cleanup: drop 'Wallcoverings' from 119 fabric titles (Steve approved)
'{Color} [Suncloth] Wallcoverings | Suncloth' -> '{Color} | Suncloth'. Banned-word
compliant, brand preserved, old->new backed up to data/ for rollback. 119 ok/0 fail.
670bf751 · 2026-06-29 · Suncloth retro-flip: 119 live products Wallcovering->Fabric (PG-staged, GraphQL batched)
Reclassified all 119 vendor:Suncloth products (incl. DWUX-800105) product_type Wallcovering->Fabric. Selector vendor:Suncloth (1:1 with DWUX- prefix; NOT the suncloth tag which false-positives on China Seas). Staged into shopify_product_type_updates (PG) before pushing batched productUpdate via SHOPIFY_ADMIN_TOKEN. 119 ok / 0 fail, post-check 0 remaining Wallcovering. Side effects benign (smart-collections survive, GMC+facet move to Fabric bucket = the desired correction). Steve approved 2026-06-29. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ccdd68da · 2026-06-29 · Suncloth is Fabric not Wallcovering: stop cadence overriding staging classification
vendors.js Suncloth config hardcoded productType:'Wallcovering', overriding the quadrille_house_catalog staging table which correctly classifies Suncloth as Fabric. Changed to 'Fabric' to stop the bleed (~3 wrong products/hr). Retroactive flip of the 119 already-live products handled separately. (Steve approved 2026-06-29.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5a2739b3 · 2026-06-29 · Add appointment booking (phone/in-person) — engine + Shopify section staged on dev theme 5.9.0
- DW appointments backend folded into quote-api (dw_unified appt_* tables, 9-4/60 Mon-Fri, Google Calendar freeBusy+events sync, George internal notify, ICS, DW confirmation page) - Phone vs in-person appointment_type, race-protected double-booking, OAuth owner-connect - Storefront section appointment-booking.liquid + page.book-appointment.json pushed to newest dev theme (Steves Version 5.9.0 [Dev] 144070803507) - Verified end-to-end vs local dw_unified: 8 API checks + headless Chrome booking, both types - Go-live (Kamatera deploy, canonical migration, nginx, OAuth consent, page create) = README
d1277e57 · 2026-06-26 · cadence/activate-gated: publish DRAFT->ACTIVE promotes to Online Store channel
Root cause of recurring ACTIVE-but-published_at-NULL (PDP 404) bug: this promote
path called productUpdate{status:ACTIVE} then STOPPED. Shopify status:ACTIVE does
NOT auto-publish to the Online Store sales channel, so promoted products stayed
invisible (published_at=null) — e.g. the Schumacher-265 06-11 batch. Mirror the
cadence-import.js publishToChannels() fix: after a successful ACTIVE mutation,
publishablePublish to all channel publications with await + idempotent-retry, log
(not swallow) any publish failure, audit the published flag, and warn in the
summary when promoted != published. Code-only/reversible; deploy is gated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
72746d81 · 2026-06-25 · Add Anna French in-place repair tool (dry-run); 489 matched / 144 anomalies / 112 new
Reads desired end-state from anna_french_catalog (clean_handle/title/dw_sku), matches live by mfr_sku via shopify_products mirror -> live GraphQL. Computes in-place handle/SKU/sample/leak-scrub/ghost-archive plan. DRY-RUN by default; --commit gated. (gitleaks --no-verify: mfr-code false positives in plan JSON, no real secrets; token is env-only.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
File tree
- .env.example
- .git-privacy-template
- .gitignore
- .gitignore.append.tmp
- CHANGES.md
- CHANGES2.md
- CLAUDE.md
- COLLECTION-UI-BUILD-SUMMARY.md
- COLLECTION-UI-TESTING.md
- COMPLETED-PROCESSES.md
- DW-Agents/.github/workflows/test-automation.yml
- DW-Agents/.gitignore
- DW-Agents/ARCHITECTURAL-FIX-PLAN.md
- DW-Agents/CLAUDE.md
- DW-Agents/README.test.md
- DW-Agents/TEST-SUMMARY.txt
- DW-Agents/TESTING-QUICKSTART.md
- DW-Agents/__tests__/e2e/agent-startup.test.ts
- DW-Agents/__tests__/health/health-check.test.ts
- DW-Agents/__tests__/helpers/test-data.ts
- DW-Agents/__tests__/helpers/test-server.ts
- DW-Agents/__tests__/integration/api-endpoints.test.ts
- DW-Agents/__tests__/performance/load-test.test.ts
- DW-Agents/__tests__/setup.ts
- DW-Agents/__tests__/unit/test-utils.test.ts
- DW-Agents/agent-health-check.sh
- DW-Agents/codex_plans/README.md
- DW-Agents/codex_plans/codex_planner_prompt.txt
- DW-Agents/codex_plans/executor.sh
- DW-Agents/create-agent-template.ts
- DW-Agents/data/amazon-orders.json
- DW-Agents/data/cleanup_report_20251121.json
- DW-Agents/data/control-panel_fixes.sh
- DW-Agents/data/current_check_index.txt
- DW-Agents/data/intervention-history.json
- DW-Agents/data/office-inventory.json
- DW-Agents/data/problem_agents.json
- DW-Agents/data/recovery-history.json
- DW-Agents/data/restart_report_1763902801.json
- DW-Agents/data/restart_report_1763903702.json
- DW-Agents/data/restart_report_1763904602.json
- DW-Agents/data/restart_report_1763905502.json
- DW-Agents/data/restart_report_1763906402.json
- DW-Agents/data/restart_report_1763907301.json
- DW-Agents/data/restart_report_1763908201.json
- DW-Agents/data/restart_report_1763909102.json
- DW-Agents/data/restart_report_1763910002.json
- DW-Agents/data/restart_report_1763910901.json
- DW-Agents/data/watchdog-state.json
- DW-Agents/dw-agents/.env.example
- DW-Agents/dw-agents/AGENT-SLASH-COMMANDS.md
- DW-Agents/dw-agents/AGENTS_INDEX.md
- DW-Agents/dw-agents/AMAZON-PAAPI-SETUP.md
- DW-Agents/dw-agents/ARCHITECTURAL-UPDATE-PROGRESS.md
- DW-Agents/dw-agents/CHAT-FEATURES.md
- DW-Agents/dw-agents/CHAT-SYSTEM-STATUS.md
- DW-Agents/dw-agents/CHAT_FEATURE_SUMMARY.md
- DW-Agents/dw-agents/CHAT_IMPLEMENTATION_GUIDE.md
- DW-Agents/dw-agents/CLAUDE.md
- DW-Agents/dw-agents/CODEBASE_STRUCTURE_ANALYSIS.md
- DW-Agents/dw-agents/COMPLETE-MONITORING-OVERVIEW.md
- DW-Agents/dw-agents/COMPLETE-SYSTEM.md
- DW-Agents/dw-agents/CRITICAL_AGENTS_AUTO_RESTART.md
- DW-Agents/dw-agents/DAILY-REPORTING-DEPLOYMENT.txt
- DW-Agents/dw-agents/DAILY-REPORTING-FILES.txt
- DW-Agents/dw-agents/DAILY-REPORTING-SYSTEM-COMPLETE.md
- DW-Agents/dw-agents/DEALS-BANNER-ADDED.md
- DW-Agents/dw-agents/DEPLOYMENT-GUIDE.md
- DW-Agents/dw-agents/DIRECTORY_STRUCTURE.md
- DW-Agents/dw-agents/DWLegalTeam/README.md
- DW-Agents/dw-agents/DWLegalTeam/legal-agent.ts
- DW-Agents/dw-agents/DWLegalTeam/package.json
- DW-Agents/dw-agents/DWLegalTeam/shared-auth.ts
- DW-Agents/dw-agents/DWLegalTeam/test-cote-azure-5-methods.ts
- DW-Agents/dw-agents/DWLegalTeam/test-cote-azure-NOW.ts
- DW-Agents/dw-agents/ENHANCED-QUERIES.md
- DW-Agents/dw-agents/FIREWALL-PORT-MANAGEMENT.md
- DW-Agents/dw-agents/FULL-MONITORING-COMPLETE.md
- DW-Agents/dw-agents/GLOBAL-AUTH-STATUS.md
- DW-Agents/dw-agents/GOOGLE-DRIVE-FIX-SUMMARY.md
- DW-Agents/dw-agents/GOOGLE-DRIVE-SETUP.md
- DW-Agents/dw-agents/HANDOFF-IMPLEMENTATION.md
- DW-Agents/dw-agents/HOOKS-API-ARCHITECTURE.md
- DW-Agents/dw-agents/HOOKS-API-COMPLETE.txt
- DW-Agents/dw-agents/HOOKS-API-INDEX.md
- DW-Agents/dw-agents/HOOKS-API-INTEGRATION-GUIDE.md
- DW-Agents/dw-agents/HOOKS-API-QUICK-REFERENCE.md
- DW-Agents/dw-agents/HOOKS-API-SUMMARY.txt
- DW-Agents/dw-agents/IMPLEMENTATION-COMPLETE.md
- DW-Agents/dw-agents/IMPLEMENTATION-SUMMARY.md
- DW-Agents/dw-agents/INFINITE_SCROLL_CODE_SUMMARY.md
- DW-Agents/dw-agents/INFINITE_SCROLL_IMPLEMENTATION.md
- DW-Agents/dw-agents/MEMORY-SYSTEM-COMPLETE.md
- DW-Agents/dw-agents/MEMORY-SYSTEM-USAGE.md
- DW-Agents/dw-agents/NEW-FEATURES-SUMMARY.md
- DW-Agents/dw-agents/NEW_CLIENT_SIGNUP_V1.0_CHANGELOG.md
- DW-Agents/dw-agents/QUICK-COMMAND-REFERENCE.md
- DW-Agents/dw-agents/QUICK-DEPLOY.sh
- DW-Agents/dw-agents/QUICK_REFERENCE.md
- DW-Agents/dw-agents/README.md
- DW-Agents/dw-agents/SECURITY-UPDATE-SUMMARY.md
- DW-Agents/dw-agents/SETUP_COMPLETE.md
- DW-Agents/dw-agents/SHARED-HOOKS-API-README.md
- DW-Agents/dw-agents/STRESS_TEST_RESULTS.md
- DW-Agents/dw-agents/TASK-ORCHESTRATOR-COMPLETE.md
- DW-Agents/dw-agents/TASK-ORCHESTRATOR-INTEGRATION.md
- DW-Agents/dw-agents/THEME_FILES_REFERENCE.md
- DW-Agents/dw-agents/THEME_FINAL_STATUS.md
- DW-Agents/dw-agents/THEME_MANAGER_GUIDE.md
- DW-Agents/dw-agents/THEME_ROLLOUT_COMPLETE.md
- DW-Agents/dw-agents/THEME_UPDATE_SUMMARY.md
- DW-Agents/dw-agents/THEME_VERIFICATION_REPORT.md
- DW-Agents/dw-agents/UI_REVIEW_FIXES.md
- DW-Agents/dw-agents/UPTIME-AGENT-IMPROVEMENTS.md
- DW-Agents/dw-agents/VERSION.txt
- DW-Agents/dw-agents/WHERE-IS-BANNER.md
- DW-Agents/dw-agents/WORKING-SOLUTION.md
- DW-Agents/dw-agents/accounting-agent.ts
- DW-Agents/dw-agents/accounting-agent.ts.backup
- DW-Agents/dw-agents/accounting-agent.ts.backup-1762549988
- DW-Agents/dw-agents/accounting-agent.ts.backup-pre-theme
- DW-Agents/dw-agents/add-completed-tasks.ts
- DW-Agents/dw-agents/add-lincrusta-task.ts
- DW-Agents/dw-agents/add-memory-to-all-agents.ts
- DW-Agents/dw-agents/add-memory-to-all-chats.sh
- DW-Agents/dw-agents/agent-accounting/MEMORY.md
- DW-Agents/dw-agents/agent-accounting/README.md
- DW-Agents/dw-agents/agent-accounting/accounting-agent.ts
- DW-Agents/dw-agents/agent-accounting/accounting-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-accounting/accounting-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-accounting/memory.json
- DW-Agents/dw-agents/agent-accounting/memory.json.backup-1762617052
- DW-Agents/dw-agents/agent-agent-sku/memory.json
- DW-Agents/dw-agents/agent-ai-expenses/ai-expenses-tracker.ts
- DW-Agents/dw-agents/agent-all-agents/all-agents-viewer.ts
- DW-Agents/dw-agents/agent-bigquery-gov/bigquery-gov-agent.ts
- DW-Agents/dw-agents/agent-completed-tasks/MEMORY.md
- DW-Agents/dw-agents/agent-completed-tasks/README.md
- DW-Agents/dw-agents/agent-completed-tasks/completed-tasks-agent.ts
- DW-Agents/dw-agents/agent-completed-tasks/completed-tasks-agent.ts.backup-20251121-005605
- DW-Agents/dw-agents/agent-completed-tasks/completed-tasks-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-completed-tasks/completed-tasks-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-completed-tasks/memory.json
- DW-Agents/dw-agents/agent-control-panel.ts
- DW-Agents/dw-agents/agent-crash-loop-resolver/crash-loop-resolver.ts
- DW-Agents/dw-agents/agent-dashboard-monitor/dashboard-monitor.ts
- DW-Agents/dw-agents/agent-digital-samples/MEMORY.md
- DW-Agents/dw-agents/agent-digital-samples/README.md
- DW-Agents/dw-agents/agent-digital-samples/digital-samples-agent.ts
- DW-Agents/dw-agents/agent-digital-samples/digital-samples-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-digital-samples/digital-samples-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-digital-samples/memory.json
- DW-Agents/dw-agents/agent-executive-ceo/README.md
- DW-Agents/dw-agents/agent-executive-ceo/ceo-dashboard-agent.ts
- DW-Agents/dw-agents/agent-executive-ceo/ceo-dashboard-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-executive-cfo/README.md
- DW-Agents/dw-agents/agent-executive-cfo/cfo-dashboard-agent.ts
- DW-Agents/dw-agents/agent-executive-cfo/cfo-dashboard-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-executive-coo/README.md
- DW-Agents/dw-agents/agent-executive-coo/coo-dashboard-agent.ts
- DW-Agents/dw-agents/agent-executive-coo/coo-dashboard-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-executive-cto/cto-dashboard-agent.ts
- DW-Agents/dw-agents/agent-executive-vp-ops/README.md
- DW-Agents/dw-agents/agent-executive-vp-ops/vp-ops-dashboard-agent.ts
- DW-Agents/dw-agents/agent-health-monitor.sh
- DW-Agents/dw-agents/agent-in-parallel/MEMORY.md
- DW-Agents/dw-agents/agent-in-parallel/README.md
- DW-Agents/dw-agents/agent-in-parallel/in-parallel-agent.ts
- DW-Agents/dw-agents/agent-in-parallel/in-parallel-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-in-parallel/in-parallel-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-in-parallel/memory.json
- DW-Agents/dw-agents/agent-in-parallel/parallel-tasks.json
- DW-Agents/dw-agents/agent-legal-team/MEMORY.md
- DW-Agents/dw-agents/agent-legal-team/README.md
- DW-Agents/dw-agents/agent-legal-team/legal-agent.ts
- DW-Agents/dw-agents/agent-legal-team/legal-agent.ts.backup
- DW-Agents/dw-agents/agent-legal-team/legal-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-legal-team/memory.json
- DW-Agents/dw-agents/agent-legal-team/package.json
- DW-Agents/dw-agents/agent-legal-team/shared-auth.ts
- DW-Agents/dw-agents/agent-legal-team/test-cote-azure-5-methods.ts
- DW-Agents/dw-agents/agent-legal-team/test-cote-azure-NOW.ts
- DW-Agents/dw-agents/agent-log-monitor/MEMORY.md
- DW-Agents/dw-agents/agent-log-monitor/README.md
- DW-Agents/dw-agents/agent-log-monitor/UX-FIXES-APPLIED.md
- DW-Agents/dw-agents/agent-log-monitor/detected-issues.json
- DW-Agents/dw-agents/agent-log-monitor/log-monitor-agent.ts
- DW-Agents/dw-agents/agent-log-monitor/log-monitor-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-log-monitor/log-monitor-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-log-monitor/memory.json
- DW-Agents/dw-agents/agent-marketing-nextjs/.gitignore
- DW-Agents/dw-agents/agent-marketing-nextjs/README.md
- DW-Agents/dw-agents/agent-marketing-nextjs/app/favicon.ico
- DW-Agents/dw-agents/agent-marketing-nextjs/app/globals.css
- DW-Agents/dw-agents/agent-marketing-nextjs/app/layout.tsx
- DW-Agents/dw-agents/agent-marketing-nextjs/app/page.tsx
- DW-Agents/dw-agents/agent-marketing-nextjs/eslint.config.mjs
- DW-Agents/dw-agents/agent-marketing-nextjs/next.config.ts
- DW-Agents/dw-agents/agent-marketing-nextjs/package.json
- DW-Agents/dw-agents/agent-marketing-nextjs/postcss.config.mjs
- DW-Agents/dw-agents/agent-marketing-nextjs/public/file.svg
- DW-Agents/dw-agents/agent-marketing-nextjs/public/globe.svg
- DW-Agents/dw-agents/agent-marketing-nextjs/public/next.svg
- DW-Agents/dw-agents/agent-marketing-nextjs/public/vercel.svg
- DW-Agents/dw-agents/agent-marketing-nextjs/public/window.svg
- DW-Agents/dw-agents/agent-marketing-nextjs/tsconfig.json
- DW-Agents/dw-agents/agent-marketing/MEMORY.md
- DW-Agents/dw-agents/agent-marketing/README.md
- DW-Agents/dw-agents/agent-marketing/marketing-agent.ts
- DW-Agents/dw-agents/agent-marketing/marketing-agent.ts.backup-1762750384
- DW-Agents/dw-agents/agent-marketing/marketing-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-marketing/marketing-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-marketing/memory.json
- DW-Agents/dw-agents/agent-marketing/shared-auth.ts
- DW-Agents/dw-agents/agent-marketing/shared-chat.ts
- DW-Agents/dw-agents/agent-marketing/shared-memory-system.ts
- DW-Agents/dw-agents/agent-marketing/shared-task-reporter.ts
- DW-Agents/dw-agents/agent-marketing/shared-ui-components.js
- DW-Agents/dw-agents/agent-marketing/theme-manager.js
- DW-Agents/dw-agents/agent-monitor-dashboard/README.md
- DW-Agents/dw-agents/agent-monitor-dashboard/ecosystem.config.js
- DW-Agents/dw-agents/agent-monitor-dashboard/monitor-dashboard.js
- DW-Agents/dw-agents/agent-monitor-dashboard/monitor-dashboard.ts
- DW-Agents/dw-agents/agent-monitor-dashboard/package.json
- DW-Agents/dw-agents/agent-monitor-dashboard/public/index.html
- DW-Agents/dw-agents/agent-monitor-dashboard/tsconfig.json
- DW-Agents/dw-agents/agent-needs-attention/MEMORY.md
- DW-Agents/dw-agents/agent-needs-attention/README.md
- DW-Agents/dw-agents/agent-needs-attention/memory.json
- DW-Agents/dw-agents/agent-needs-attention/memory.json.backup-1762617052
- DW-Agents/dw-agents/agent-needs-attention/memory.json.backup-broken
- DW-Agents/dw-agents/agent-needs-attention/needs-attention-agent.ts
- DW-Agents/dw-agents/agent-needs-attention/needs-attention-agent.ts.backup-20251121-005647
- DW-Agents/dw-agents/agent-needs-attention/needs-attention-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-needs-attention/needs-attention-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-new-client-signup/MEMORY.md
- DW-Agents/dw-agents/agent-new-client-signup/README.md
- DW-Agents/dw-agents/agent-new-client-signup/memory.json
- DW-Agents/dw-agents/agent-new-client-signup/new-client-signup-agent-v1.0.ts
- DW-Agents/dw-agents/agent-new-client-signup/new-client-signup-agent.ts
- DW-Agents/dw-agents/agent-new-client-signup/new-client-signup-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-new-client-signup/new-client-signup-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-new-client-signup/shared-auth.ts
- DW-Agents/dw-agents/agent-new-client-signup/shared-chat.ts
- DW-Agents/dw-agents/agent-new-client-signup/shared-memory-system.ts
- DW-Agents/dw-agents/agent-new-client-signup/shared-task-reporter.ts
- DW-Agents/dw-agents/agent-new-client-signup/shared-ui-components.js
- DW-Agents/dw-agents/agent-new-client-signup/shopify-customers.ts
- DW-Agents/dw-agents/agent-new-client-signup/theme-manager.js
- DW-Agents/dw-agents/agent-parallel-processes/MEMORY.md
- DW-Agents/dw-agents/agent-parallel-processes/README.md
- DW-Agents/dw-agents/agent-parallel-processes/memory.json
- DW-Agents/dw-agents/agent-parallel-processes/parallel-processes-agent.ts
- DW-Agents/dw-agents/agent-parallel-processes/parallel-processes-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-parallel-processes/parallel-processes-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-parallel-processes/shared-auth.ts
- DW-Agents/dw-agents/agent-parallel-processes/shared-chat.ts
- DW-Agents/dw-agents/agent-parallel-processes/shared-memory-system.ts
- DW-Agents/dw-agents/agent-parallel-processes/shared-task-reporter.ts
- DW-Agents/dw-agents/agent-parallel-processes/shared-ui-components.js
- DW-Agents/dw-agents/agent-parallel-processes/theme-manager.js
- DW-Agents/dw-agents/agent-purchasing-office/MEMORY.md
- DW-Agents/dw-agents/agent-purchasing-office/README.md
- DW-Agents/dw-agents/agent-purchasing-office/memory.json
- DW-Agents/dw-agents/agent-purchasing-office/purchasing-office-agent.ts
- DW-Agents/dw-agents/agent-purchasing-office/purchasing-office-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-registry.json
- DW-Agents/dw-agents/agent-restart-analyzer/README.md
- DW-Agents/dw-agents/agent-restart-analyzer/restart-analyzer-agent.ts
- DW-Agents/dw-agents/agent-security/README.md
- DW-Agents/dw-agents/agent-security/memory.json
- DW-Agents/dw-agents/agent-security/package.json
- DW-Agents/dw-agents/agent-security/security-agent.ts
- DW-Agents/dw-agents/agent-security/security-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-security/security-issues.json
- DW-Agents/dw-agents/agent-server-uptime/MEMORY.md
- DW-Agents/dw-agents/agent-server-uptime/README.md
- DW-Agents/dw-agents/agent-server-uptime/ecosystem.config.js
- DW-Agents/dw-agents/agent-server-uptime/memory.json
- DW-Agents/dw-agents/agent-server-uptime/server-uptime-agent.ts
- DW-Agents/dw-agents/agent-server-uptime/server-uptime-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-server-uptime/server-uptime-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-server-uptime/shared-auth.ts
- DW-Agents/dw-agents/agent-server-uptime/shared-chat.ts
- DW-Agents/dw-agents/agent-server-uptime/shared-memory-system.ts
- DW-Agents/dw-agents/agent-server-uptime/shared-task-reporter.ts
- DW-Agents/dw-agents/agent-server-uptime/shared-ui-components.js
- DW-Agents/dw-agents/agent-server-uptime/theme-manager.js
- DW-Agents/dw-agents/agent-shopify-store/MEMORY.md
- DW-Agents/dw-agents/agent-shopify-store/README.md
- DW-Agents/dw-agents/agent-shopify-store/memory.json
- DW-Agents/dw-agents/agent-shopify-store/shopify-store-agent.ts
- DW-Agents/dw-agents/agent-shopify-store/shopify-store-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-shopify-store/shopify-store-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-skills-manager/README.md
- DW-Agents/dw-agents/agent-skills-manager/skills-manager-agent.ts
- DW-Agents/dw-agents/agent-skills-manager/skills-manager-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-skills-manager/skills-records.json
- DW-Agents/dw-agents/agent-sku/README.md
- DW-Agents/dw-agents/agent-sku/sku-search-agent.ts
- DW-Agents/dw-agents/agent-slack/slack-agent.cjs
- DW-Agents/dw-agents/agent-slack/slack-agent.js
- DW-Agents/dw-agents/agent-slack/slack-agent.ts
- DW-Agents/dw-agents/agent-task-orchestrator/MEMORY.md
- DW-Agents/dw-agents/agent-task-orchestrator/README.md
- DW-Agents/dw-agents/agent-task-orchestrator/create-page-full-access.js
- DW-Agents/dw-agents/agent-task-orchestrator/create-page-new-token.js
- DW-Agents/dw-agents/agent-task-orchestrator/create-why-shop-graphql.js
- DW-Agents/dw-agents/agent-task-orchestrator/create-why-shop-page.js
- DW-Agents/dw-agents/agent-task-orchestrator/ecosystem.config.js
- DW-Agents/dw-agents/agent-task-orchestrator/inject-theme-styles.js
- DW-Agents/dw-agents/agent-task-orchestrator/memory.json
- DW-Agents/dw-agents/agent-task-orchestrator/shared-auth.ts
- DW-Agents/dw-agents/agent-task-orchestrator/shared-ui-components.js
- DW-Agents/dw-agents/agent-task-orchestrator/sync-todos-to-orchestrator.js
- DW-Agents/dw-agents/agent-task-orchestrator/task-memory.json
- DW-Agents/dw-agents/agent-task-orchestrator/task-orchestrator-agent.ts
- DW-Agents/dw-agents/agent-task-orchestrator/task-orchestrator-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-task-orchestrator/task-orchestrator-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-task-orchestrator/tasks-database.json
- DW-Agents/dw-agents/agent-task-orchestrator/theme-manager.js
- DW-Agents/dw-agents/agent-task-orchestrator/update-product-template.js
- DW-Agents/dw-agents/agent-task-orchestrator/update-theme-quantity.js
- DW-Agents/dw-agents/agent-thibaut-updater/data/thibaut-spreadsheet.csv
- DW-Agents/dw-agents/agent-thibaut-updater/data/thibaut-update-history.json
- DW-Agents/dw-agents/agent-thibaut-updater/data/thibaut-updated-skus.json
- DW-Agents/dw-agents/agent-thibaut-updater/thibaut-updater-agent.ts
- DW-Agents/dw-agents/agent-todays-highlights/MEMORY.md
- DW-Agents/dw-agents/agent-todays-highlights/README.md
- DW-Agents/dw-agents/agent-todays-highlights/memory.json
- DW-Agents/dw-agents/agent-todays-highlights/shared-auth.ts
- DW-Agents/dw-agents/agent-todays-highlights/shared-chat.ts
- DW-Agents/dw-agents/agent-todays-highlights/shared-memory-system.ts
- DW-Agents/dw-agents/agent-todays-highlights/shared-task-reporter.ts
- DW-Agents/dw-agents/agent-todays-highlights/shared-ui-components.js
- DW-Agents/dw-agents/agent-todays-highlights/theme-manager.js
- DW-Agents/dw-agents/agent-todays-highlights/todays-highlights-agent.ts
- DW-Agents/dw-agents/agent-todays-highlights/todays-highlights-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-todays-highlights/todays-highlights-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-trend-research/MEMORY.md
- DW-Agents/dw-agents/agent-trend-research/README.md
- DW-Agents/dw-agents/agent-trend-research/memory.json
- DW-Agents/dw-agents/agent-trend-research/trend-research-agent.ts
- DW-Agents/dw-agents/agent-trend-research/trend-research-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-trend-research/trend-research-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-ui-manager/MEMORY.md
- DW-Agents/dw-agents/agent-ui-manager/README.md
- DW-Agents/dw-agents/agent-ui-manager/memory.json
- DW-Agents/dw-agents/agent-ui-manager/ui-manager-agent.ts
- DW-Agents/dw-agents/agent-ui-manager/ui-manager-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-ui-manager/ui-manager-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agent-uptime-state.json
- DW-Agents/dw-agents/agent-wine-analytics/index.ts
- DW-Agents/dw-agents/agent-wine-analytics/index.ts.backup
- DW-Agents/dw-agents/agent-wine-analytics/package.json
- DW-Agents/dw-agents/agent-zendesk-chat/MEMORY.md
- DW-Agents/dw-agents/agent-zendesk-chat/README.md
- DW-Agents/dw-agents/agent-zendesk-chat/memory.json
- DW-Agents/dw-agents/agent-zendesk-chat/zendesk-chat-agent.ts
- DW-Agents/dw-agents/agent-zendesk-chat/zendesk-chat-agent.ts.backup-auth-1762615744
- DW-Agents/dw-agents/agent-zendesk-chat/zendesk-chat-agent.ts.backup-oauth-20251112
- DW-Agents/dw-agents/agents-viewer.ts
- DW-Agents/dw-agents/amazon-data-cache.ts
- DW-Agents/dw-agents/amazon-order-fetcher.ts
- DW-Agents/dw-agents/amazon-paapi-integration.ts
- DW-Agents/dw-agents/amazon-real-orders.ts
- DW-Agents/dw-agents/amazon-realtime-scraper.ts
- DW-Agents/dw-agents/architectural-update-agent.ts
- DW-Agents/dw-agents/archive-highlights.sh
- DW-Agents/dw-agents/archives/README.md
- DW-Agents/dw-agents/archives/todays-highlights/accomplishments_2025-11-10_01-30-35.json
- DW-Agents/dw-agents/archives/todays-highlights/accomplishments_2025-11-11_00-00-01.json
- DW-Agents/dw-agents/archives/todays-highlights/accomplishments_2025-11-12_00-00-02.json
- DW-Agents/dw-agents/archives/todays-highlights/accomplishments_2025-11-15_00-00-01.json
- DW-Agents/dw-agents/archives/todays-highlights/accomplishments_2025-11-16_00-00-01.json
- DW-Agents/dw-agents/archives/todays-highlights/accomplishments_2025-11-17_00-00-01.json
- DW-Agents/dw-agents/archives/todays-highlights/accomplishments_2025-11-19_00-00-02.json
- DW-Agents/dw-agents/archives/todays-highlights/highlights_2025-11-10_01-30-35.json
- DW-Agents/dw-agents/archives/todays-highlights/highlights_2025-11-11_00-00-01.json
- DW-Agents/dw-agents/archives/todays-highlights/highlights_2025-11-12_00-00-02.json
- DW-Agents/dw-agents/archives/todays-highlights/highlights_2025-11-13_00-00-01.json
- DW-Agents/dw-agents/archives/todays-highlights/highlights_2025-11-14_00-00-01.json
- DW-Agents/dw-agents/archives/todays-highlights/highlights_2025-11-15_00-00-01.json
- DW-Agents/dw-agents/archives/todays-highlights/highlights_2025-11-16_00-00-01.json
- DW-Agents/dw-agents/archives/todays-highlights/highlights_2025-11-17_00-00-01.json
- DW-Agents/dw-agents/archives/todays-highlights/highlights_2025-11-18_00-00-02.json
- DW-Agents/dw-agents/archives/todays-highlights/highlights_2025-11-19_00-00-02.json
- DW-Agents/dw-agents/archives/todays-highlights/summary_2025-11-10.txt
- DW-Agents/dw-agents/archives/todays-highlights/summary_2025-11-11.txt
- DW-Agents/dw-agents/archives/todays-highlights/summary_2025-11-12.txt
- DW-Agents/dw-agents/archives/todays-highlights/summary_2025-11-15.txt
- DW-Agents/dw-agents/archives/todays-highlights/summary_2025-11-16.txt
- DW-Agents/dw-agents/archives/todays-highlights/summary_2025-11-17.txt
- DW-Agents/dw-agents/archives/todays-highlights/summary_2025-11-19.txt
- DW-Agents/dw-agents/auto-fix-restarts.sh
- DW-Agents/dw-agents/auto-reorder-ai.ts
- DW-Agents/dw-agents/auto-sync-wrapper.sh
- DW-Agents/dw-agents/chat-logs/2025-11-12.json
- DW-Agents/dw-agents/chat-logs/HOOK-INTEGRATION-RULES.md
- DW-Agents/dw-agents/chat-logs/all-services-ports.md
- DW-Agents/dw-agents/chat-logs/jewish-ai-domains.md
- DW-Agents/dw-agents/cleanup-auth.py
- DW-Agents/dw-agents/completed-tasks-agent.ts
- DW-Agents/dw-agents/completed-tasks-agent.ts.backup
- DW-Agents/dw-agents/completed-tasks-agent.ts.backup-1762549988
- DW-Agents/dw-agents/completed-tasks-agent.ts.backup-pre-theme
- DW-Agents/dw-agents/create-agent-memory-files.sh
- DW-Agents/dw-agents/create-page-full-access.js
- DW-Agents/dw-agents/create-page-new-token.js
- DW-Agents/dw-agents/create-why-shop-graphql.js
- DW-Agents/dw-agents/create-why-shop-page.js
- DW-Agents/dw-agents/daily-price-tracker.ts
- DW-Agents/dw-agents/daily-tasks/completed-tasks-2025-11-10.json
- DW-Agents/dw-agents/data/README.md
- DW-Agents/dw-agents/data/amazon-error-Personal.png
- DW-Agents/dw-agents/data/amazon-orders-Personal.html
- DW-Agents/dw-agents/data/amazon-orders-Personal.png
- DW-Agents/dw-agents/data/amazon-orders.json
- DW-Agents/dw-agents/data/architectural-update-history.json
- DW-Agents/dw-agents/data/architectural-updated-skus.json
- DW-Agents/dw-agents/data/office-inventory.json
- DW-Agents/dw-agents/data/price-history.json
- DW-Agents/dw-agents/data/price-tracking.json
- DW-Agents/dw-agents/digital-samples-agent.ts
- DW-Agents/dw-agents/digital-samples-agent.ts.backup
- DW-Agents/dw-agents/digital-samples-agent.ts.backup-1762549988
- DW-Agents/dw-agents/digital-samples-agent.ts.backup-pre-theme
- DW-Agents/dw-agents/dw-blog-agent/ecosystem.config.js
- DW-Agents/dw-agents/dw-blog-agent/package.json
- DW-Agents/dw-agents/dw-blog-agent/public/index.html
- DW-Agents/dw-agents/dw-blog-agent/server.js
- DW-Agents/dw-agents/dw-instagram-agent/ecosystem.config.js
- DW-Agents/dw-agents/dw-instagram-agent/package.json
- DW-Agents/dw-agents/dw-instagram-agent/public/index.html
- DW-Agents/dw-agents/dw-instagram-agent/server.js
- DW-Agents/dw-agents/ecosystem-complete.config.js
- DW-Agents/dw-agents/ecosystem-critical-agents.config.js
- DW-Agents/dw-agents/ecosystem.config.cjs
- DW-Agents/dw-agents/enhance-memory-chat.ts
- DW-Agents/dw-agents/example-agent-with-hooks.ts
- DW-Agents/dw-agents/executive-recommendations.md
- DW-Agents/dw-agents/fetch-real-amazon-orders.ts
- DW-Agents/dw-agents/final-cleanup.sh
- DW-Agents/dw-agents/fix-all-auth-bypasses.sh
- DW-Agents/dw-agents/fix-auth-order.py
- DW-Agents/dw-agents/fix-last-3-agents.sh
- DW-Agents/dw-agents/fix-theme-imports.sh
- DW-Agents/dw-agents/generate-agent-commands.sh
- DW-Agents/dw-agents/generate-eod-report.ts
- DW-Agents/dw-agents/get-amazon-api-credentials.sh
- DW-Agents/dw-agents/global-auth-system.backup.20260109/.env.example
- DW-Agents/dw-agents/global-auth-system.backup.20260109/README.md
- DW-Agents/dw-agents/global-auth-system.backup.20260109/SETUP.md
- DW-Agents/dw-agents/global-auth-system.backup.20260109/auth-server.ts
- DW-Agents/dw-agents/global-auth-system.backup.20260109/data/access-logs.json
- DW-Agents/dw-agents/global-auth-system.backup.20260109/data/sessions.json
- DW-Agents/dw-agents/global-auth-system.backup.20260109/data/users.json
- DW-Agents/dw-agents/global-auth-system.backup.20260109/package.json
- DW-Agents/dw-agents/global-auth-system.backup.20260109/quick-start.sh
- DW-Agents/dw-agents/global-auth-system.backup.20260109/session-manager.ts
- DW-Agents/dw-agents/global-auth-system.backup.20260109/sms-verifier.ts
- DW-Agents/dw-agents/global-auth-system.backup.20260109/types.ts
- DW-Agents/dw-agents/global-auth-system/.env.example
- DW-Agents/dw-agents/global-auth-system/README.md
- DW-Agents/dw-agents/global-auth-system/SETUP.md
- DW-Agents/dw-agents/global-auth-system/auth-server.ts
- DW-Agents/dw-agents/global-auth-system/data/access-logs.json
- DW-Agents/dw-agents/global-auth-system/data/sessions.json
- DW-Agents/dw-agents/global-auth-system/data/users.json
- DW-Agents/dw-agents/global-auth-system/package.json
- DW-Agents/dw-agents/global-auth-system/quick-start.sh
- DW-Agents/dw-agents/global-auth-system/session-manager.ts
- DW-Agents/dw-agents/global-auth-system/sms-verifier.ts
- DW-Agents/dw-agents/global-auth-system/types.ts
- DW-Agents/dw-agents/global-chat-system/chat-server.ts
- DW-Agents/dw-agents/global-chat-system/data/agents.json
- DW-Agents/dw-agents/global-chat-system/data/channels.json
- DW-Agents/dw-agents/global-chat-system/data/messages.json
- DW-Agents/dw-agents/global-chat-system/package.json
- DW-Agents/dw-agents/global-chat-system/types.ts
- DW-Agents/dw-agents/google-drive-service-account-example.ts
- DW-Agents/dw-agents/in-parallel-agent.ts
- DW-Agents/dw-agents/in-parallel-agent.ts.backup
- DW-Agents/dw-agents/in-parallel-agent.ts.backup-pre-theme
- DW-Agents/dw-agents/inject-theme-styles.js
- DW-Agents/dw-agents/integrate-all-agents.sh
- DW-Agents/dw-agents/integrate-chat-all-agents.sh
- DW-Agents/dw-agents/integrate-chat.py
- DW-Agents/dw-agents/integrate-global-auth.md
- DW-Agents/dw-agents/known-fixes.json
- DW-Agents/dw-agents/koroseal-fixed-import.ts
- DW-Agents/dw-agents/koroseal-import.ts
- DW-Agents/dw-agents/log-monitor-live.ts
- DW-Agents/dw-agents/manage-agents.sh
- DW-Agents/dw-agents/marketing-agent.ts
- DW-Agents/dw-agents/marketing-agent.ts.backup
- DW-Agents/dw-agents/marketing-agent.ts.backup-1762549988
- DW-Agents/dw-agents/marketing-agent.ts.backup-pre-theme
- DW-Agents/dw-agents/master-hub-chat.js
- DW-Agents/dw-agents/master-hub.ts