peter
6ac9ffd45e
fix(plex,audit): E30 review round 2 — only a missing file is a dead headshot, one spelling per portrait
...
- warm_portraits: only 404/410 mark a headshot dead (measured: Plex answers a dead CDN file 404);
a refused token or a 5xx is Plex failing, ends the run after three in a row and marks nothing.
'failed' counts every failure, not only the current streak.
- is_portrait_url: plain path segments only — no dot or empty segment an HTTP client folds onto
one file; person_thumb_url uses the same predicate (27 852 stored headshots all pass).
- Tests: Plex refusing (401/403/429/5xx), failures between successes (portraits and bios), the kept
original served from cache, the audit_clear / demo_reset / discovery_purge rows' counts as data,
and the 0094 backfill on real rows.
2026-10-01 08:31:03 +02:00
..
2026-09-17 01:44:29 +02:00
2026-09-22 01:59:03 +02:00
2026-09-27 19:42:53 +02:00
2026-09-16 04:29:13 +02:00
2026-09-19 19:19:29 +02:00
2026-09-19 03:42:26 +02:00
2026-09-04 22:42:15 +02:00
2026-10-01 08:31:03 +02:00
2026-09-19 18:21:06 +02:00
2026-09-29 21:21:19 +02:00
2026-09-23 01:20:22 +02:00
2026-09-19 19:19:30 +02:00
2026-09-27 13:58:23 +02:00
2026-09-18 03:16:15 +02:00
2026-09-19 19:19:30 +02:00
2026-09-30 03:26:57 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-20 07:51:08 +02:00
2026-09-17 02:42:12 +02:00
2026-09-19 22:08:10 +02:00
2026-09-29 02:12:32 +02:00
2026-09-16 04:29:13 +02:00
2026-08-28 02:37:56 +02:00
2026-09-16 03:43:29 +02:00
2026-09-18 23:44:42 +02:00
2026-09-14 01:42:57 +02:00
2026-09-05 04:18:33 +02:00
2026-08-30 03:32:14 +02:00
2026-08-23 07:43:06 +02:00
2026-09-29 21:21:19 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-04 20:29:33 +02:00
2026-09-05 01:35:09 +02:00
2026-09-04 20:29:33 +02:00
2026-09-14 00:50:05 +02:00
2026-09-18 23:44:42 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 05:54:19 +02:00
2026-08-23 07:43:06 +02:00
2026-08-26 05:25:47 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 04:51:31 +02:00
2026-09-15 00:53:15 +02:00
2026-08-28 02:37:56 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 07:34:17 +02:00
2026-09-19 18:21:06 +02:00
2026-09-19 01:33:32 +02:00
2026-08-29 08:02:11 +02:00
2026-09-19 06:55:40 +02:00
2026-09-18 03:16:15 +02:00
2026-09-04 01:56:55 +02:00
2026-09-19 05:03:31 +02:00
2026-09-18 22:50:37 +02:00
2026-09-04 22:42:15 +02:00
2026-09-01 23:31:49 +02:00
2026-08-23 07:43:06 +02:00
2026-09-29 22:46:04 +02:00
2026-08-23 07:43:06 +02:00
2026-09-12 05:50:31 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 22:48:20 +02:00
2026-09-26 04:05:39 +02:00
2026-08-29 03:52:13 +02:00
2026-09-27 21:56:23 +02:00
2026-09-27 21:56:23 +02:00
2026-09-27 22:34:14 +02:00
2026-09-27 22:34:14 +02:00
2026-09-29 02:12:32 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-29 21:21:19 +02:00
2026-09-19 19:19:30 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 18:21:06 +02:00
2026-09-19 17:26:07 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 19:19:30 +02:00
2026-09-30 03:26:57 +02:00
2026-09-19 19:19:30 +02:00
2026-10-01 08:31:03 +02:00
2026-10-01 08:31:03 +02:00
2026-09-30 02:19:54 +02:00
2026-09-30 02:19:54 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-26 05:56:07 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 07:16:17 +02:00
2026-09-19 19:19:30 +02:00
2026-09-27 13:58:23 +02:00
2026-09-25 15:20:31 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-29 21:21:19 +02:00
2026-08-28 01:34:02 +02:00
2026-09-11 18:05:30 +02:00
2026-09-22 01:59:03 +02:00
2026-09-20 23:02:11 +02:00
2026-08-23 07:43:06 +02:00
2026-09-15 02:25:00 +02:00
2026-08-23 07:43:06 +02:00
2026-09-04 02:38:01 +02:00
2026-09-04 23:04:09 +02:00
2026-09-20 00:51:12 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 19:19:30 +02:00
2026-09-30 03:26:57 +02:00
2026-09-19 19:19:30 +02:00
2026-08-23 07:43:06 +02:00
2026-09-05 01:46:58 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-18 01:20:42 +02:00
2026-09-19 05:05:13 +02:00
2026-09-17 00:03:56 +02:00
2026-08-26 05:25:47 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-23 01:20:22 +02:00
2026-09-05 04:02:57 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 18:21:06 +02:00
2026-09-18 22:50:37 +02:00
2026-09-19 04:51:31 +02:00
2026-09-27 19:42:53 +02:00
2026-09-18 23:44:42 +02:00