Drew T
fd28dd714d
fix(gate_stage): main was gated against ov_SC01_077's SHA — stop synthesising out/good_sha
...
The third instance of the overlay-layout assumption, and the worst of them.
gate_stage synthesised --out 'build/<bin>/<bin>' and --good-sha from
'config/check.<bin>.sha'. For main BOTH are wrong: its image is
build/us/SLUS_007.26 (Makefile main_OUT) and its locked hash is
config/check.us.sha. So sha1(out) was None, _check_sha('main') found nothing, and
good_sha fell through to DEF_SHA -- ov_SC01_077's hash. EVERY main draft was
compared against a DIFFERENT BINARY'S SHA, auto-failed, reverted regardless of the
build, and reported as 'near' -- indistinguishable from a real codegen residual.
harvest_verify already owns these facts (its own comment: 'the Makefile and
config/check.<bin>.sha already state these facts; do not keep a second copy') and
refuses loudly when it cannot derive them. gate_stage's synthesised flags bypassed
both. Now they are passed through ONLY when a caller explicitly sets them. Same
defect the 2026-07-22 comment fixed on the CLI path for good_sha and left alive one
argument over, and in run_gate's API path.
Measured: three main drafts proven byte-perfect in the REAL link (whole image
differs from retail by 2 of 413,696 bytes, both a pre-existing baseline defect
unrelated to the drafts) reported {"banked": 0, "near": 3}.
NEGATIVE CONTROL (R39), zero-build, all 213 binaries: the (out, good_sha) pair
reaching harvest_verify is UNCHANGED for 212 of 213; main is the only one that
moves, from ('build/main/main', DEF_SHA=ov_SC01_077) to
('build/us/SLUS_007.26', 143dbb89...). 0 binaries have no derivable sha. The
derivation agrees with the Makefile's own $(BINARY)_OUT / $(BINARY)_CHECK_SHA for
main, resident and an overlay.
2026-08-31 16:59:17 -06:00
..
2026-06-14 03:56:07 -06:00
2026-06-14 03:19:23 -06:00
2026-06-15 17:15:31 -06:00
2026-06-13 19:47:42 -06:00
2026-06-14 03:56:07 -06:00
2026-08-06 13:34:50 -06:00
2026-08-25 23:50:26 -06:00
2026-06-14 03:56:07 -06:00
2026-06-14 03:56:07 -06:00
2026-07-28 14:53:47 -06:00
2026-07-02 23:32:38 -06:00
2026-08-13 17:44:20 -06:00
2026-08-31 16:18:00 -06:00
2026-06-29 12:52:39 -06:00
2026-08-26 19:02:07 -06:00
2026-08-23 00:12:07 -06:00
2026-08-23 12:59:59 -06:00
2026-08-26 01:14:36 -06:00
2026-08-15 01:32:34 -06:00
2026-08-14 18:06:46 -06:00
2026-08-25 11:28:51 -06:00
2026-08-06 10:55:38 -06:00
2026-08-04 21:48:57 -06:00
2026-08-06 10:57:17 -06:00
2026-07-29 00:42:40 -06:00
2026-07-31 14:18:11 -06:00
2026-06-19 10:05:58 -06:00
2026-06-21 13:12:04 -06:00
2026-06-18 23:15:31 -06:00
2026-06-21 13:06:34 -06:00
2026-07-28 19:34:00 -06:00
2026-08-06 10:57:17 -06:00
2026-07-14 21:25:19 -06:00
2026-08-16 17:21:10 -06:00
2026-07-26 23:08:07 -06:00
2026-08-31 16:34:01 -06:00
2026-07-23 19:54:19 -06:00
2026-07-14 09:22:31 -06:00
2026-07-23 11:43:28 -06:00
2026-08-26 20:19:41 -06:00
2026-08-14 23:44:03 -06:00
2026-08-07 18:57:10 -06:00
2026-07-22 15:24:59 -06:00
2026-08-26 15:02:15 -06:00
2026-06-17 00:30:45 -06:00
2026-06-20 17:12:00 -06:00
2026-07-14 19:59:56 -06:00
2026-08-05 11:05:35 -06:00
2026-08-14 12:08:50 -06:00
2026-08-06 13:34:50 -06:00
2026-08-07 20:36:04 -06:00
2026-08-30 17:22:11 -06:00
2026-08-10 16:01:49 -06:00
2026-08-24 13:36:58 -06:00
2026-08-24 12:43:40 -06:00
2026-08-26 00:47:38 -06:00
2026-08-18 15:44:55 -06:00
2026-06-14 14:47:01 -06:00
2026-08-10 10:43:44 -06:00
2026-07-14 02:50:28 -06:00
2026-08-31 15:59:01 -06:00
2026-07-24 14:25:28 -06:00
2026-08-26 15:41:20 -06:00
2026-07-16 12:07:37 -06:00
2026-07-15 18:20:55 -06:00
2026-08-06 09:51:39 -06:00
2026-08-25 00:49:24 -06:00
2026-08-14 07:42:19 -06:00
2026-08-31 00:00:37 -06:00
2026-08-07 15:07:55 -06:00
2026-06-29 16:49:11 -06:00
2026-07-15 18:20:55 -06:00
2026-06-30 01:46:54 -06:00
2026-08-14 19:54:57 -06:00
2026-08-14 19:59:21 -06:00
2026-08-11 13:42:40 -06:00
2026-07-14 09:40:38 -06:00
2026-08-24 22:22:12 -06:00
2026-08-31 14:24:03 -06:00
2026-08-07 22:09:05 -06:00
2026-08-07 18:57:10 -06:00
2026-08-27 12:19:36 -06:00
2026-07-23 12:42:43 -06:00
2026-08-24 23:19:47 -06:00
2026-06-30 01:46:54 -06:00
2026-08-16 21:07:03 -06:00
2026-08-18 11:08:29 -06:00
2026-08-24 19:08:47 -06:00
2026-08-24 19:08:47 -06:00
2026-08-31 16:59:17 -06:00
2026-08-31 13:48:56 -06:00
2026-08-31 16:56:32 -06:00
2026-06-19 10:05:58 -06:00
2026-07-14 00:08:59 -06:00
2026-06-15 20:55:28 -06:00
2026-06-15 23:25:00 -06:00
2026-06-14 03:19:23 -06:00
2026-06-14 03:19:23 -06:00
2026-06-14 02:04:28 -06:00
2026-06-14 02:04:28 -06:00
2026-07-02 16:56:56 -06:00
2026-07-01 21:03:08 -06:00
2026-07-31 12:26:03 -06:00
2026-08-31 14:18:05 -06:00
2026-08-23 12:59:59 -06:00
2026-07-01 23:13:29 -06:00
2026-06-25 13:09:02 -06:00
2026-08-25 15:00:31 -06:00
2026-08-07 22:09:05 -06:00
2026-06-30 11:15:11 -06:00
2026-08-26 14:04:54 -06:00
2026-08-26 14:34:32 -06:00
2026-08-31 01:46:16 -06:00
2026-07-12 22:06:17 -06:00
2026-08-31 01:46:16 -06:00
2026-08-04 19:31:33 -06:00
2026-08-24 12:31:14 -06:00
2026-08-26 00:29:05 -06:00
2026-08-26 14:50:12 -06:00
2026-07-12 21:51:27 -06:00
2026-08-14 19:54:57 -06:00
2026-08-14 19:54:57 -06:00
2026-07-23 19:54:19 -06:00
2026-08-05 00:37:59 -06:00
2026-06-30 15:32:56 -06:00
2026-08-10 16:01:49 -06:00
2026-08-26 11:05:02 -06:00
2026-08-26 15:02:15 -06:00
2026-06-15 20:55:28 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 20:55:28 -06:00
2026-08-29 12:56:20 -06:00
2026-07-02 23:10:54 -06:00
2026-08-31 01:46:16 -06:00
2026-06-14 03:19:23 -06:00
2026-08-26 15:48:50 -06:00
2026-08-06 12:36:49 -06:00
2026-08-06 10:59:03 -06:00
2026-07-18 20:30:43 -06:00
2026-08-31 16:50:09 -06:00
2026-08-31 01:46:16 -06:00
2026-07-31 08:41:54 -06:00
2026-08-17 09:55:46 -06:00
2026-06-22 21:22:35 -06:00
2026-08-11 15:58:25 -06:00
2026-08-25 23:49:43 -06:00
2026-06-18 23:40:17 -06:00
2026-06-18 23:15:31 -06:00
2026-08-05 15:59:27 -06:00
2026-08-26 14:29:35 -06:00
2026-08-31 16:29:45 -06:00
2026-07-07 20:20:43 -06:00
2026-07-21 15:05:56 -06:00
2026-08-14 19:42:55 -06:00
2026-08-06 10:57:17 -06:00
2026-08-18 15:32:32 -06:00
2026-08-07 15:07:55 -06:00
2026-06-14 21:24:10 -06:00
2026-06-15 21:00:36 -06:00
2026-06-15 21:00:36 -06:00
2026-06-14 21:24:10 -06:00
2026-06-15 21:00:36 -06:00
2026-06-15 21:00:36 -06:00
2026-06-15 21:00:36 -06:00
2026-06-19 13:03:14 -06:00
2026-08-16 22:49:05 -06:00
2026-08-04 21:48:57 -06:00
2026-08-11 21:12:44 -06:00
2026-06-26 03:06:54 -06:00
2026-08-29 19:33:13 -06:00
2026-08-24 21:33:32 -06:00
2026-08-24 22:29:29 -06:00
2026-07-27 00:06:01 -06:00
2026-07-28 19:34:00 -06:00
2026-08-31 14:24:03 -06:00
2026-08-31 14:24:03 -06:00
2026-08-31 16:34:01 -06:00
2026-08-24 22:22:12 -06:00
2026-08-26 00:29:05 -06:00
2026-08-16 18:11:32 -06:00
2026-08-11 19:07:07 -06:00
2026-08-31 01:46:16 -06:00
2026-07-28 20:15:11 -06:00
2026-08-31 15:59:01 -06:00
2026-06-30 01:46:54 -06:00
2026-08-07 18:57:10 -06:00
2026-08-14 17:48:51 -06:00
2026-07-14 15:39:07 -06:00
2026-06-15 20:55:28 -06:00
2026-08-31 01:46:16 -06:00
2026-08-26 14:04:54 -06:00
2026-07-28 13:20:27 -06:00
2026-08-25 10:43:10 -06:00
2026-07-24 21:30:08 -06:00
2026-08-27 12:19:36 -06:00
2026-08-31 13:48:56 -06:00
2026-08-29 15:22:14 -06:00
2026-08-27 10:25:01 -06:00
2026-07-10 00:02:55 -06:00
2026-08-24 10:42:11 -06:00
2026-08-24 12:43:40 -06:00
2026-08-07 18:50:29 -06:00
2026-07-21 15:05:56 -06:00
2026-06-29 20:07:48 -06:00
2026-07-30 22:00:32 -06:00
2026-08-29 19:14:02 -06:00
2026-07-23 20:51:42 -06:00
2026-08-23 12:59:59 -06:00
2026-07-28 13:20:27 -06:00
2026-08-23 12:59:59 -06:00
2026-06-19 12:13:38 -06:00
2026-08-14 19:59:21 -06:00
2026-08-30 10:59:01 -06:00
2026-08-26 20:19:41 -06:00
2026-08-26 19:35:54 -06:00
2026-08-18 15:25:49 -06:00
2026-07-14 09:22:31 -06:00
2026-07-16 02:01:15 -06:00