Prove package: a build gate executes the shard fixture and every block fixture on the Mac before any zip exists

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-josh 2026-10-04 19:49:25 +01:00
parent 18fe8fdeb5
commit e7225b74f1

View file

@ -21,6 +21,24 @@ mkdir -p "$PKG/tools/evm-smoke" "$PKG/tools/prove-fixtures" && cp "$ROOT/tools/e
cp "$ROOT/tools/prove-fixtures/seq.json" "$PKG/tools/prove-fixtures/" 2>/dev/null || true
for f in "$STAGE/SETUP-PROVER.bat" "$STAGE/PROVE-BLOCK.bat" "$STAGE/PROVE-SHARD.bat" "$STAGE/README.txt" "$STAGE/setup-prover.ps1"; do perl -pi -e 's/\r?\n/\r\n/' "$f"; done
for f in "$STAGE/setup-wsl.sh" "$STAGE/prove-block.sh" "$STAGE/prove-shard.sh"; do perl -pi -e 's/\r\n/\n/' "$f"; chmod +x "$f"; done
# GATE (4 October 2026, after the second RTX 5090 run failed in its first second with a guest and host pair that had never
# run together): the host is built here from the same sources that go into the package and must execute the shard
# fixture and verify every block fixture natively before any zip exists. SKIP_GATE=1 skips it (never for a package that ships).
if [ "${SKIP_GATE:-0}" != "1" ]; then
echo "gate: building the host from the packaged sources and running the fixtures on this machine's CPU"
GATE_LOG="$(mktemp)"
if ! (cd "$ROOT/proving/igneum-prove" && "$ROOT/tools/lock/with-lock.sh" build env PATH="$HOME/.cargo/bin:$PATH" nice -n 19 cargo build --release -j 4 -p igneum-prove-host >"$GATE_LOG" 2>&1); then
echo "GATE FAILED: the host does not build; see $GATE_LOG"; exit 1
fi
H="$ROOT/proving/igneum-prove/target/release/igneum-prove-host"
for f in "$ROOT"/proving/fixtures/block-*.json; do
if ! "$H" "$f" --mode native >>"$GATE_LOG" 2>&1; then echo "GATE FAILED: native run of $(basename "$f"); see $GATE_LOG"; exit 1; fi
done
if ! "$ROOT/tools/lock/with-lock.sh" measure "$H" "$ROOT/proving/fixtures/block-338-shard1.json" --mode execute --shard 0 >>"$GATE_LOG" 2>&1; then
echo "GATE FAILED: the guest did not execute the shard fixture (the exact failure the PC hit on 4 October); see $GATE_LOG"; exit 1
fi
echo "gate: passed ($(grep -c '^RESULT' "$GATE_LOG") RESULT lines)"
fi
rm -f "$OUT"
(cd "$(dirname "$STAGE")" && zip -qr "$OUT" "$(basename "$STAGE")")
ls -la "$OUT"