← back to Milton King Recrawl
README.md
43 lines
# milton_king — all_images completeness re-crawl (staging)
Created 2026-06-10 (yolo overnight) for the `milton_king` (Milton & King, prefix
`DWMK-`) net-new import-readiness work under Steve's standing rule **"always pull
all data and images."**
## What was already done LOCALLY (autonomous, reversible)
The local `dw_unified.milton_king_catalog` (feed-first WooCommerce Store API
scrape, 2026-03-14) already held `gallery_images` for **3375 / 3648** net-new
rows. Those were propagated into `vendor_catalog.all_images` (+ `rooms` from
`room_setting_url` where empty) via a single LOCAL UPDATE, snapshotted first into
`_audit_milton_king_allimages_backfill` for trivial rollback.
- Before: 3648 net-new rows missing `all_images`.
- After: **3375 backfilled, 273 remain** (these had no source gallery).
Rollback if ever needed:
```sql
UPDATE vendor_catalog vc SET all_images = a.old_all_images, rooms = a.old_rooms
FROM _audit_milton_king_allimages_backfill a WHERE vc.id = a.id;
```
## What still needs a re-crawl (the 273 stragglers) — GATED, parked
`recrawl-worklist.tsv` = the 273 colorway rows still missing `all_images`
(272 distinct product URLs). The WooCommerce feed still serves these products
(verified: astor=9 imgs, thompson-petite=12, paisley=10) — they simply predate
the scraper's gallery-capture. A re-crawl fills them.
`recrawl-miltonking-stragglers.js` — surgical driver. Reads the worklist,
de-dupes to product slugs, hits `/wp-json/wc/store/v1/products?slug=<slug>`,
upserts colorway rows into `milton_king_catalog`. Needs `scraper-utils` next to
it (present on Kamatera `/root/DW-Agents/vendor-scrapers/`). `--dry` verifies
feed reachability without DB writes.
The exact ready-to-run command is parked at
`~/.claude/yolo-queue/pending-approval/milton_king-recrawl.md`.
## Dedup (never-duplicate rule)
Net-new distinct mfr_sku: 3647 · already on Shopify (exact mfr_sku): 19
→ **net-net-new = 3628**. See `~/.claude/yolo-queue/output/milton_king-dedup-excluded.tsv`.
NOTE: `milton_king` is `skip_shopify=true` — the storefront push is doubly
gated regardless. NOTHING was published here.