From a71cd97bdd203938fd3e0a06f324e4f6563b9342 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Sun, 4 Oct 2026 18:49:25 +0000 Subject: [PATCH] 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 --- proving/windows-wsl2/make-package.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/proving/windows-wsl2/make-package.sh b/proving/windows-wsl2/make-package.sh index 48d98e64c..19fc474a6 100755 --- a/proving/windows-wsl2/make-package.sh +++ b/proving/windows-wsl2/make-package.sh @@ -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"