Dw Image Shrink
repo: ~/Projects/dw-image-shrink · 52 commits · 0 in last 24h, 0 in last 7d ·
Search the build
52 commits indexed
ad9f2ad
2026-09-10
governance(TK-11370): make live-by-default Shopify writers dry-run by default
bdffd8b
2026-07-30
chore: lint ✓ (0 fixes needed), v1.1.0 (video-shrink pipeline + verify scripts, session close)
2305bbf
2026-07-30
TK-10048 COMPLETE: ~33GB reclaimed (6893 imgs + 61 vids), 409-sweep + verification scripts, 0 blanked
0bbfc4d
2026-07-30
auto-save: 2026-07-30T15:49:17 (1 files) — verify-urlgap.js
8cd54cf
2026-07-30
auto-save: 2026-07-30T08:46:20 (2 files) — files-biggest.md files-inventory.jsonl
395095e
2026-07-30
auto-save: 2026-07-30T08:16:08 (2 files) — unused-files.jsonl unused-files.jsonl.bak-1785423391
bae9d65
2026-07-30
auto-save: 2026-07-30T07:45:45 (1 files) — videos-inventory.jsonl
95ce905
2026-07-30
TK-10048: add video shrink pipeline (enum/enqueue/worker) + retune image worker to 2400px/q85
e73a454
2026-07-29
chore: untrack audit-log artifacts, version bump (session close)
1d0a68c
2026-07-29
auto-save: 2026-07-29T20:42:08 (1 files) — purge-deleted.jsonl
a60e5e9
2026-07-29
auto-save: 2026-07-29T20:11:57 (1 files) — purge-deleted.jsonl
36ecfad
2026-07-29
auto-save: 2026-07-29T19:41:47 (1 files) — purge-deleted.jsonl
0b9b7e6
2026-07-29
auto-save: 2026-07-29T19:11:37 (1 files) — purge-deleted.jsonl
befeb04
2026-07-29
auto-save: 2026-07-29T18:41:27 (1 files) — purge-deleted.jsonl
1acaff5
2026-07-29
auto-save: 2026-07-29T18:11:10 (1 files) — purge-deleted.jsonl
5144ffb
2026-07-29
auto-save: 2026-07-29T17:41:00 (1 files) — purge-deleted.jsonl
3f83df6
2026-07-29
auto-save: 2026-07-29T17:10:49 (1 files) — purge-deleted.jsonl
0792b6d
2026-07-29
auto-save: 2026-07-29T16:40:38 (1 files) — purge-deleted.jsonl
c624f44
2026-07-29
Recovery complete: 73/79 Stout re-imaged+reactivated (170 active all-with-image, 6 draft)
3a95252
2026-07-29
Cap CLEARED (GC swept ~8h); add Stout re-attach recovery
23d06c0
2026-07-29
auto-save: 2026-07-29T16:10:27 (1 files) — purge-deleted.jsonl
c621267
2026-07-29
auto-save: 2026-07-29T15:40:16 (1 files) — purge-deleted.jsonl
67241d9
2026-07-29
auto-save: 2026-07-29T15:10:05 (1 files) — purge-deleted.jsonl
7742d9e
2026-07-29
auto-save: 2026-07-29T14:39:56 (1 files) — purge-deleted.jsonl
1cef876
2026-07-29
auto-save: 2026-07-29T14:09:46 (1 files) — purge-deleted.jsonl
7cde859
2026-07-29
auto-save: 2026-07-29T13:39:36 (1 files) — purge-deleted.jsonl
a1f9554
2026-07-29
auto-save: 2026-07-29T13:09:06 (1 files) — purge-deleted.jsonl
53d0813
2026-07-29
auto-save: 2026-07-29T12:38:56 (1 files) — purge-deleted.jsonl
4ff48f1
2026-07-29
auto-save: 2026-07-29T12:08:45 (1 files) — purge-deleted.jsonl
ef1c38b
2026-07-29
auto-save: 2026-07-29T11:38:34 (1 files) — purge-deleted.jsonl
cffc6a9
2026-07-29
auto-save: 2026-07-29T11:08:21 (1 files) — purge-deleted.jsonl
e1de5db
2026-07-29
auto-save: 2026-07-29T10:38:10 (1 files) — purge-deleted.jsonl
e7bc3b7
2026-07-29
Unused set final: 386,736 files/211GB (used_in:none, 99% match orphan analysis); draft approval memo
ee456ca
2026-07-29
Contrarian FIX-FIRST → pivot to Shopify-authoritative used_in:none unused-file set
edfd874
2026-07-29
auto-save: 2026-07-29T10:07:58 (7 files) — orphan-diff.js purge-deleted.jsonl enum-metaobject-refs.js gated-imageless-all.jsonl orphan-summary.md
2e7297e
2026-07-29
Store-wide gate: draft any active product with no photo (reversible, logged)
ae8e73c
2026-07-29
auto-save: 2026-07-29T09:37:47 (3 files) — purge-deleted.jsonl attached-gids-rest.txt referenced-urls-extra.txt
bbe23f4
2026-07-29
Safety: union REST+GraphQL attached sets so no live product image is mis-orphaned
53a8114
2026-07-29
auto-save: 2026-07-29T09:07:36 (2 files) — attached-gids.txt purge-deleted.jsonl
39c81c8
2026-07-29
Complete orphan pipeline: content-refs scan + orphan-diff + gated fileDelete (content token)
00cae9b
2026-07-29
Found cap=Files 495GB (295GB orphaned images); content token has write_files; build orphan-id pipeline
186a7f3
2026-07-29
auto-save: 2026-07-29T08:37:25 (3 files) — purge-deleted.jsonl files-audit.js files-inventory.jsonl
cfb51a7
2026-07-29
Add cap-watcher: polls storage gate, notifies on cap-clear to trigger recovery cascade
d84e955
2026-07-29
Expand purge to active spin-GIFs (cat C) with only-image orphan guard (5115 safe, 22 protected)
dc59771
2026-07-29
Add safe-order compression worker (upload-first, delete-after; no imageless window)
d79e916
2026-07-29
Full archived purge running (A+B, Steve-approved ~52GB); enum complete 315198 images
f3dc93b
2026-07-29
auto-save: 2026-07-29T08:07:14 (2 files) — purge-deleted.jsonl purge-execute.js
f84c7bc
2026-07-29
Pivot to purge-first strategy: add gated purge-candidates analyzer (archived imgs + spin-GIFs)
d25c69d
2026-07-29
HALT: delete-first fails at cap (async GC); hold 197 rows; add auto-restore for 3 imageless products
ef8a15e
2026-07-29
Add reaper + phase4 verify; encoder validated (3290px 1.2MB→2048px 533KB)
c9958b6
2026-07-29
Image-shrink campaign scaffold: enumerate + measure + encoder + ledger + worker
d2f7cab
2026-07-29
auto-save: 2026-07-29T07:37:00 (2 files) — .gitignore enumerate.js
Skills used
/cron 1 /pm2 1 /wrapper 1 /claude 1 /code 1 /enqueue 1 /worker 1 /q85 1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
ad9f2ad · 2026-09-10 · governance(TK-11370): make live-by-default Shopify writers dry-run by default
Flip `DRY = argv.includes('--dry')` -> `DRY = !argv.includes('--apply')` so a
zero-argument run no longer fires customer-facing Shopify writes.
Backward compatible: `--dry` still means dry; `--apply` now required to write.
Only zero-arg invocations change behaviour, and every candidate was checked
against its launchd/cron/pm2/wrapper invocation sites first (4 scripts that a
cadence job runs flagless were EXCLUDED so this cannot silently disable them).
Verified: node --check/py_compile 87/87 with a positive control proving the
checker rejects an injected fault; argv truth-table negative test 5/5.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L53y4oP2itY3qeJ8WQgMzc
File tree
49 files tracked. Click any to browse the source at HEAD.
rendered in 1ms