← back to Wallco Ai
data/yolo-overnight/dedupe-drunk-20260525-1035.md
66 lines
# Dedupe Scan — drunk-animals — 2026-05-25 10:35 UTC
## Request
```http
POST http://127.0.0.1:9905/api/dedupe/scan
{"status":"published","category":"drunk-animals","threshold":6,"limit":500}
```
Note: Task originally said port 9877, but that port is now bound to
`paint-visualizer-agent` (per commit 4fcbef909). The wallco.ai
`/api/dedupe/scan` endpoint lives at port **9905**
(`/root/public-projects/wallco-ai/server.js:8251`).
## Response
```json
{"ok":true,"clusters":[],"scanned":0,"time_ms":0}
```
**Top 10 largest clusters: NONE.** The scan returned 0 clusters (0 designs
scanned).
## Why empty — verified against PostgreSQL
The dedupe endpoint scans `spoon_all_designs` filtered by
`brand='wallco.ai' AND local_path IS NOT NULL AND is_published=TRUE AND
user_removed IS NOT TRUE` and the requested category. There is no row
matching `category='drunk-animals'`:
| Query | Result |
|---|---|
| `SELECT COUNT(*) FROM spoon_all_designs WHERE brand='wallco.ai' AND category='drunk-animals'` | **0** |
| Closest match in DB | `drunk-monkeys-v2` |
| `drunk-monkeys-v2` status breakdown | 2 rows, both `is_published=FALSE`, both `user_removed=FALSE` |
I also ran the close-match scan to be thorough:
```http
POST /api/dedupe/scan {"status":"published","category":"drunk-monkeys-v2","threshold":6,"limit":500}
→ {"ok":true,"clusters":[],"scanned":0,"time_ms":0}
```
Same empty result (the 2 rows are unpublished, so the `published` filter
excludes them).
## What happened to drunk-animals
`data/drunk-animals-salvage.jsonl` has **745 rows**, all flagged
`"ghost-layer (triage CONFIRMED)"` between 2026-05-14 and 2026-05-20.
The drunk-animals category was wiped during the ghost-layer quarantine
sweep — nothing remains in `spoon_all_designs` with that category. The 51
`drunk-animals` rows in `composition-scan-results.jsonl` (ids
39724–39749) also no longer exist in `spoon_all_designs`
(max wallco.ai id = 39286).
## Recommended next action
No dedupe targets exist for `drunk-animals` published. If you want to
re-validate the salvage set or rerun against `drunk-monkeys-v2`
(unpublished), say the word — same endpoint, just flip `status` or
`category`.
## Run metadata
- Host: 127.0.0.1:9905 (wallco-ai server)
- Endpoint owner: `app.post('/api/dedupe/scan', ...)` server.js:8251
- Hash algorithm: PIL dHash 8×8 (64-bit), Hamming distance ≤ threshold
- Scanned: 0 / Time: 0 ms
- Auto-delete: **NOT INVOKED** (report-only per instructions)