# muzick — overnight fix plan ## tasks 1. **fix N+1 queries** in generators.service.ts (#110, prio:4) 2. **fix SSRF guard** in images.routes.ts (#111, prio:3) 3. **clean & re-enrich images** (#124, prio:0 — operational) 4. **ethos UI migration** (#34, prio:5 — dispatched to ethos-ui agent) ## 1. N+1 queries ### comfortGenerator (lines 57-87) current: loops 20 artists, `SELECT ... WHERE object_id = $1` per artist fix: single query with `WHERE cf.object_id = ANY($1::uuid[])` + `unnest` to get per-artist rows back ### deepDiveGenerator (lines 248-274) current: loops 20 albums, `SELECT ... WHERE t.album_id = $1` per album fix: single query with `WHERE t.album_id = ANY($1::uuid[])` — already batched on artist query ### verification `comfortGenerator` and `deepDiveGenerator` are tested in `generators.test.ts`