← back to Wallco Ai
docs/ops/dw-stale-urls-trim-B-decision-2026-05-19.md
30 lines
# dw-stale-urls trim-B — final decision
**Date**: 2026-05-19
**Decision**: LEAVE-IT (option 3)
## Why
The 16,713 bad rows in `dw_unified.image_hashes` are not orphans — they are the negative-fetch-cache, and they're correctly referenced by 177 catalog tables. Deleting them does not remove the broken-image problem (the broken URLs live in the catalog tables themselves and on `shopify_products.image_url`). It only forces re-fetch attempts that will 404 again.
The real fix is the heal-A pipeline (push verified swaps + re-scrape dead-source vendors) — not negative-cache cleanup.
## Cost of leaving it
- Disk: ~1 MB of "noise"
- Behavior: PG ignores these rows on success-path queries (most queries filter `WHERE status='success'`)
- Risk: Zero
## When this decision could be revisited
- If `image_hashes` exceeds 100 MB
- If a fetch-retry tool starts ignoring the negative cache and re-hitting 404 URLs
- If image_hashes row count crosses 500k
## Action taken
- No DELETE executed
- cncp parking-lot item `dw-stale-urls` will be marked discussed once heal-A pipeline completes (substeps A.push + A.rescrape in flight)
Filed by Claude session #103.