← 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.