Miguel Palhas and Claude
70ba6ac376
ci / web (push) Successful in 1m49s
e2e / e2e (push) Failing after 2m58s
ci / rust (push) Successful in 3m1s
ci / image (push) Successful in 3m47s
fix(subs): retry a capped language next day
...
A `capped` row was excluded from the work list outright, and nothing
ever moved it back, so a language that hit a daily allowance was never
attempted again. §15 says budgets drain a backlog over days, which only
holds if the cap expires.
`pending` now returns a capped row once the UTC day it was capped in has
passed — the same boundary `subtitle_budget_spend.day` uses. The day
rule is in the query rather than the caller because `limit` is a window
over the whole list: a hundred newest files capped this morning would
otherwise hold every slot and hide the older gaps until tomorrow.
Capping no longer bumps `attempts`. That counter is the failure ladder,
and a budget that refused to spend never asked a provider.
Two reporting fixes alongside, both found chasing the same bug:
- The subtitle queue dropped `last_failure` on a capped row, so all four
limits that write `capped` rendered identically. The sentence is the
only thing that tells a provider budget from a 429.
- A translation engine with no API key reported itself as "not compiled
into this binary", sending the operator to rebuild an image that was
already correct.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-09-20 18:43:08 +01:00
..
2026-08-22 22:38:31 +01:00
2026-08-23 14:56:51 +01:00
2026-08-22 21:00:35 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-25 11:05:59 +01:00
2026-08-29 18:13:50 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 05:32:08 +01:00
2026-08-22 23:21:30 +01:00
2026-08-24 18:12:10 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 21:43:03 +01:00
2026-08-22 21:43:03 +01:00
2026-09-20 18:43:08 +01:00
2026-08-24 22:15:14 +01:00
2026-08-24 22:45:55 +01:00
2026-08-29 20:34:58 +01:00
2026-08-25 02:16:20 +01:00
2026-08-25 03:03:17 +01:00
2026-08-25 11:17:33 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:45:55 +01:00
2026-08-23 01:40:53 +01:00
2026-08-25 11:49:44 +01:00
2026-08-25 11:05:59 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 09:13:37 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:45:55 +01:00
2026-08-22 21:43:03 +01:00
2026-08-24 23:27:03 +01:00
2026-08-25 11:05:59 +01:00
2026-08-22 23:02:34 +01:00
2026-08-22 20:40:31 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 14:56:51 +01:00
2026-08-25 02:29:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 01:40:53 +01:00
2026-08-25 03:03:17 +01:00
2026-08-22 21:00:35 +01:00
2026-08-25 02:40:12 +01:00
2026-08-25 09:55:18 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:05:59 +01:00
2026-08-24 16:43:53 +01:00
2026-08-25 12:11:46 +01:00
2026-08-25 08:29:59 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 01:40:53 +01:00
2026-08-22 23:42:36 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:15:14 +01:00
2026-08-30 11:53:26 +01:00
2026-08-23 09:08:52 +01:00
2026-08-25 12:11:46 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-30 11:53:26 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 18:10:52 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 09:13:37 +01:00
2026-08-25 12:11:46 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 02:40:12 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-24 20:10:23 +01:00
2026-08-24 23:27:03 +01:00
2026-08-25 10:49:02 +01:00
2026-08-24 21:46:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 14:56:51 +01:00
2026-08-24 20:14:48 +01:00
2026-08-25 09:55:18 +01:00
2026-08-23 19:34:55 +01:00
2026-08-24 23:26:55 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 02:10:49 +01:00
2026-08-25 11:05:59 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 14:56:51 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 03:03:17 +01:00
2026-08-25 10:20:37 +01:00
2026-08-25 02:40:12 +01:00
2026-08-22 23:02:34 +01:00
2026-08-25 08:29:59 +01:00
2026-08-22 21:43:03 +01:00
2026-08-25 18:10:52 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 18:10:52 +01:00
2026-08-25 11:40:32 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-30 11:53:26 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-29 20:34:58 +01:00
2026-08-23 17:59:45 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:15:14 +01:00
2026-08-24 18:12:10 +01:00
2026-08-24 20:10:23 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 10:20:37 +01:00
2026-08-24 20:14:48 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 18:23:41 +01:00
2026-08-23 17:59:45 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 18:24:50 +01:00
2026-08-24 21:46:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 03:03:17 +01:00
2026-08-22 23:42:36 +01:00
2026-08-23 09:13:37 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-23 09:08:52 +01:00
2026-08-25 05:32:08 +01:00
2026-08-24 21:46:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 18:10:52 +01:00
2026-08-23 02:31:50 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 01:40:53 +01:00
2026-08-24 21:46:13 +01:00
2026-08-25 12:11:46 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 18:10:52 +01:00
2026-08-30 11:53:26 +01:00
2026-08-23 18:24:50 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:45:55 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 02:16:20 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 19:51:28 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:40:32 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 20:10:23 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 18:10:52 +01:00
2026-08-25 18:10:52 +01:00
2026-08-23 01:40:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:15:14 +01:00
2026-08-24 21:46:13 +01:00
2026-08-25 02:10:49 +01:00
2026-08-25 02:29:13 +01:00
2026-08-23 19:34:55 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:45:55 +01:00
2026-08-22 23:02:34 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 10:20:37 +01:00
2026-09-20 18:43:08 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:28:35 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 21:46:13 +01:00
2026-08-23 01:40:53 +01:00
2026-08-22 23:23:56 +01:00
2026-08-22 23:21:30 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:49:44 +01:00
2026-08-23 17:59:45 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:17:33 +01:00
2026-08-23 01:40:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 21:43:03 +01:00
2026-08-23 17:45:09 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 17:45:09 +01:00
2026-08-24 23:27:03 +01:00
2026-08-23 01:40:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:05:59 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 19:34:55 +01:00
2026-08-23 22:12:05 +01:00
2026-08-23 18:24:50 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 21:46:13 +01:00
2026-08-24 22:15:14 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 17:45:09 +01:00
2026-08-29 20:34:58 +01:00
2026-08-24 23:27:03 +01:00
2026-08-25 08:28:51 +01:00
2026-08-22 22:38:31 +01:00
2026-08-23 09:02:42 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 20:40:31 +01:00
2026-08-25 08:29:59 +01:00
2026-08-30 11:53:26 +01:00
2026-08-23 14:56:51 +01:00
2026-08-24 22:45:55 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 02:16:20 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:45:55 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 22:12:05 +01:00
2026-08-24 20:14:48 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 02:29:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 22:38:31 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 21:46:13 +01:00
2026-08-25 11:05:59 +01:00
2026-08-22 23:21:30 +01:00
2026-08-23 17:45:09 +01:00
2026-08-24 22:45:55 +01:00