Quick104 and Claude Fable 5
9fad08a6fa
fix(diagnostics): address round-6 review findings on PR #445
...
- AdminDiagnostics list: fix regression where rows dereferenced the
now-omitted manifest for app_build. Project app_build server-side out
of manifest JSONB into both list and detail responses (cheap
COALESCE(manifest->'report'->>'app_build','')), split the TS type into
DiagnosticReportSummary (list, no manifest) and DiagnosticReport
(detail, with manifest), and read report.app_build in the row/detail.
- embeddedManifestMatches: decode with json.Decoder + UseNumber so large
integers above 2^53 (e.g. log_summary.lines) can't collapse to the same
float and falsely match; re-assert no-trailing-data strictness.
- Quota reservation (SKIP): reserving the client-claimed archive.bytes is
sound because archiveMatches requires claimed==actual before MarkReady,
so no stored report exceeds its reservation; documented in a code comment.
- Multipart parts: reject a wrong-name/wrong-content-type part without
calling part.Close(), which would drain up to the bundle limit while
holding the in-flight slot; abandon it so malformed uploads fail promptly.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_012e3QjbPo96ed9Mn2qRiUkh
2026-07-21 14:23:59 -04:00
..
2026-05-22 23:26:56 -04:00
2026-07-05 17:38:19 -04:00
2026-07-05 17:38:19 -04:00
2026-07-10 15:48:37 -04:00
2026-07-14 13:44:39 -04:00
2026-06-25 16:20:14 -04:00
2026-07-20 11:13:52 -04:00
2026-05-26 17:57:26 -04:00
2026-05-26 17:57:26 -04:00
2026-07-16 17:33:21 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-05 22:43:20 -04:00
2026-06-05 22:43:20 -04:00
2026-07-09 08:53:52 -04:00
2026-06-10 08:58:45 -04:00
2026-07-09 08:53:52 -04:00
2026-07-02 14:07:34 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-07-02 14:23:14 -04:00
2026-05-22 23:26:56 -04:00
2026-06-11 23:04:35 -04:00
2026-07-02 11:42:28 -04:00
2026-06-15 09:34:08 -04:00
2026-06-15 09:34:08 -04:00
2026-07-10 12:10:48 -04:00
2026-06-25 16:20:14 -04:00
2026-07-06 12:23:32 -04:00
2026-07-09 08:53:52 -04:00
2026-07-09 08:53:52 -04:00
2026-06-10 08:58:45 -04:00
2026-07-05 17:38:19 -04:00
2026-07-21 13:36:08 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-17 13:48:57 -04:00
2026-07-09 23:08:04 -04:00
2026-07-09 23:08:04 -04:00
2026-05-31 17:34:48 -04:00
2026-05-31 17:34:48 -04:00
2026-07-09 14:13:31 -04:00
2026-07-09 14:13:31 -04:00
2026-07-09 14:13:31 -04:00
2026-07-09 14:13:31 -04:00
2026-06-15 09:34:08 -04:00
2026-05-29 13:55:39 -04:00
2026-07-09 08:53:52 -04:00
2026-06-26 10:46:42 -04:00
2026-06-16 18:17:08 -04:00
2026-06-18 19:17:22 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-05-23 20:26:05 -04:00
2026-05-23 20:26:05 -04:00
2026-07-07 10:46:50 -04:00
2026-05-22 23:26:56 -04:00
2026-06-24 11:03:38 -04:00
2026-07-21 14:23:59 -04:00
2026-07-21 14:23:59 -04:00
2026-07-01 22:05:36 -04:00
2026-07-01 22:05:36 -04:00
2026-07-09 23:07:16 -04:00
2026-06-17 13:09:55 -04:00
2026-07-09 23:07:16 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-07-09 23:07:16 -04:00
2026-06-11 21:34:19 -04:00
2026-07-09 08:53:52 -04:00
2026-06-25 20:50:45 -04:00
2026-07-14 13:44:57 -04:00
2026-06-10 08:18:35 -04:00
2026-07-05 19:04:42 -04:00
2026-07-01 18:10:56 -04:00
2026-07-01 18:10:56 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-06-05 22:43:20 -04:00
2026-06-26 08:34:04 -04:00
2026-06-10 08:18:35 -04:00
2026-06-18 19:17:22 -04:00
2026-07-16 10:37:34 -04:00
2026-06-15 09:34:08 -04:00
2026-06-15 09:34:08 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-07-02 14:07:21 -04:00
2026-06-05 22:43:20 -04:00
2026-06-16 20:13:10 -04:00
2026-07-07 09:42:41 -04:00
2026-07-07 09:42:41 -04:00
2026-07-02 14:08:02 -04:00
2026-07-16 17:55:36 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-06-16 18:17:08 -04:00
2026-06-16 18:17:08 -04:00
2026-07-05 17:38:19 -04:00
2026-07-09 08:53:52 -04:00
2026-05-26 17:57:26 -04:00
2026-07-06 18:52:44 -04:00
2026-06-27 21:44:28 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-07-01 17:25:16 -04:00
2026-06-11 19:51:03 -04:00
2026-06-11 20:55:30 -04:00
2026-07-14 13:44:39 -04:00
2026-07-14 13:44:39 -04:00
2026-06-11 18:10:16 -04:00
2026-06-11 14:55:46 -04:00
2026-07-14 13:44:39 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-05-23 23:48:25 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-07-02 14:23:14 -04:00
2026-05-22 23:26:56 -04:00
2026-07-18 17:12:36 -04:00
2026-07-18 17:12:36 -04:00
2026-07-10 08:21:26 -04:00
2026-07-20 18:29:55 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 12:13:16 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 12:13:16 -04:00
2026-07-14 13:44:57 -04:00
2026-07-20 17:14:42 -04:00
2026-06-09 13:00:48 -04:00
2026-07-16 17:55:36 -04:00
2026-07-09 19:06:36 -04:00
2026-07-16 11:24:55 -04:00
2026-07-16 17:55:36 -04:00
2026-07-09 08:53:52 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-07-08 11:20:27 -04:00
2026-07-09 08:53:52 -04:00
2026-06-16 18:32:52 -04:00
2026-07-01 22:05:36 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-06-15 09:34:08 -04:00
2026-06-15 09:34:08 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-05-29 22:40:55 -04:00
2026-06-09 13:00:48 -04:00
2026-06-09 13:00:48 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-08 15:25:48 -04:00
2026-06-23 14:16:31 -04:00
2026-07-09 08:53:52 -04:00
2026-06-15 10:51:12 -04:00
2026-06-15 10:51:12 -04:00
2026-06-15 09:34:08 -04:00
2026-07-09 08:53:52 -04:00
2026-06-15 09:34:08 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-06-17 09:51:43 -04:00
2026-06-17 09:51:43 -04:00
2026-07-05 16:45:06 -04:00
2026-07-09 08:53:52 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 11:51:27 -04:00
2026-07-09 08:53:52 -04:00
2026-07-10 08:21:26 -04:00
2026-07-10 08:21:26 -04:00
2026-07-01 18:13:46 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-07-14 11:51:27 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-06-15 09:34:08 -04:00
2026-06-10 08:58:45 -04:00
2026-07-09 08:53:52 -04:00
2026-06-05 22:43:20 -04:00
2026-06-18 19:17:22 -04:00
2026-06-18 19:17:22 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:58:45 -04:00
2026-07-02 11:34:02 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-07-09 08:53:52 -04:00
2026-05-24 00:04:25 -04:00
2026-07-09 08:53:52 -04:00
2026-05-29 22:40:55 -04:00
2026-05-29 22:40:55 -04:00