Marius Ciepluch and Claude Fable 5.1
81ae206978
fix(hunt): build output gets no candidate rows, a minified line is not scanned once per function, the screen checkpoints every change
...
The second access-control screen spun for 2h20m on one ordinary mage-ai change: a Next.js build commit whose 3 MB
one-line bundles hold 12,355 functions each. `source.ranges_from_ir` ran two regex scans of the whole line once per
function, and the screen kept its 422 finished changes in memory only, so stopping it lost them.
- `source.ranges_from_ir`: a line over MINIFIED_LINE_CHARS (2000) is not checked per function; JavaScript names on it
stay anonymous, other languages keep the parser's name.
- `source.generated_reason`: why a changed file is build output (a directory the product walk leaves out, a minified
name, over MAX_FILE_BYTES, a line over the cap). `hunt.producers._candidates` leaves such files out and records the
reason on the context; the fix site of a vulnerability is always kept. The DSPy arm shares the enumeration.
- The screen writes rows.jsonl and log.jsonl per change (rows first, entry last) and resumes by skipping logged ids.
Tests: the minified line never reaches the per-function scan; generated_reason on the four shapes and two source files;
build output in an ordinary change yields no rows while a vulnerability path in a one-line file is kept.
Co-Authored-By: Claude Fable 5.1 <[email protected] >
2026-10-14 13:24:45 +02:00
..
2026-09-30 19:54:26 +02:00
2026-10-02 08:28:57 +02:00
2026-09-30 12:40:57 +02:00
2026-09-30 11:59:50 +02:00
2026-09-30 13:44:32 +02:00
2026-10-02 20:09:28 +02:00
2026-10-01 16:54:27 +02:00
2026-10-01 20:40:41 +02:00
2026-10-01 11:03:54 +02:00
2026-10-01 11:51:28 +02:00
2026-10-01 19:40:58 +02:00
2026-10-02 09:40:00 +02:00
2026-10-02 16:00:37 +02:00
2026-10-02 16:31:30 +02:00
2026-10-02 11:33:16 +02:00
2026-10-02 19:05:34 +02:00
2026-10-02 20:55:57 +02:00
2026-10-03 07:45:19 +02:00
2026-10-02 23:02:32 +02:00
2026-10-03 08:23:42 +02:00
2026-10-03 14:56:52 +02:00
2026-10-04 11:57:34 +02:00
2026-10-04 14:39:36 +02:00
2026-10-04 19:17:35 +02:00
2026-10-05 08:14:57 +02:00
2026-10-04 20:19:14 +02:00
2026-10-05 17:26:06 +02:00
2026-10-06 19:35:42 +02:00
2026-10-06 00:14:51 +02:00
2026-10-07 13:25:52 +02:00
2026-10-07 08:28:37 +02:00
2026-10-07 09:23:33 +02:00
2026-10-07 11:05:07 +02:00
2026-10-07 11:52:19 +02:00
2026-10-12 10:09:32 +02:00
2026-10-14 02:49:44 +02:00
2026-10-12 11:16:35 +02:00
2026-10-12 10:37:10 +02:00
2026-10-12 10:09:32 +02:00
2026-10-12 10:49:56 +02:00
2026-10-14 02:49:44 +02:00
2026-10-14 13:24:45 +02:00
2026-10-13 13:16:31 +02:00
2026-10-13 15:45:56 +02:00
2026-10-13 13:10:19 +02:00
2026-10-13 12:21:02 +02:00
2026-10-14 02:49:44 +02:00
2026-10-14 02:49:44 +02:00
2026-10-14 01:14:46 +02:00
2026-09-06 18:44:19 +02:00
2026-09-06 16:04:07 +02:00
2026-09-08 17:28:11 +02:00
2026-09-06 13:09:56 +02:00
2026-09-06 13:20:23 +02:00
2026-09-06 20:44:56 +02:00
2026-09-06 10:15:44 +02:00
2026-09-06 15:49:54 +02:00
2026-09-06 08:08:01 +02:00
2026-09-06 08:08:01 +02:00
2026-09-07 08:09:50 +02:00
2026-09-08 13:26:59 +02:00
2026-09-08 17:16:00 +02:00
2026-09-08 11:10:47 +02:00
2026-10-05 17:12:46 +02:00
2026-09-08 19:46:58 +02:00
2026-09-09 15:39:58 +02:00
2026-09-09 14:18:57 +02:00
2026-09-09 14:45:36 +02:00
2026-09-09 17:24:37 +02:00
2026-09-09 13:01:30 +02:00
2026-09-09 11:30:02 +02:00
2026-09-09 12:45:21 +02:00
2026-09-09 17:15:51 +02:00
2026-09-09 11:02:48 +02:00
2026-09-09 09:27:19 +02:00
2026-09-09 09:43:53 +02:00
2026-09-09 08:46:21 +02:00
2026-09-09 15:23:57 +02:00
2026-09-09 13:29:26 +02:00
2026-09-12 18:32:18 +02:00
2026-09-12 21:12:45 +02:00
2026-09-12 20:55:09 +02:00
2026-09-13 12:56:55 +02:00
2026-09-13 10:41:32 +02:00
2026-09-13 13:25:44 +02:00
2026-09-13 12:42:15 +02:00
2026-09-13 10:03:03 +02:00
2026-09-13 15:24:06 +02:00
2026-09-13 15:24:06 +02:00
2026-09-13 15:24:06 +02:00
2026-09-13 11:29:48 +02:00
2026-09-13 16:05:51 +02:00
2026-09-13 19:06:02 +02:00
2026-09-13 19:06:02 +02:00
2026-09-13 11:05:44 +02:00
2026-09-13 11:53:29 +02:00
2026-09-13 19:39:19 +02:00
2026-09-13 19:39:19 +02:00
2026-09-13 19:32:43 +02:00
2026-09-13 19:32:43 +02:00
2026-09-13 10:16:22 +02:00
2026-09-13 15:11:42 +02:00
2026-09-13 14:50:25 +02:00
2026-09-13 17:08:49 +02:00
2026-09-13 17:08:49 +02:00
2026-09-13 17:08:49 +02:00
2026-09-14 13:18:51 +02:00
2026-09-14 08:07:06 +02:00
2026-09-14 13:18:51 +02:00
2026-09-14 13:18:51 +02:00
2026-09-16 15:31:34 +02:00
2026-09-16 15:31:34 +02:00
2026-09-16 19:11:03 +02:00
2026-09-16 19:11:03 +02:00
2026-09-16 20:24:34 +02:00
2026-09-16 20:24:34 +02:00
2026-09-16 18:06:39 +02:00
2026-09-16 18:06:39 +02:00
2026-09-16 16:03:16 +02:00
2026-09-16 16:03:16 +02:00
2026-09-16 17:35:00 +02:00
2026-09-16 20:24:34 +02:00
2026-09-16 20:37:47 +02:00
2026-09-17 13:44:20 +02:00
2026-09-17 13:44:20 +02:00
2026-09-17 09:04:44 +02:00
2026-09-18 13:22:05 +02:00
2026-09-17 21:01:51 +02:00
2026-09-17 18:17:31 +02:00
2026-09-17 18:17:31 +02:00
2026-09-17 07:50:04 +02:00
2026-09-17 07:50:04 +02:00
2026-09-17 11:36:51 +02:00
2026-09-17 11:36:51 +02:00
2026-09-17 11:19:30 +02:00
2026-09-17 14:17:51 +02:00
2026-09-17 14:17:51 +02:00
2026-09-17 09:04:44 +02:00
2026-09-17 09:04:44 +02:00
2026-09-17 08:12:37 +02:00
2026-09-17 08:12:37 +02:00
2026-09-18 13:22:05 +02:00
2026-09-19 17:39:29 +02:00
2026-09-19 20:38:39 +02:00
2026-09-19 13:24:26 +02:00
2026-09-19 17:55:31 +02:00
2026-09-20 08:57:32 +02:00
2026-09-20 12:10:27 +02:00
2026-09-20 16:30:04 +02:00
2026-09-20 19:22:04 +02:00
2026-09-20 18:13:25 +02:00
2026-09-20 15:16:03 +02:00
2026-09-21 17:19:59 +02:00
2026-09-21 13:45:00 +02:00
2026-09-21 10:57:19 +02:00
2026-09-22 08:46:23 +02:00
2026-09-22 19:34:49 +02:00
2026-09-22 09:53:52 +02:00
2026-09-22 13:56:00 +02:00
2026-09-22 08:06:15 +02:00
2026-09-23 08:51:43 +02:00
2026-09-23 20:57:02 +02:00
2026-09-23 00:54:13 +02:00
2026-09-24 03:29:57 +02:00
2026-09-24 13:36:36 +02:00
2026-10-06 17:54:47 +02:00