Files
BFM-decomp/tools
Drew T 1dbf5477d0 perf(phase-28 T6): harvest_verify --chunk 1 no longer double-builds every failing draft
The gate's hot path is --chunk 1 (the prescribed default — chunked failures mis-attribute
innocent neighbours, cookbook:1568). With an atomic chunk the old code fell into the bisect
loop and re-ran attempt([fn]) on the SAME single element against the SAME baseline: a
byte-identical DUPLICATE build. classify_fail reads _last_sha/_last_err, which the failed
attempt(chunk) ALREADY set, so the re-attempt bought nothing but a second cc1+maspsx+as+ld.

- FIX: an `elif len(chunk) == 1:` branch classifies + reports directly, skipping the bisect.
  Per-draft failure build cost 2 -> 1 in the loop; ~26% fewer builds overall at the measured
  65% bank rate (successes were always 1 build; only failures doubled). Every wave, one branch.
- CORRECTNESS unchanged: verified a guaranteed-failing draft still classifies DIFF and is
  reported, not silently dropped. Measured make-build calls for one failing draft = 2 (attempt +
  the single final confirming build), the redundant re-attempt gone.
- Gate tooling only — no src/config/build change, cannot alter any binary's bytes (a bug here can
  only fail-to-bank, never falsely bank; G3/P9). No R22 owed.

Found by the explore agent's gate-substrate survey (Phase-28 planning); the shard-farm half of T6
is deferred (conditional on P29 volume — the distinct-binary farm already exists in bulk_harvest,
and the same-binary axis is a directory-shard build, documented in CURRENT_PHASE).
2026-07-16 01:50:06 -06:00
..