From 9b6924cf17403e183323641dbf2e1eaef673aa5e Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Tue, 6 Oct 2026 00:08:07 +0000 Subject: [PATCH] P17 conformance driver: P17_BASE and P17_SUFFIX move the run to another port range; emu test keeps a miner-written kernel_sha256 stamp (ledger close round 3) tools/p17-conformance/run.mjs: the port base and the devnet suffix come from the environment (defaults unchanged, 29950 and 1950); round 3 ran on 30010 and igneum-devnet-2010 because another agent's process held 29999 inside the 29990 range. proto-cuda/nvrtc/emu/test.sh: a pack A that already carries kernel_sha256 (igneum-miner export-pack) keeps the miner's own stamp, so the worker check runs against what the miner wrote; an unstamped pack (igneum-pow export) is stamped by the test as before. The pack-T tampered case is unchanged. Co-Authored-By: Claude Fable 5.1 --- proto-cuda/nvrtc/emu/test.sh | 4 +++- tools/p17-conformance/run.mjs | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/proto-cuda/nvrtc/emu/test.sh b/proto-cuda/nvrtc/emu/test.sh index e832e9f80..f25f537e0 100755 --- a/proto-cuda/nvrtc/emu/test.sh +++ b/proto-cuda/nvrtc/emu/test.sh @@ -50,7 +50,9 @@ lines[i + 1:i + 1] = [' "kernel_sha256": {%s},' % ", ".join(entries), open(p, "w").write("\n".join(lines)) PYS } -stamp_pack "$OUT/pack-a" +# A pack A written by igneum-miner (export-pack, ledger close round 3) already carries the miner's stamp: it is kept, so +# the test checks the miner's own stamp against the worker; only an unstamped pack (igneum-pow export) is stamped here. +if grep -q '"kernel_sha256"' "$OUT/pack-a/program.json"; then echo "pack A keeps the miner's kernel_sha256 stamp"; else stamp_pack "$OUT/pack-a"; fi stamp_pack "$OUT/pack-b" # Pack T: pack A with one constant of kernel_bound.cu edited after the stamp (the vectors still match, the text does # not). It must be refused before anything compiles. diff --git a/tools/p17-conformance/run.mjs b/tools/p17-conformance/run.mjs index d77e21099..5018bbd8b 100644 --- a/tools/p17-conformance/run.mjs +++ b/tools/p17-conformance/run.mjs @@ -42,7 +42,8 @@ const TMP = process.env.IGNEUM_FIN_TMP; const REL = process.env.IGNEUM_FORK_BIN || `${MAIN}vendor/igneum-node-ledger/target/release`; const IGNEUMD = process.env.IGNEUMD || `${REL}/igneumd`; const MINER = process.env.IGNEUM_MINER || `${REL}/igneum-miner`; -const BASE = 29950, SUFFIX = 1950, CHAIN_ID = 4463; +// P17_BASE and P17_SUFFIX move the run to another port range and network id (round 3 ran on 29990 and igneum-devnet-1990) +const BASE = +(process.env.P17_BASE || 29950), SUFFIX = +(process.env.P17_SUFFIX || 1950), CHAIN_ID = 4463; const WARM = +(process.env.WARM || 200); const DELAY_MS = +(process.env.DELAY_MS || 50); for (const b of [IGNEUMD, MINER]) if (!existsSync(b)) { console.error(`missing ${b}`); process.exit(2); }