tpateeq
fcc01dbcdf
fix(extract): don't force-write a partial graph over a complete one
...
A full `graphify extract` writes the final graph with `to_json(..., force=True)`,
which bypasses the #479 shrink guard. That is correct for a clean build that
legitimately shrinks (dedup collapse, deleted code), but when this run's
extraction was incomplete — an AST pass crashed, or some semantic chunks failed —
forcing the write lets a partial graph silently overwrite a good complete one.
The build now tracks incompleteness (AST-pass failure, semantic-pass crash, or
succeeded < total chunks) and falls back to the shrink guard (force=False) on an
incomplete run, so a smaller partial graph is refused rather than written. It
exits non-zero before the manifest is written, so the manifest is never stamped
for a graph we declined to write and the next run re-attempts. `--allow-partial`
restores force=True to override intentionally.
Note: the `--no-cluster` raw-dump path writes graph.json directly and has no
shrink guard; this change covers the normal clustered build path only.
2026-07-16 23:38:09 +01:00
..
2026-07-15 10:58:57 +01:00
2026-07-15 15:09:17 +01:00
2026-06-27 23:57:39 +01:00
2026-07-05 11:41:18 +01:00
2026-06-23 17:26:49 +01:00
2026-07-11 11:52:12 +01:00
2026-06-16 01:41:15 +01:00
2026-07-11 17:22:25 +01:00
2026-07-15 13:30:25 +01:00
2026-07-08 12:09:40 +01:00
2026-07-16 16:38:12 +01:00
2026-07-14 13:19:16 +01:00
2026-07-01 15:09:42 +01:00
2026-07-16 16:38:12 +01:00
2026-07-15 13:13:30 +01:00
2026-07-02 22:29:30 +01:00
2026-07-08 16:38:35 +01:00
2026-07-12 23:57:16 +01:00
2026-07-11 16:31:10 +01:00
2026-07-01 11:52:50 +01:00
2026-07-01 10:49:43 +01:00
2026-06-30 18:30:05 +01:00
2026-07-08 01:16:58 +01:00
2026-07-10 21:57:16 +01:00
2026-06-30 19:32:10 +01:00
2026-07-14 13:51:42 +01:00
2026-07-15 19:51:53 +01:00
2026-07-14 23:42:06 +01:00
2026-06-30 11:19:54 +01:00
2026-07-15 00:41:36 +01:00
2026-07-13 10:29:26 +01:00
2026-07-16 16:38:12 +01:00
2026-07-08 17:07:31 +01:00
2026-07-14 23:42:06 +01:00
2026-06-28 16:57:00 +01:00
2026-07-09 13:22:36 +01:00
2026-06-28 16:57:00 +01:00
2026-06-18 01:55:56 +01:00
2026-07-06 16:43:21 +01:00
2026-07-06 16:49:31 +01:00
2026-07-15 00:41:36 +01:00
2026-06-30 16:58:23 +01:00
2026-06-18 22:55:44 +01:00
2026-07-02 22:29:32 +01:00
2026-07-16 23:38:09 +01:00
2026-06-28 19:29:51 +01:00
2026-06-30 23:26:13 +01:00
2026-07-01 10:30:47 +01:00
2026-07-01 11:43:05 +01:00
2026-06-24 11:43:13 +01:00
2026-06-13 15:13:23 +01:00
2026-07-06 16:43:21 +01:00
2026-07-06 16:38:42 +01:00
2026-07-06 16:38:42 +01:00
2026-07-10 02:11:36 +01:00
2026-07-09 10:44:50 +01:00
2026-07-05 10:42:09 +01:00
2026-06-18 22:50:52 +01:00
2026-07-06 12:46:12 +01:00
2026-06-29 09:40:22 +01:00
2026-07-14 23:32:03 +01:00
2026-07-06 16:02:45 +01:00
2026-07-02 22:29:30 +01:00
2026-07-04 22:12:47 +01:00
2026-06-19 10:25:09 +01:00
2026-07-16 23:36:49 +01:00
2026-07-08 12:45:08 +01:00
2026-07-15 10:58:57 +01:00
2026-07-03 18:34:41 +01:00
2026-07-04 22:12:47 +01:00
2026-07-06 12:44:47 +01:00
2026-06-16 01:41:15 +01:00
2026-07-09 00:32:21 +01:00
2026-07-09 00:32:21 +01:00
2026-07-09 01:06:02 +01:00
2026-07-11 11:56:38 +01:00
2026-06-30 16:59:16 +01:00
2026-07-16 16:36:49 +01:00
2026-07-04 21:22:39 +01:00
2026-07-04 03:12:23 +01:00
2026-07-15 19:51:53 +01:00
2026-07-12 10:36:00 +01:00
2026-07-06 00:45:51 +01:00
2026-07-06 16:38:42 +01:00
2026-06-30 12:57:33 +01:00
2026-07-06 12:36:12 +01:00
2026-07-07 10:57:52 +01:00
2026-07-11 11:31:47 +01:00
2026-07-06 16:38:42 +01:00
2026-07-10 20:24:25 +01:00
2026-07-16 23:36:49 +01:00
2026-07-04 03:12:23 +01:00
2026-07-15 15:14:34 +01:00
2026-07-02 12:11:51 +01:00
2026-07-15 15:09:17 +01:00
2026-06-30 23:15:52 +01:00
2026-07-16 16:38:12 +01:00
2026-07-02 11:46:22 +01:00
2026-06-16 03:06:43 +01:00
2026-06-30 16:59:16 +01:00
2026-07-02 22:38:29 +01:00
2026-07-02 22:38:28 +01:00
2026-07-04 03:12:23 +01:00
2026-07-02 22:38:29 +01:00
2026-07-03 16:03:18 +01:00
2026-07-14 23:32:02 +01:00
2026-06-24 08:54:11 +01:00
2026-06-26 10:20:53 +01:00
2026-07-15 13:30:25 +01:00
2026-06-23 17:26:49 +01:00
2026-06-27 10:19:15 +01:00
2026-07-04 22:12:47 +01:00
2026-07-05 10:33:07 +01:00