← back to Wallco Ai

data/yolo-overnight/library-health-20260525-1318.md

83 lines

# Library Health Check — 2026-05-25 13:18 PT

## Endpoint Note
Task prompt said `GET http://127.0.0.1:9877/api/library`. Port **9877** is now owned by
`paint-visualizer-agent` (`/root/DW-Agents/paint-visualizer-agent/server.js`) and has no
`/api/library` route (returns 404). The real `wallco-ai` PM2 process listens on **port 9905**
(`/root/public-projects/wallco-ai`), and that is where this check actually ran. The prompt's
9877 reference appears stale — recommend updating the YOLO runner config.

## `/api/library?limit=1` Response

- **HTTP** `200 OK`
- **Auth**: none required for this route
- **Top-level keys**: `ok`, `total`, `offset`, `limit`, `sort`, `filters`, `rows`
- **`total`**: `57417`
- **`filters`**: `{ q, hue, style, material }`

### `rows[0]` schema (observed)

| field             | type        | example                                                              |
|-------------------|-------------|----------------------------------------------------------------------|
| `id`              | integer     | `7661`                                                               |
| `title`           | string      | `Waves Wallcoverings (cw10030) – Greige and Grey`                    |
| `image_url`       | string(url) | `https://cdn.shopify.com/.../CW10030.jpg?v=1774415489`               |
| `dominant_hex`    | string(hex) | `#F2E8DA`                                                            |
| `palette`         | string[]    | `["#F2E8DA","#D9CDBF","#E3D9C9"]`                                    |
| `color_family`    | string      | `Beige`                                                              |
| `hue_bucket`      | string      | `amber`                                                              |
| `style_bucket`    | string      | `Modern`                                                             |
| `styles`          | string[]    | `["Contemporary","Organic Modern","Minimalist"]`                     |
| `patterns`        | string[]    | `["Abstract","Marble"]`                                              |
| `ai_tags`         | string[]    | `["Beige","Light Beige","Cream",...]`                                |
| `material`        | string      | `Vinyl`                                                              |
| `design_era`      | string      | `Contemporary`                                                       |
| `mood`            | string      | `Serene`                                                             |
| `tags_redacted`   | string[]    | `["Abstract","Bathroom","Bedroom",...]`                              |

Schema verified — all expected fields present and well-typed.

## Random Sample — 10 Entries, Image HEAD Checks

Sampled offsets (uniform across 0–57416): `[3993, 24941, 20715, 16452, 46746, 11342, 39908, 39165, 19899, 56206]`

| #  | id    | offset | HTTP | content-type      | size (B) | title                                                                                  |
|----|-------|--------|------|-------------------|---------:|----------------------------------------------------------------------------------------|
| 1  | 15178 | 3993   | 200  | image/jpeg        | 578,277  | BluMarine BM29053                                                                      |
| 2  | 44242 | 24941  | 200  | image/png         | 106,701  | Vinyl Metalworks - Metalwork Silver  ⚠ image is a vendor logo, not a swatch          |
| 3  | 36476 | 20715  | 200  | image/jpeg        | 430,528  | W3943-319 Red Design \| Rifle Paper Co Second Edition                                  |
| 4  | 30080 | 16452  | 200  | image/jpeg        |  35,757  | W3653-16 Beige Design \| Texture Wallcovering                                          |
| 5  | 66594 | 46746  | **404** | text/html      |       0  | Sorrento Commercial Wallcovering — **BROKEN**                                          |
| 6  | 3739  | 11342  | 200  | image/jpeg        |  31,326  | Ruche Charcoal                                                                         |
| 7  | 59735 | 39908  | 200  | image/jpeg        | 378,571  | Kalamkari Border Celeste Gray Charcoal on White Screen Printed                         |
| 8  | 58992 | 39165  | 200  | image/jpeg        | 168,364  | Lilya Leopard Sphere Pillow Natural Pillows                                            |
| 9  | 34844 | 19899  | 200  | image/jpeg        | 427,690  | Benning - Steel Natural Textiles                                                       |
| 10 | 73285 | 56206  | 200  | image/jpeg        |  27,343  | Pleated Map Fabric Walls                                                               |

## Broken Set

**Count: 1 / 10  (10.0%)**

| id    | image_url                                                                                                                                       | failure       |
|-------|------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
| 66594 | `https://cdn.shopify.com/s/files/1/0015/4117/7456/products/NEWMOR_0922d792-331f-466d-87d6-4fa122f9a8b9.jpg?v=1573939853`                         | HTTP 404      |

### Soft data-quality flags (not counted as broken)

| id    | issue                                                                                                                              |
|-------|------------------------------------------------------------------------------------------------------------------------------------|
| 44242 | `image_url` points to `PhillipJeffriesLogo_*.png` — vendor logo file, not the actual product swatch. Loads 200, but wrong asset. |

## Extrapolation (informational, n=10)

A 10% Shopify-CDN 404 rate against the 57,417-row library would imply roughly **~5,700**
library entries with dead/relocated images. n=10 is too small to act on directly; a 200-row
sweep would tighten the estimate. Recommend a follow-up sweep before any backfill effort.

## Next Steps

1. Open ticket to repair / replace image for `library.id = 66594` (Sorrento Commercial Wallcovering, NEWMOR asset).
2. Update logo placeholder for `library.id = 44242` (Phillip Jeffries Vinyl Metalworks) — pull real swatch from `image_url` fallback or vendor catalog.
3. Update the YOLO runner that emitted this task: replace `:9877` with `:9905` (or use the wallco-ai PM2 name).
4. Run a 200-sample HEAD sweep to get a tighter broken-image rate.