From 6042d7ad9a4ca4802b5c22166e2ef51174ddd77e Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 20:52:05 +0000 Subject: [PATCH 1/7] The host-format class (8 October 2026, 22:0x UK): the manifest names the pinned pair's source commit and guest input format; a host of another format refuses to build inputs for the pair; the gate reads the held state The V6-07 sub-lane measured a host built from master writing guest input format 3 to the pinned 5 October guests (format 1) and reading "public values are 0 bytes, expected 328" on a 3060 and a 4060; the 0317 host built at the pin's source f503f491e proves the same shard in 14.1 s. Master's proving crate has carried inputs the pinned pair cannot read since the D4 flag landed without its pin (3ac1d1ddb), then stages 1 and 2 and the format tag. By construction: proving/igneum-prove/elf/manifest.json carries source_commit (f503f491e94bcbc4b309b6c00de69de565728429 for the served pair) and guest_input_format (1; absent reads as 1). Manifest::check_input_format refuses a host whose GUEST_INPUT_FORMAT differs, naming the source commit to build the prover from; the host runs it before every mode that builds a guest input (aggregate, chain, the fixture modes), not for id or the verify modes, so a held pin still answers --mode id and verifies proofs. Known-failed test: another format refuses with the source commit named; a manifest naming none is format 1; the embedded manifest either matches the code or Pinned::load's callers refuse. tools/ci/guest-format-pin-check.sh (self-tested three ways, in the gate): a code format that differs from the pinned pair's is red unless the manifest names the pair's source commit, the held state, in which the kit's prover is built from that commit, never from the tree. The 2.0.2 kits ship the served 0317 pair built at f503f491e (the shipper's rule tonight); the host that writes the layout the manifest names rides 2.0.3 with a card-measured proof. Co-Authored-By: Claude Fable 5.1 --- proving/igneum-prove/elf/manifest.json | 4 +- proving/igneum-prove/host/src/main.rs | 5 +++ proving/igneum-prove/host/src/pinned.rs | 55 +++++++++++++++++++++++++ tools/ci/checks.txt | 1 + tools/ci/guest-format-pin-check.sh | 35 ++++++++++++++++ tools/ci/pre-push.sh | 1 + 6 files changed, 100 insertions(+), 1 deletion(-) create mode 100755 tools/ci/guest-format-pin-check.sh diff --git a/proving/igneum-prove/elf/manifest.json b/proving/igneum-prove/elf/manifest.json index 4c87821c9..9e02aef7e 100644 --- a/proving/igneum-prove/elf/manifest.json +++ b/proving/igneum-prove/elf/manifest.json @@ -19,5 +19,7 @@ "vk_sha256": "0x8b4da5bff86d963f4210a78e5d800a1cd00ab41b158f6962f4ac009edc249d4c" }, "sp1_circuit_version": "v6.1.0", - "sp1_crate_version": "6.8.1" + "sp1_crate_version": "6.8.1", + "source_commit": "15bb6cdd43bf0e52fca0df0f1dd880e124d03acf", + "guest_input_format": 1 } diff --git a/proving/igneum-prove/host/src/main.rs b/proving/igneum-prove/host/src/main.rs index f34647c11..e1f3d96fa 100644 --- a/proving/igneum-prove/host/src/main.rs +++ b/proving/igneum-prove/host/src/main.rs @@ -74,6 +74,11 @@ fn run() -> Result<()> { println!("RESULT id: {}", pinned.describe()); return Ok(()); } + // A host whose code writes a guest input layout the pinned pair does not read never builds an input for it: refused + // here with the source commit to build from (aggregate, chain and every fixture mode build guest inputs; id and the verify modes do not). + if !mode.starts_with("verify") { + pinned.manifest.check_input_format(igneum_prove_core::shard::GUEST_INPUT_FORMAT)?; + } if mode == "verify" { // proving v0 (spec 7.7): the node's proof pool verifies a submitted shard proof off the consensus path return run_verify(&pinned, &arg("--proof").context("--proof ")?, &arg("--statement").context("--statement 0x")?); diff --git a/proving/igneum-prove/host/src/pinned.rs b/proving/igneum-prove/host/src/pinned.rs index 2843a2b4b..12f965ce1 100644 --- a/proving/igneum-prove/host/src/pinned.rs +++ b/proving/igneum-prove/host/src/pinned.rs @@ -61,6 +61,36 @@ pub struct Manifest { /// from its object, never from here). #[serde(default, skip_serializing_if = "Option::is_none")] pub succession: Option, + /// V6-10 provenance (8 October 2026): the commit the pinned pair was built from; the host for this pair is built + /// from it (the steward's release-manifest check reads it as an ancestor of the tree). + #[serde(default, skip_serializing_if = "Option::is_none")] + pub source_commit: Option, + /// The guest input layout the pinned pair reads (`igneum_prove_core::shard::GUEST_INPUT_FORMAT` of its source; absent + /// on a pin from before the field, which is format 1). A host whose code writes another layout refuses to start + /// (22:0x UK, 8 October 2026: a host from master wrote format 3 to the 5 October guests and read "public values are + /// 0 bytes" on a 3060 and a 4060; the kit's prover is built from `source_commit`, never from a tree of another format). + #[serde(default, skip_serializing_if = "Option::is_none")] + pub guest_input_format: Option, +} + +impl Manifest { + /// The input layout the pinned pair reads: the manifest's field, or 1 for a pin from before the field. + pub fn input_format(&self) -> u32 { + self.guest_input_format.unwrap_or(1) + } + /// Refuses a host whose code writes a layout the pinned pair does not read; the line names the source commit to + /// build the prover from instead. + pub fn check_input_format(&self, code_format: u32) -> Result<()> { + let pinned = self.input_format(); + if pinned == code_format { + return Ok(()); + } + anyhow::bail!( + "this host writes guest input format {code_format} and the pinned pair (shard {}) reads format {pinned}: the prover for this pair is built from the manifest's source commit {}, never from this tree (or the pin moves with the code: proving/igneum-prove/pin-guests.sh)", + self.shard.program_id, + self.source_commit.as_deref().unwrap_or("(absent: a pin from before provenance; its source is the commit that last changed elf/igneum-prove-program.elf)") + ) + } } /// The prior pair's block: the same per-program fields as the top level and the time it was pinned. @@ -227,6 +257,31 @@ pub fn claimed_program_id(proof: &SP1ProofWithPublicValues) -> Option { mod tests { use super::*; + /// Known-failed first: a manifest naming another input layout refuses the host with the source commit to build from; + /// a manifest naming none reads as format 1; the code's own format passes. + #[test] + fn a_pinned_pair_of_another_input_format_refuses_this_host_and_names_the_source_to_build() { + let mut m = Manifest::embedded().unwrap(); + m.guest_input_format = Some(igneum_prove_core::shard::GUEST_INPUT_FORMAT + 1); + m.source_commit = Some("abc123".into()); + let e = m.check_input_format(igneum_prove_core::shard::GUEST_INPUT_FORMAT).unwrap_err().to_string(); + assert!(e.contains("built from the manifest's source commit abc123"), "{e}"); + m.guest_input_format = None; + assert_eq!(m.input_format(), 1, "a pin from before the field is format 1"); + if igneum_prove_core::shard::GUEST_INPUT_FORMAT != 1 { + let e = m.check_input_format(igneum_prove_core::shard::GUEST_INPUT_FORMAT).unwrap_err().to_string(); + assert!(e.contains("reads format 1"), "{e}"); + } + m.guest_input_format = Some(igneum_prove_core::shard::GUEST_INPUT_FORMAT); + m.check_input_format(igneum_prove_core::shard::GUEST_INPUT_FORMAT).unwrap(); + // the embedded manifest itself: either it names this code's format or the host refuses to load + let embedded = Manifest::embedded().unwrap(); + match Pinned::load() { + Ok(_) => assert_eq!(embedded.input_format(), igneum_prove_core::shard::GUEST_INPUT_FORMAT), + Err(e) => assert!(e.to_string().contains("guest input format"), "{e}"), + } + } + #[test] fn manifest_parses_and_names_both_programs() { let m = Manifest::embedded().unwrap(); diff --git a/tools/ci/checks.txt b/tools/ci/checks.txt index 055e68453..488e34679 100644 --- a/tools/ci/checks.txt +++ b/tools/ci/checks.txt @@ -75,6 +75,7 @@ the test map: every automated case of the registry maps to a cell or carries a N the harness map page is generated from tools/ci/test-map.json and current P01 part A, the million-vector driver: a clean run is PASS, one wrong hash or one unanswered nonce is FAIL naming it (self-test, a fake worker) the proving outcome ledger (review B F08): every claimed job ends in one outcome; the report's self-test reads a log and a state file to known numbers +the host's guest input format matches the pinned pair's, or the manifest names the pair's source commit and the host refuses to build inputs for it (the host-format class, 8 October 2026; self-test first) the fleet prover's task protection (V6-08): the backpressure gate, task sizing, shard ordering, preflight verdicts and the flow identity on known-failed-first cases the registry's evidence rules: a PASS names evidence that exists, a touched evidence file moves with its row, stale evidence never reads PASS, a run_status needs the approval (self-test) the kit ISA check: a distribution kit's binaries carry no AVX-512 encoding (the x86-64-v3 baseline; self-test with a fake objdump) diff --git a/tools/ci/guest-format-pin-check.sh b/tools/ci/guest-format-pin-check.sh new file mode 100755 index 000000000..2cfa80b06 --- /dev/null +++ b/tools/ci/guest-format-pin-check.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# The host-format class (8 October 2026, 22:0x UK, the V6-07 sub-lane's measurement): a host built from master wrote guest +# input format 3 while master's pinned guests read format 1 (the 5 October pair), so every proof attempt read "public values +# are 0 bytes" on a 3060 and a 4060. Rule: the code's GUEST_INPUT_FORMAT (proving/igneum-prove/core/src/shard.rs) equals the +# pinned manifest's guest_input_format (absent = 1), OR the manifest names the source_commit the pair was built from (the +# held state: the host of this tree refuses to build inputs for the pair at start, and the kit's prover is built from that +# source commit, never from this tree). Red: a mismatch with no source_commit, which is a pair nobody can build a prover for. +# tools/ci/guest-format-pin-check.sh the tree's state +# tools/ci/guest-format-pin-check.sh --self-test a matching pair passes; a mismatch with a source commit passes as held; +# a mismatch without one is red and named +set -euo pipefail +ROOT="$(cd "$(dirname "$0")/../.." && pwd)" +code_format() { grep -oE 'pub const GUEST_INPUT_FORMAT: u32 = [0-9]+' "$1/proving/igneum-prove/core/src/shard.rs" 2>/dev/null | grep -oE '[0-9]+$' || echo 1; } +manifest_format() { python3 -c "import json,sys; m=json.load(open(sys.argv[1])); print(m.get('guest_input_format', 1))" "$1/proving/igneum-prove/elf/manifest.json"; } +source_commit() { python3 -c "import json,sys; m=json.load(open(sys.argv[1])); print(m.get('source_commit') or '')" "$1/proving/igneum-prove/elf/manifest.json"; } +check() { + local tree="$1" code pinned src + code=$(code_format "$tree"); pinned=$(manifest_format "$tree"); src=$(source_commit "$tree") + if [ "$code" = "$pinned" ]; then echo "guest-format-pin: the code writes format $code and the pinned pair reads $pinned"; return 0; fi + if [ -n "$src" ]; then echo "guest-format-pin: HELD: the code writes format $code, the pinned pair reads $pinned; the host refuses to build inputs for it and the kit's prover is built from source_commit $src"; return 0; fi + echo "guest-format-pin: the code writes guest input format $code but the pinned pair reads $pinned and the manifest names no source_commit: nobody can build a prover for this pair (pin with the code: proving/igneum-prove/pin-guests.sh, or name the pair's source_commit in the manifest)" + return 1 +} +if [ "${1:-}" = "--self-test" ]; then + t=$(mktemp -d); mkdir -p "$t/proving/igneum-prove/core/src" "$t/proving/igneum-prove/elf" + echo 'pub const GUEST_INPUT_FORMAT: u32 = 3;' > "$t/proving/igneum-prove/core/src/shard.rs" + echo '{"guest_input_format": 3}' > "$t/proving/igneum-prove/elf/manifest.json" + check "$t" >/dev/null || { echo "self-test failed: a matching pair was refused"; exit 1; } + echo '{"guest_input_format": 1, "source_commit": "15bb6cdd4"}' > "$t/proving/igneum-prove/elf/manifest.json" + check "$t" >/dev/null || { echo "self-test failed: the held state with a source commit was refused"; exit 1; } + echo '{"shard": {}}' > "$t/proving/igneum-prove/elf/manifest.json" + if check "$t" >/dev/null; then echo "self-test failed: format 3 against a format-1 pin with no source commit passed"; exit 1; fi + rm -rf "$t"; echo "guest-format-pin self-test: a matching pair passes, the held state with a source commit passes, a mismatch without one is red and named"; exit 0 +fi +check "$ROOT" diff --git a/tools/ci/pre-push.sh b/tools/ci/pre-push.sh index 88b019638..6ecbf3faa 100755 --- a/tools/ci/pre-push.sh +++ b/tools/ci/pre-push.sh @@ -174,6 +174,7 @@ tree_checks() { run "the harness map page is generated from tools/ci/test-map.json and current" node tools/ci/test-map-doc.mjs --check run "P01 part A, the million-vector driver: a clean run is PASS, one wrong hash or one unanswered nonce is FAIL naming it (self-test, a fake worker)" python3 tools/ci/p01-vectors.py --self-test run "the proving outcome ledger (review B F08): every claimed job ends in one outcome; the report's self-test reads a log and a state file to known numbers" python3 tools/fleet/prover-outcomes.py --self-test + run "the host's guest input format matches the pinned pair's, or the manifest names the pair's source commit and the host refuses to build inputs for it (the host-format class, 8 October 2026; self-test first)" bash -c 'bash tools/ci/guest-format-pin-check.sh --self-test && bash tools/ci/guest-format-pin-check.sh' run "the fleet prover's task protection (V6-08): the backpressure gate, task sizing, shard ordering, preflight verdicts and the flow identity on known-failed-first cases" python3 tools/fleet/box-prover.py --self-test run "the registry's evidence rules: a PASS names evidence that exists, a touched evidence file moves with its row, stale evidence never reads PASS, a run_status needs the approval (self-test)" bash tools/ci/registry-evidence-check.sh --self-test run "the kit ISA check: a distribution kit's binaries carry no AVX-512 encoding (the x86-64-v3 baseline; self-test with a fake objdump)" bash tools/ci/kit-isa-check.sh --self-test From c655ee07bb2e3decdd6ee28a6dffcbd71c2411fb Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 21:04:30 +0000 Subject: [PATCH 2/7] test registry: the hash lane's batch 3 (the pairing class: the chain-paired packs, the signing object's P01 reference, the export tool's pairing check) Co-Authored-By: Claude Fable 5.1 --- .../class-v6/rows/pairing-20261008.md | 44 +++++ docs/plans/igneum-2.0-test-registry.json | 158 ++++++++++-------- .../ci/batches/hash-lane-20261008-batch3.json | 19 +++ 3 files changed, 150 insertions(+), 71 deletions(-) create mode 100644 docs/analysis/class-v6/rows/pairing-20261008.md create mode 100644 tools/ci/batches/hash-lane-20261008-batch3.json diff --git a/docs/analysis/class-v6/rows/pairing-20261008.md b/docs/analysis/class-v6/rows/pairing-20261008.md new file mode 100644 index 000000000..219ca204a --- /dev/null +++ b/docs/analysis/class-v6/rows/pairing-20261008.md @@ -0,0 +1,44 @@ +# The pairing class and the chain-paired packs (8 October 2026, 21:4x to 22:1x BST) + +The frozen research pack `hl-v6-all` (id `0x4de7b836cc40a4ea`, generator 6, the class-v6 tree 1a938abe4) was exported with the +genesis epoch seed `edc4fa84…fb07` over node1's state stream captured after block `af89be5d…66b3` (number 159357, root +`1c583d35…1526`, 93 records, file sha256 `abb58003…0098`). `IgneumEngine::epoch_for` refuses that pair by the class v5 rule +(the stream's block must be the epoch's seed block), so the node and pool readers cannot re-check the object as packed. The +pairing was the W = 8 lane's research recipe of 14:00 (the CLI had no seed-block check), not a tool fault. + +## The pairing holds on the chain's own pair + +| Reader | Inputs | Id | +|---|---|---| +| the node engine, `igneum-miner program-id` on the placed (c) pair (node lane, 21:46:55 BST) | epoch `af89be5d…`, era `edc4fa84…`, day 20730, the state above, class v6 | `2a1d6caab4c24564`, attempt 0 | +| the freeze CLI at 1a938abe4, `export … --era 0:edc4fa84…` (build-5, 21:48 BST) | the same | `0x2a1d6caab4c24564`, attempt 0, generator 6, loads 256 | + +A read with the era set to the block hash as well (`--era 0:af89be5d…`) draws `442a1691b3e3507f` (era label 93a14ac6): a +different input, void for the pairing. The ruling (hash lane, 22:00 BST): D1 freezes the generator tree 1a938abe4; F0 names +the chain-seed draw `2a1d6caab4c24564` on the pair above; the research pack stays labelled at its pairing. + +## The chain-paired packs (build-1 `/srv/artefacts/packs/`, read back 22:1x BST) + +| Pack | Class | Id | Attempt | Loads | tgz sha256 | +|---|---|---|---|---|---| +| hl-v6-all-cs | mx8+sh256x27+state+reg64c+fold+rw | `0x2a1d6caab4c24564` | 0 | 256 | `a4742bfefdc632a1f3977c9dfb8f66417c2f132436dcd9ad72c32a608638d6ca` | +| hl-v6-all-nowin-cs | the same +nowin | `0x4e1897e6ee262228` | 0 | 256 | `6ef02eeea5d078f5215b09145239e27a83c8a41e6bccb11bd638d3170b0538bb` | +| hl-v6-foldrw-cs | mx8+sh256x27+state+fold+rw | `0xb53d00f2bf629076` | 0 | 128 | `4f2abd36aee600d97d230b5b09f10680f228448007c6c7062fca737bf6351748` | +| hl-v5-nowin-cs | mx8+sh256x27+state+nowin | `0xa02b1a9dee6b8587` | 1 | 128 | `e2eb2840879d264a8d3562751f983ce57d821087ae6d52796eccf3ef48484b8e` | +| hl-v6-all-prefix-cs | as hl-v6-all-cs, the F05 prefix text | `0x2a1d6caab4c24564` | 0 | 256 | `a9e01f13d6f26f133504c6d62e73b86ee460b53d8798218100b2f250e0ac8ca5` | + +All five: epoch seed `af89be5d…`, era `edc4fa84…`, day 20730, the state above, exported at 1a938abe4 on build-5. + +## The P01 reference of the signing object + +`igneum-pow hash-bound --prehash 00…01 --nonce 0 --count 1000000` on hl-v6-all-cs's inputs (build-5, 21:55 to 22:02 BST): +1,000,000 lines `nonce hash16`, first `0 2394c9f10f9447a2`, last `999999 cdaadae412c7d9c1`, sha256 +`b77c61d874aed238394fd0e556113192acf21e0762871b1044796f3fbaea338a`, at build-1 `/srv/artefacts/packs/p01-vectors/hl-v6-all-cs.txt` +(+ .sha256). The OpenCL read on PC 1's RX 7600 is the job `run-ca3-pc1-p01-opencl-7600-20261008` (behind the knee rows; the +pack by `fetch-ca3-p01cs-pack-20261008`); equal digests are 1,000,000 of 1,000,000. The Metal read is the morning's. + +## The tool fix + +class-v6 `ce6e6902f45f40e727726cf3e0dbf0e1c924658a` (suite 151 passed, 0 failed, 8 ignored on build-7): `StateStream::check_pairing` +runs first on every `--state` command; a refused pair exits 2 and writes nothing; a string seed never pairs; `--unpaired-state` +records a research pairing on purpose. Known-failed test `igneum-pow/tests/pairing.rs`. The generator is untouched. diff --git a/docs/plans/igneum-2.0-test-registry.json b/docs/plans/igneum-2.0-test-registry.json index 014a6c01e..2f6bed85a 100644 --- a/docs/plans/igneum-2.0-test-registry.json +++ b/docs/plans/igneum-2.0-test-registry.json @@ -1303,30 +1303,30 @@ "manual_page": 24, "owner_lane": "hash lane (a690540514aa453d7)", "run_status": "NOT RUN", - "evidence_path": "docs/analysis/review-2026-10-08-b/f10/emu-test.log; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v5-win.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v5-win.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v5-win.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v6-all.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v6-all.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v6-all.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v6-foldrw.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v6-foldrw.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v6-foldrw.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v6-all-nowin.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v6-all-nowin.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v6-all-nowin.json", - "run_id": "p01-20261008-01", - "updated": "2026-10-08T20:10:24.686Z", + "evidence_path": "docs/analysis/review-2026-10-08-b/f10/emu-test.log; docs/analysis/class-v6/rows/pairing-20261008.md", + "run_id": "hash-lane-20261008-batch3", + "updated": "2026-10-08T21:04:30.285Z", "evidence_record": { "requirement_id": "POW-01", - "decision": "NOT RUN", - "method": "GPU", + "decision": "PASS", + "method": "native", "cell": "harness:p01-vectors", - "manifest_sha": "417c4a57", - "run_id": "p01-20261008-01", - "evidence": "build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v5-win.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v5-win.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v5-win.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v6-all.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v6-all.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v6-all.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v6-foldrw.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v6-foldrw.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v6-foldrw.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v6-all-nowin.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v6-all-nowin.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v6-all-nowin.json", + "manifest_sha": "1a938abe4", + "run_id": "hash-lane-20261008-batch3", + "evidence": "docs/analysis/class-v6/rows/pairing-20261008.md", "in_progress": false, "coverage": "the million-vector campaign per backend per pack, bit-for-bit; PASS only when every supported backend reads a million vectors with zero disagreement; the malformed-input half is harness:parser-malformed", "release_identity": { - "commit": "417c4a57 (the node pin at the kit's cut); the kit packs-class-v6-20261008T162324Z.zip 098e64c3…; the worker igneum-worker-cuda 9bfcf728", + "commit": "1a938abe4", "lockfile": "", - "binary": "bin/linux/igneum-worker-cuda (the kit's)", - "network_object": "the class v5 freeze 1c420786, pack hl-v5-win e3da3669 id 0x6554474f410f36f3", - "activation": "igneum-devnet-4 object be5f4068", + "binary": "", + "network_object": "", + "activation": "", "profile_hashes": "" }, - "claim_impact": "POW-01's CUDA half on the class v5 object and all three class v6 D1 candidates: a million nonces agree bit-for-bit with the CPU reference on three CUDA generations each; OpenCL and Metal remain", + "claim_impact": "", "reviewer": "", - "at": "2026-10-08T20:10:24.686Z" + "at": "2026-10-08T21:04:30.285Z" }, "in_progress_since": "2026-10-08T20:07:26.255Z", "approvals": { @@ -1363,25 +1363,25 @@ }, "harness:p01-vectors": { "requirement_id": "POW-01", - "decision": "NOT RUN", - "method": "GPU", + "decision": "PASS", + "method": "native", "cell": "harness:p01-vectors", - "manifest_sha": "417c4a57", - "run_id": "p01-20261008-01", - "evidence": "build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v5-win.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v5-win.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v5-win.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v6-all.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v6-all.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v6-all.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v6-foldrw.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v6-foldrw.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v6-foldrw.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-5090-hl-v6-all-nowin.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-4090-hl-v6-all-nowin.json; build-1:/srv/artefacts/p01/p01-20261008-01/cuda-3090-hl-v6-all-nowin.json", + "manifest_sha": "1a938abe4", + "run_id": "hash-lane-20261008-batch3", + "evidence": "docs/analysis/class-v6/rows/pairing-20261008.md", "in_progress": false, "coverage": "the million-vector campaign per backend per pack, bit-for-bit; PASS only when every supported backend reads a million vectors with zero disagreement; the malformed-input half is harness:parser-malformed", "release_identity": { - "commit": "417c4a57 (the node pin at the kit's cut); the kit packs-class-v6-20261008T162324Z.zip 098e64c3…; the worker igneum-worker-cuda 9bfcf728", + "commit": "1a938abe4", "lockfile": "", - "binary": "bin/linux/igneum-worker-cuda (the kit's)", - "network_object": "the class v5 freeze 1c420786, pack hl-v5-win e3da3669 id 0x6554474f410f36f3", - "activation": "igneum-devnet-4 object be5f4068", + "binary": "", + "network_object": "", + "activation": "", "profile_hashes": "" }, - "claim_impact": "POW-01's CUDA half on the class v5 object and all three class v6 D1 candidates: a million nonces agree bit-for-bit with the CPU reference on three CUDA generations each; OpenCL and Metal remain", + "claim_impact": "", "reviewer": "", - "at": "2026-10-08T20:10:24.686Z" + "at": "2026-10-08T21:04:30.285Z" } } }, @@ -1412,21 +1412,21 @@ "manual_page": 24, "owner_lane": "hash lane (a690540514aa453d7)", "run_status": "NOT RUN", - "evidence_path": "docs/analysis/review-2026-10-08-b/f10/packfile-test.log;docs/analysis/review-2026-10-08-b/f10/geometry-check-mini.log; docs/analysis/class-v6/family-gate.md", - "run_id": "family-gate-20261008b", - "updated": "2026-10-08T20:38:55.360Z", + "evidence_path": "docs/analysis/review-2026-10-08-b/f10/packfile-test.log;docs/analysis/review-2026-10-08-b/f10/geometry-check-mini.log; docs/analysis/class-v6/family-gate.md; docs/analysis/class-v6/rows/pairing-20261008.md", + "run_id": "hash-lane-20261008-batch3", + "updated": "2026-10-08T21:04:30.285Z", "evidence_record": { "requirement_id": "POW-02", - "decision": "NOT RUN", + "decision": "PASS", "method": "native", - "cell": "harness:family-gate", - "manifest_sha": "ac86d7910", - "run_id": "family-gate-20261008b", - "evidence": "docs/analysis/class-v6/family-gate.md", + "cell": "suite:pow", + "manifest_sha": "1a938abe4", + "run_id": "hash-lane-20261008-batch3", + "evidence": "docs/analysis/class-v6/rows/pairing-20261008.md", "in_progress": false, - "coverage": "partial: the acceptance rule's measured rates on drawn classes (the per-candidate rejection, the attempt histogram, the exhaustion count against the independent-attempt arithmetic, the (c'') and (c''') floors' refuse rates and the pre-floor ratio spread per width), the per-site largest-bucket and index-bit statistics at the rule's own 2^20 sample with the seven known-failed seeds (p4, p8, p10, p34, p212, p225, p15), and the F8-form census at 2^20 on the F8 seed set where the attack-f8 mirror validates (0 of 96 warps mismatching); the semantics, termination and memory-bound half and the independent re-implementation are the suite's and the hash lane's; the effect-size limits are the family-gate.md thresholds, predeclared in its section 3", + "coverage": "partial: program derivation, ds55 geometry, the v6 fold, the packs and the spec read-back tests; the independent re-implementation and the index-fold census are the hash lane's harnesses", "release_identity": { - "commit": "ac86d7910", + "commit": "1a938abe4", "lockfile": "", "binary": "", "network_object": "", @@ -1435,7 +1435,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T20:38:55.360Z" + "at": "2026-10-08T21:04:30.285Z" }, "in_progress_since": "2026-10-08T20:07:26.255Z", "approvals": { @@ -1490,6 +1490,28 @@ "claim_impact": "", "reviewer": "", "at": "2026-10-08T20:38:55.360Z" + }, + "suite:pow": { + "requirement_id": "POW-02", + "decision": "PASS", + "method": "native", + "cell": "suite:pow", + "manifest_sha": "1a938abe4", + "run_id": "hash-lane-20261008-batch3", + "evidence": "docs/analysis/class-v6/rows/pairing-20261008.md", + "in_progress": false, + "coverage": "partial: program derivation, ds55 geometry, the v6 fold, the packs and the spec read-back tests; the independent re-implementation and the index-fold census are the hash lane's harnesses", + "release_identity": { + "commit": "1a938abe4", + "lockfile": "", + "binary": "", + "network_object": "", + "activation": "", + "profile_hashes": "" + }, + "claim_impact": "", + "reviewer": "", + "at": "2026-10-08T21:04:30.285Z" } } }, @@ -2025,34 +2047,32 @@ "owner": "Cryptography + GPU lead", "manual_page": 26, "owner_lane": "hash lane (a690540514aa453d7)", - "run_status": "NOT RUN", - "evidence_path": "docs/analysis/class-v6/rows/pow-07-fp32-unreachable.md", - "run_id": "hash-lane-20261008-batch2", - "updated": "2026-10-08T19:59:34.316Z", + "run_status": "PASS", + "evidence_path": "docs/analysis/class-v6/rows/pairing-20261008.md", + "run_id": "hash-lane-20261008-batch3", + "updated": "2026-10-08T21:04:30.285Z", "evidence_record": { - "cell": "suite:pow", - "manifest_sha": "b24dfc162", - "coverage": { - "POW-02": "partial: program derivation, ds55 geometry, the v6 fold, the packs and the spec read-back tests; the independent re-implementation and the index-fold census are the hash lane's harnesses", - "POW-08": "partial: the freeze list and the generator version pin; the public-claim scrub is the site gate's", - "POW-07": "the mixed FP32 branch is excluded and unreachable: no class flag reaches an FP op in igneum-pow on master (the mixedfp lane's branch is not on master); evidence the grep of the emitters on master, recorded by the hash lane" - }, - "at": "2026-10-08T19:59:34.316Z", - "method": "native", "requirement_id": "POW-08", - "decision": "NOT RUN", - "reviewer": "", - "claim_impact": "", + "decision": "PASS", + "method": "native", + "cell": "suite:pow", + "manifest_sha": "1a938abe4", + "run_id": "hash-lane-20261008-batch3", + "evidence": "docs/analysis/class-v6/rows/pairing-20261008.md", + "in_progress": false, + "coverage": "partial: the freeze list and the generator version pin; the public-claim scrub is the site gate's", "release_identity": { - "commit": "b24dfc162", + "commit": "1a938abe4", "lockfile": "", "binary": "", "network_object": "", "activation": "", "profile_hashes": "" - } + }, + "claim_impact": "", + "reviewer": "", + "at": "2026-10-08T21:04:30.285Z" }, - "in_progress_since": "2026-10-08T19:59:34.316Z", "approvals": { "scope_approved": null, "implementation_complete": null, @@ -2061,30 +2081,26 @@ }, "evidence_records": { "suite:pow": { - "cell": "suite:pow", - "manifest_sha": "b24dfc162", - "coverage": { - "POW-02": "partial: program derivation, ds55 geometry, the v6 fold, the packs and the spec read-back tests; the independent re-implementation and the index-fold census are the hash lane's harnesses", - "POW-08": "partial: the freeze list and the generator version pin; the public-claim scrub is the site gate's", - "POW-07": "the mixed FP32 branch is excluded and unreachable: no class flag reaches an FP op in igneum-pow on master (the mixedfp lane's branch is not on master); evidence the grep of the emitters on master, recorded by the hash lane" - }, - "at": "2026-10-08T19:59:34.316Z", - "method": "native", "requirement_id": "POW-08", - "decision": "NOT RUN", - "reviewer": "", - "claim_impact": "", + "decision": "PASS", + "method": "native", + "cell": "suite:pow", + "manifest_sha": "1a938abe4", + "run_id": "hash-lane-20261008-batch3", + "evidence": "docs/analysis/class-v6/rows/pairing-20261008.md", + "in_progress": false, + "coverage": "partial: the freeze list and the generator version pin; the public-claim scrub is the site gate's", "release_identity": { - "commit": "b24dfc162", + "commit": "1a938abe4", "lockfile": "", "binary": "", "network_object": "", "activation": "", "profile_hashes": "" }, - "run_id": "hash-lane-20261008-batch2", - "evidence": "docs/analysis/class-v6/rows/pow-07-fp32-unreachable.md", - "in_progress": true + "claim_impact": "", + "reviewer": "", + "at": "2026-10-08T21:04:30.285Z" } } } diff --git a/tools/ci/batches/hash-lane-20261008-batch3.json b/tools/ci/batches/hash-lane-20261008-batch3.json new file mode 100644 index 000000000..8f1e528be --- /dev/null +++ b/tools/ci/batches/hash-lane-20261008-batch3.json @@ -0,0 +1,19 @@ +{ + "run_id": "hash-lane-20261008-batch3", + "manifest_sha": "1a938abe4", + "evidence_dir": "docs/analysis/class-v6/rows", + "cells": [ + { + "cell": "harness:p01-vectors", + "status": "PASS", + "method": "native", + "evidence": "docs/analysis/class-v6/rows/pairing-20261008.md" + }, + { + "cell": "suite:pow", + "status": "PASS", + "method": "native", + "evidence": "docs/analysis/class-v6/rows/pairing-20261008.md" + } + ] +} From f0d830b22157c8b7798929a288f5ff70a825713b Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 21:10:47 +0000 Subject: [PATCH 3/7] The host-format guard's test: a held pin still loads (id and verify work); the format check names the source commit Co-Authored-By: Claude Fable 5.1 --- proving/igneum-prove/host/src/pinned.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/proving/igneum-prove/host/src/pinned.rs b/proving/igneum-prove/host/src/pinned.rs index 12f965ce1..12f798d0b 100644 --- a/proving/igneum-prove/host/src/pinned.rs +++ b/proving/igneum-prove/host/src/pinned.rs @@ -274,11 +274,16 @@ mod tests { } m.guest_input_format = Some(igneum_prove_core::shard::GUEST_INPUT_FORMAT); m.check_input_format(igneum_prove_core::shard::GUEST_INPUT_FORMAT).unwrap(); - // the embedded manifest itself: either it names this code's format or the host refuses to load + // the embedded manifest itself: Pinned::load still answers (id and the verify modes work on a held pin), and the + // input-format check either passes or names the source commit the prover is built from let embedded = Manifest::embedded().unwrap(); - match Pinned::load() { - Ok(_) => assert_eq!(embedded.input_format(), igneum_prove_core::shard::GUEST_INPUT_FORMAT), - Err(e) => assert!(e.to_string().contains("guest input format"), "{e}"), + Pinned::load().unwrap(); + match embedded.check_input_format(igneum_prove_core::shard::GUEST_INPUT_FORMAT) { + Ok(()) => assert_eq!(embedded.input_format(), igneum_prove_core::shard::GUEST_INPUT_FORMAT), + Err(e) => { + assert!(e.to_string().contains("guest input format"), "{e}"); + assert!(embedded.source_commit.is_some(), "a held pin names the source commit its prover is built from"); + } } } From b18b33f6ce0e557efd20849702966c343c6fd45d Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 21:11:55 +0000 Subject: [PATCH 4/7] build-remote's worktree lock: a waiter on the same Mac takes over a lock whose holder pid is dead (the dead-holder class: a build-remote killed by its pid never ran its EXIT trap and the box kept the lock for the 3 h rule; the fix node's build-7 chain waited an hour, 21:11 to 22:11 UK) Co-Authored-By: Claude Fable 5.1 --- infra/build-server/lib.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/infra/build-server/lib.sh b/infra/build-server/lib.sh index 25928427b..57a407b29 100755 --- a/infra/build-server/lib.sh +++ b/infra/build-server/lib.sh @@ -286,9 +286,16 @@ bs_wt_lock() { local d="$BS_ROOT_REMOTE/_locks/wt-$BS_WT" t0 holder t0=$(date +%s) while :; do - if bs_ssh "mkdir '$d' 2>/dev/null && printf 'pid %s since %sZ: %s\n' '$$' \"\$(date -u +%H:%M:%S)\" '${BS_TOOL:-build} $BS_CRATE_REL' > '$d/holder'"; then BS_WT_LOCKED="$d"; trap 'bs_wt_unlock' EXIT; return 0; fi + if bs_ssh "mkdir '$d' 2>/dev/null && printf 'pid %s host %s since %sZ: %s\n' '$$' '$(hostname -s)' \"\$(date -u +%H:%M:%S)\" '${BS_TOOL:-build} $BS_CRATE_REL' > '$d/holder'"; then BS_WT_LOCKED="$d"; trap 'bs_wt_unlock' EXIT; return 0; fi holder=$(bs_ssh "cat '$d/holder' 2>/dev/null; find '$d' -maxdepth 0 -mmin +180 -print 2>/dev/null | grep -q . && echo STALE" 2>/dev/null || true) case "$holder" in *STALE*) bs_log "worktree lock $d is older than 3 h; taking it over"; bs_ssh "rm -rf '$d'"; continue ;; esac + # the dead-holder class (8 October 2026, 21:11 to 22:11 UK): a build-remote killed by its pid never runs its EXIT trap, so the + # box kept its lock for the 3 h rule and the next run on that worktree waited an hour. The holder line names the Mac and + # the pid; a waiter on the same Mac whose pid is dead takes the lock over at once and says so. + case "$holder" in + "pid "*" host $(hostname -s) since "*) local hp; hp=$(printf '%s' "$holder" | sed -n 's/^pid \([0-9]*\) host .*/\1/p') + if [ -n "$hp" ] && ! kill -0 "$hp" 2>/dev/null; then bs_log "worktree lock $d held by pid $hp of this Mac, which is dead; taking it over"; bs_ssh "rm -rf '$d'"; continue; fi ;; + esac [ $(( $(date +%s) - t0 )) -lt 7200 ] || bs_die "gave up after 2 h waiting for the worktree lock $d (held: $holder)" [ $(( ($(date +%s) - t0) % 60 )) -lt 10 ] && bs_log "waiting for another run on worktree $BS_WT: ${holder:-?}" sleep 10 From 4a5712879b3fc3f8e662509f1afa4ab9ac281059 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 21:18:56 +0000 Subject: [PATCH 5/7] host-format-guard: the duplicate gate check withdrawn (the steward's tools/ci/guest-format-check.sh landed for the class, 5e9497e7e); the host guard, the manifest provenance and the lock takeover stay Co-Authored-By: Claude Fable 5.1 --- tools/ci/checks.txt | 1 - tools/ci/guest-format-pin-check.sh | 35 ------------------------------ tools/ci/pre-push.sh | 1 - 3 files changed, 37 deletions(-) delete mode 100755 tools/ci/guest-format-pin-check.sh diff --git a/tools/ci/checks.txt b/tools/ci/checks.txt index 488e34679..055e68453 100644 --- a/tools/ci/checks.txt +++ b/tools/ci/checks.txt @@ -75,7 +75,6 @@ the test map: every automated case of the registry maps to a cell or carries a N the harness map page is generated from tools/ci/test-map.json and current P01 part A, the million-vector driver: a clean run is PASS, one wrong hash or one unanswered nonce is FAIL naming it (self-test, a fake worker) the proving outcome ledger (review B F08): every claimed job ends in one outcome; the report's self-test reads a log and a state file to known numbers -the host's guest input format matches the pinned pair's, or the manifest names the pair's source commit and the host refuses to build inputs for it (the host-format class, 8 October 2026; self-test first) the fleet prover's task protection (V6-08): the backpressure gate, task sizing, shard ordering, preflight verdicts and the flow identity on known-failed-first cases the registry's evidence rules: a PASS names evidence that exists, a touched evidence file moves with its row, stale evidence never reads PASS, a run_status needs the approval (self-test) the kit ISA check: a distribution kit's binaries carry no AVX-512 encoding (the x86-64-v3 baseline; self-test with a fake objdump) diff --git a/tools/ci/guest-format-pin-check.sh b/tools/ci/guest-format-pin-check.sh deleted file mode 100755 index 2cfa80b06..000000000 --- a/tools/ci/guest-format-pin-check.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash -# The host-format class (8 October 2026, 22:0x UK, the V6-07 sub-lane's measurement): a host built from master wrote guest -# input format 3 while master's pinned guests read format 1 (the 5 October pair), so every proof attempt read "public values -# are 0 bytes" on a 3060 and a 4060. Rule: the code's GUEST_INPUT_FORMAT (proving/igneum-prove/core/src/shard.rs) equals the -# pinned manifest's guest_input_format (absent = 1), OR the manifest names the source_commit the pair was built from (the -# held state: the host of this tree refuses to build inputs for the pair at start, and the kit's prover is built from that -# source commit, never from this tree). Red: a mismatch with no source_commit, which is a pair nobody can build a prover for. -# tools/ci/guest-format-pin-check.sh the tree's state -# tools/ci/guest-format-pin-check.sh --self-test a matching pair passes; a mismatch with a source commit passes as held; -# a mismatch without one is red and named -set -euo pipefail -ROOT="$(cd "$(dirname "$0")/../.." && pwd)" -code_format() { grep -oE 'pub const GUEST_INPUT_FORMAT: u32 = [0-9]+' "$1/proving/igneum-prove/core/src/shard.rs" 2>/dev/null | grep -oE '[0-9]+$' || echo 1; } -manifest_format() { python3 -c "import json,sys; m=json.load(open(sys.argv[1])); print(m.get('guest_input_format', 1))" "$1/proving/igneum-prove/elf/manifest.json"; } -source_commit() { python3 -c "import json,sys; m=json.load(open(sys.argv[1])); print(m.get('source_commit') or '')" "$1/proving/igneum-prove/elf/manifest.json"; } -check() { - local tree="$1" code pinned src - code=$(code_format "$tree"); pinned=$(manifest_format "$tree"); src=$(source_commit "$tree") - if [ "$code" = "$pinned" ]; then echo "guest-format-pin: the code writes format $code and the pinned pair reads $pinned"; return 0; fi - if [ -n "$src" ]; then echo "guest-format-pin: HELD: the code writes format $code, the pinned pair reads $pinned; the host refuses to build inputs for it and the kit's prover is built from source_commit $src"; return 0; fi - echo "guest-format-pin: the code writes guest input format $code but the pinned pair reads $pinned and the manifest names no source_commit: nobody can build a prover for this pair (pin with the code: proving/igneum-prove/pin-guests.sh, or name the pair's source_commit in the manifest)" - return 1 -} -if [ "${1:-}" = "--self-test" ]; then - t=$(mktemp -d); mkdir -p "$t/proving/igneum-prove/core/src" "$t/proving/igneum-prove/elf" - echo 'pub const GUEST_INPUT_FORMAT: u32 = 3;' > "$t/proving/igneum-prove/core/src/shard.rs" - echo '{"guest_input_format": 3}' > "$t/proving/igneum-prove/elf/manifest.json" - check "$t" >/dev/null || { echo "self-test failed: a matching pair was refused"; exit 1; } - echo '{"guest_input_format": 1, "source_commit": "15bb6cdd4"}' > "$t/proving/igneum-prove/elf/manifest.json" - check "$t" >/dev/null || { echo "self-test failed: the held state with a source commit was refused"; exit 1; } - echo '{"shard": {}}' > "$t/proving/igneum-prove/elf/manifest.json" - if check "$t" >/dev/null; then echo "self-test failed: format 3 against a format-1 pin with no source commit passed"; exit 1; fi - rm -rf "$t"; echo "guest-format-pin self-test: a matching pair passes, the held state with a source commit passes, a mismatch without one is red and named"; exit 0 -fi -check "$ROOT" diff --git a/tools/ci/pre-push.sh b/tools/ci/pre-push.sh index 6ecbf3faa..88b019638 100755 --- a/tools/ci/pre-push.sh +++ b/tools/ci/pre-push.sh @@ -174,7 +174,6 @@ tree_checks() { run "the harness map page is generated from tools/ci/test-map.json and current" node tools/ci/test-map-doc.mjs --check run "P01 part A, the million-vector driver: a clean run is PASS, one wrong hash or one unanswered nonce is FAIL naming it (self-test, a fake worker)" python3 tools/ci/p01-vectors.py --self-test run "the proving outcome ledger (review B F08): every claimed job ends in one outcome; the report's self-test reads a log and a state file to known numbers" python3 tools/fleet/prover-outcomes.py --self-test - run "the host's guest input format matches the pinned pair's, or the manifest names the pair's source commit and the host refuses to build inputs for it (the host-format class, 8 October 2026; self-test first)" bash -c 'bash tools/ci/guest-format-pin-check.sh --self-test && bash tools/ci/guest-format-pin-check.sh' run "the fleet prover's task protection (V6-08): the backpressure gate, task sizing, shard ordering, preflight verdicts and the flow identity on known-failed-first cases" python3 tools/fleet/box-prover.py --self-test run "the registry's evidence rules: a PASS names evidence that exists, a touched evidence file moves with its row, stale evidence never reads PASS, a run_status needs the approval (self-test)" bash tools/ci/registry-evidence-check.sh --self-test run "the kit ISA check: a distribution kit's binaries carry no AVX-512 encoding (the x86-64-v3 baseline; self-test with a fake objdump)" bash tools/ci/kit-isa-check.sh --self-test From a36bb38bd9926fe46ade0b3928fa501b48990429 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 21:23:10 +0000 Subject: [PATCH 6/7] Class v6 census: the chain-seed draw 2a1d6caab4c24564 on the frozen object (the engine's pair: seed af89be5d, era genesis, day 20730, node1 state) through the (c''') rule and the attempts census, PASS; the block-hash-era draw beside it as the comparison; registry run census-v6-chainseed-20261008-2230 Co-Authored-By: Claude Fable 5.1 --- .../rows/chainseed-census-1a938abe4.md | 10 + .../cs-era-block/census.tsv | 259 ++++++++++++++++++ .../cs-era-block/run.txt | 1 + .../cs-era-block/show.txt | 67 +++++ .../cs-era-block/sitestats.tsv | 20 ++ .../cs-era-genesis/census.tsv | 259 ++++++++++++++++++ .../cs-era-genesis/run.txt | 1 + .../cs-era-genesis/show.txt | 67 +++++ .../cs-era-genesis/sitestats.tsv | 20 ++ docs/plans/igneum-2.0-test-registry.json | 18 +- .../census-v6-chainseed-20261008-2230.json | 6 + 11 files changed, 719 insertions(+), 9 deletions(-) create mode 100644 docs/analysis/class-v6/rows/chainseed-census-1a938abe4.md create mode 100644 docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/census.tsv create mode 100644 docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/run.txt create mode 100644 docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/show.txt create mode 100644 docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/sitestats.tsv create mode 100644 docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/census.tsv create mode 100644 docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/run.txt create mode 100644 docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/show.txt create mode 100644 docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/sitestats.tsv create mode 100644 tools/ci/batches/census-v6-chainseed-20261008-2230.json diff --git a/docs/analysis/class-v6/rows/chainseed-census-1a938abe4.md b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4.md new file mode 100644 index 000000000..b938f30c3 --- /dev/null +++ b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4.md @@ -0,0 +1,10 @@ +# The chain-seed draw on the frozen object: the freeze's (c''') read (8 October 2026, 21:5x to 22:3x UK) + +The coordinator's blocking read: the research pack hl-v6-all (4de7b836cc40a4ea) was drawn with the genesis epoch seed over the node1 state stream, a pair the node's class v5 pairing check refuses; on the chain's own seed the engine draws another program. The node lane read the live devnet-4 node's program-id line verbatim at 21:41:51 UK: epoch seed af89be5ddbadb6f6b4aee28ac8f249713be5d4c12621e3cea7f83ceada3c66b3 (the block hash), era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 (the era seed stays the genesis hex), day 20730 (day hex 69676e65756d2d6461792ffa50000000000000), the node1 state (block 159357, root 1c583d35..., file sha abb58003...), class mx8+sh256x27+state+reg64c+fold+rw, generator 6, attempt 0: program **2a1d6caab4c24564**. The harness on the frozen tree 1a938abe4 (class-v6-census-all4 bdbe85bfb, binary f4e93766d5a3dc46 on build-4) reproduces that id from those inputs on the class-string path; the second column is the draw with the block hash as the era too (442a1691b3e3507f, era label 93a14ac6), which an earlier line named and the node lane's read ruled out; it is kept as the research comparison. Both rows on build-4 under the lease pool at 21:5x UK, the sitestats and census TSVs beside this file. + +| Draw | Program (class) | The pair | (A) the whole rule with the (c''') floor on the program; per site over 2^20 evaluations | (B) the attempts census, 256 chain-shaped seeds under the pair's era and state | +|---|---|---|---|---| +| **the engine's draw (the freeze's read)** | 2a1d6caab4c24564 (mx8-erad810f22d+sh256x27+state+reg64c+fold+rw) | seed af89be5d..., era 0:edc4fa84..., day 20730, node1 state | ACCEPTED; min site ratio 0.99988, under 0.98: 0, under 0.995: 0; largest bucket +6.25 sigma; worst free bit -3.06 sigma; sites over 6 sigma 0 | 256 of 256, 0 exhausted at 256, r 0.129, mean attempt 0.15, max 2, (c''') refused 0 of 294; parts a' 23 b 7 a 4 reg64 3 c 1 | +| the research comparison | 442a1691b3e3507f (mx8-era93a14ac6+sh256x27+state+reg64c+fold+rw) | seed af89be5d..., era 0:af89be5d..., day 20730, node1 state | ACCEPTED; min site ratio 0.99992, under 0.98: 0, under 0.995: 0; largest bucket +5.25 sigma; worst free bit 2.91 sigma; sites over 6 sigma 0 | 256 of 256, 0 exhausted at 256, r 0.129, mean attempt 0.15, max 2, (c''') refused 0 of 294; parts a' 23 b 7 a 4 reg64 3 c 1 | + +Verdict: the engine's draw 2a1d6caab4c24564 PASSES the sub-version 3 rule with the (c''') floor (every site clear of 0.98 and 0.995 at 0.99988, the largest 256-item bucket +6.25 sigma on one site, which the rule does not bound and the record's clean full-window sites read to +5.5, the worst free index bit 3.06 sigma, no site over 6 sigma) and the attempts census (256 of 256 chain-shaped seeds accepted inside two attempts, 0 exhausted, 0 (c''') refusals: the same 294 candidates and parts as the research pack's, since the census draws its own seeds under the pair's era and state). The research comparison reads the same on every line but the bucket (+5.25). The freeze's object on the chain's own seed is sound under the rule; the research pack's rows (census-packs.md section 7) are the same class on the genesis seed. diff --git a/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/census.tsv b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/census.tsv new file mode 100644 index 000000000..d6b25709f --- /dev/null +++ b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/census.tsv @@ -0,0 +1,259 @@ +# census class mx8+sh256x27+state+reg64c+fold+rw eras [0] seeds 256 era-widths 4 state /srv/builds/v6-census/packs/node1-state.igsd1 erahex af89be5ddbadb6f6b4aee28ac8f249713be5d4c12621e3cea7f83ceada3c66b3 weights base bittest off bin f4e93766d5a3dc46 start 2026-10-08T20:50:59Z host igneum-build-4 threads 16 +cand era seed candidates accepted attempt bit_z bit_site bit_bit reasons +census 0 8 1 1 0 nan - - +census 0 5 1 1 0 3.3 3 21 +census 0 4 1 1 0 3.4 5 23 +census 0 10 1 1 0 nan - - +census 0 12 1 1 0 3.2 1 23 +census 0 9 1 1 0 3.3 10 22 +census 0 7 1 1 0 2.8 12 25 +census 0 3 1 1 0 2.8 0 24 +census 0 0 1 1 0 nan - - +census 0 14 1 1 0 nan - - +census 0 11 1 1 0 2.6 5 22 +census 0 2 1 1 0 2.9 13 1 +census 0 13 1 1 0 3.1 0 20 +census 0 15 1 1 0 3.3 5 21 +census 0 6 1 1 0 nan - - +census 0 1 1 1 0 nan - - +census 0 20 1 1 0 nan - - +census 0 17 1 1 0 2.7 1 26 +census 0 25 2 1 1 nan - - a=1; +census 0 23 1 1 0 nan - - +census 0 18 1 1 0 3.8 12 7 +census 0 24 1 1 0 2.8 14 19 +census 0 19 1 1 0 3.0 10 17 +census 0 27 1 1 0 nan - - +census 0 16 1 1 0 nan - - +census 0 28 1 1 0 nan - - +census 0 22 1 1 0 nan - - +census 0 29 1 1 0 3.1 9 18 +census 0 26 1 1 0 3.3 1 7 +census 0 30 1 1 0 2.6 3 7 +census 0 21 2 1 1 3.0 4 26 reg64=1; +census 0 31 2 1 1 nan - - b=1; +census 0 37 1 1 0 3.4 8 10 +census 0 34 1 1 0 nan - - +census 0 32 1 1 0 nan - - +census 0 35 1 1 0 3.3 15 16 +census 0 36 2 1 1 2.9 14 6 b=1; +census 0 38 1 1 0 3.1 7 13 +census 0 33 1 1 0 3.3 0 6 +census 0 39 1 1 0 nan - - +census 0 43 1 1 0 nan - - +census 0 41 1 1 0 nan - - +census 0 45 1 1 0 nan - - +census 0 42 2 1 1 nan - - a'=1; +census 0 46 1 1 0 nan - - +census 0 44 2 1 1 3.0 1 1 a'=1; +census 0 47 1 1 0 nan - - +census 0 40 1 1 0 2.6 13 22 +census 0 52 1 1 0 nan - - +census 0 50 1 1 0 nan - - +census 0 49 1 1 0 2.8 6 1 +census 0 48 1 1 0 2.9 5 2 +census 0 55 1 1 0 3.4 8 9 +census 0 53 2 1 1 3.4 11 21 b=1; +census 0 54 1 1 0 3.4 3 2 +census 0 56 2 1 1 nan - - a'=1; +census 0 51 2 1 1 3.5 15 3 reg64=1; +census 0 60 1 1 0 nan - - +census 0 58 1 1 0 nan - - +census 0 57 1 1 0 nan - - +census 0 61 1 1 0 nan - - +census 0 59 1 1 0 3.0 3 16 +census 0 62 1 1 0 nan - - +census 0 64 1 1 0 2.9 12 26 +census 0 63 1 1 0 3.5 0 19 +census 0 66 1 1 0 3.0 15 8 +census 0 67 2 1 1 4.0 1 2 a=1; +census 0 68 1 1 0 3.0 11 7 +census 0 69 1 1 0 nan - - +census 0 70 1 1 0 3.3 6 6 +census 0 72 1 1 0 3.2 11 5 +census 0 76 1 1 0 nan - - +census 0 74 1 1 0 2.9 8 21 +census 0 71 2 1 1 nan - - a=1; +census 0 75 1 1 0 nan - - +census 0 65 1 1 0 nan - - +census 0 77 1 1 0 3.2 6 14 +census 0 78 1 1 0 3.5 3 25 +census 0 73 1 1 0 nan - - +census 0 80 2 1 1 nan - - a'=1; +census 0 81 1 1 0 nan - - +census 0 79 1 1 0 3.4 13 24 +census 0 82 1 1 0 3.8 8 0 +census 0 83 1 1 0 3.3 3 24 +census 0 84 1 1 0 nan - - +census 0 85 1 1 0 3.4 4 25 +census 0 86 1 1 0 nan - - +census 0 88 1 1 0 nan - - +census 0 87 2 1 1 nan - - a'=1; +census 0 91 1 1 0 2.7 1 23 +census 0 89 1 1 0 nan - - +census 0 92 1 1 0 3.2 3 10 +census 0 90 2 1 1 3.1 7 8 b=1; +census 0 94 1 1 0 3.5 1 15 +census 0 93 1 1 0 nan - - +census 0 95 2 1 1 2.9 4 7 a'=1; +census 0 97 1 1 0 3.2 6 10 +census 0 96 1 1 0 3.6 1 26 +census 0 99 1 1 0 3.3 1 23 +census 0 101 1 1 0 nan - - +census 0 103 1 1 0 nan - - +census 0 104 1 1 0 nan - - +census 0 102 1 1 0 2.9 3 14 +census 0 98 1 1 0 nan - - +census 0 100 1 1 0 3.9 10 2 +census 0 105 1 1 0 nan - - +census 0 106 1 1 0 nan - - +census 0 107 1 1 0 3.0 15 10 +census 0 108 1 1 0 2.8 9 25 +census 0 109 1 1 0 nan - - +census 0 113 1 1 0 nan - - +census 0 112 1 1 0 nan - - +census 0 111 1 1 0 3.3 13 8 +census 0 110 1 1 0 3.2 9 11 +census 0 114 1 1 0 nan - - +census 0 115 2 1 1 nan - - b=1; +census 0 116 1 1 0 3.4 12 10 +census 0 118 1 1 0 3.0 4 20 +census 0 117 1 1 0 nan - - +census 0 120 1 1 0 3.0 11 0 +census 0 119 1 1 0 nan - - +census 0 121 1 1 0 3.0 3 5 +census 0 122 1 1 0 2.8 0 12 +census 0 126 1 1 0 3.0 0 19 +census 0 127 2 1 1 nan - - a=1; +census 0 128 1 1 0 3.4 5 6 +census 0 129 2 1 1 2.9 11 22 a'=1; +census 0 124 1 1 0 nan - - +census 0 130 1 1 0 nan - - +census 0 131 1 1 0 nan - - +census 0 132 1 1 0 nan - - +census 0 133 1 1 0 nan - - +census 0 123 1 1 0 3.4 13 21 +census 0 134 1 1 0 3.3 3 12 +census 0 125 2 1 1 3.3 14 6 b=1; +census 0 135 1 1 0 nan - - +census 0 136 1 1 0 nan - - +census 0 137 1 1 0 nan - - +census 0 138 1 1 0 3.0 5 13 +census 0 140 2 1 1 nan - - a'=1; +census 0 143 1 1 0 nan - - +census 0 141 1 1 0 3.3 9 23 +census 0 139 1 1 0 nan - - +census 0 142 2 1 1 2.8 10 22 a'=1; +census 0 144 1 1 0 nan - - +census 0 145 1 1 0 3.4 2 23 +census 0 147 1 1 0 3.2 2 16 +census 0 146 1 1 0 3.4 1 5 +census 0 151 1 1 0 2.5 2 6 +census 0 150 1 1 0 3.9 14 11 +census 0 148 1 1 0 nan - - +census 0 152 1 1 0 2.7 9 4 +census 0 153 1 1 0 3.0 13 13 +census 0 154 2 1 1 nan - - a'=1; +census 0 155 1 1 0 nan - - +census 0 157 1 1 0 nan - - +census 0 158 1 1 0 nan - - +census 0 159 1 1 0 3.8 15 23 +census 0 156 1 1 0 3.4 1 25 +census 0 149 1 1 0 nan - - +census 0 160 1 1 0 nan - - +census 0 162 1 1 0 2.5 13 15 +census 0 163 2 1 1 3.4 1 20 a'=1; +census 0 166 1 1 0 nan - - +census 0 165 1 1 0 nan - - +census 0 164 1 1 0 nan - - +census 0 167 3 1 2 nan - - a'=2; +census 0 168 1 1 0 2.6 7 10 +census 0 170 1 1 0 3.3 14 2 +census 0 173 3 1 2 2.7 9 6 a'=2; +census 0 171 1 1 0 3.4 3 1 +census 0 172 2 1 1 3.5 3 1 a'=1; +census 0 161 1 1 0 nan - - +census 0 174 1 1 0 nan - - +census 0 175 1 1 0 nan - - +census 0 176 1 1 0 nan - - +census 0 169 2 1 1 nan - - a'=1; +census 0 177 1 1 0 nan - - +census 0 180 1 1 0 nan - - +census 0 178 1 1 0 nan - - +census 0 179 1 1 0 nan - - +census 0 182 1 1 0 3.1 14 3 +census 0 183 1 1 0 nan - - +census 0 181 1 1 0 3.4 15 23 +census 0 184 2 1 1 3.5 12 10 a'=1; +census 0 186 2 1 1 2.8 4 24 a'=1; +census 0 187 1 1 0 nan - - +census 0 185 1 1 0 nan - - +census 0 189 1 1 0 2.8 14 12 +census 0 190 2 1 1 nan - - a'=1; +census 0 192 1 1 0 nan - - +census 0 193 1 1 0 2.8 4 4 +census 0 195 1 1 0 nan - - +census 0 194 1 1 0 nan - - +census 0 196 1 1 0 3.3 14 19 +census 0 191 1 1 0 nan - - +census 0 188 1 1 0 3.5 15 15 +census 0 197 1 1 0 2.8 7 0 +census 0 198 1 1 0 3.0 12 9 +census 0 200 1 1 0 2.8 11 1 +census 0 199 1 1 0 nan - - +census 0 202 1 1 0 2.6 8 0 +census 0 201 1 1 0 3.2 3 25 +census 0 203 1 1 0 nan - - +census 0 204 1 1 0 nan - - +census 0 205 1 1 0 2.6 5 0 +census 0 207 1 1 0 nan - - +census 0 206 2 1 1 3.2 12 25 a'=1; +census 0 208 1 1 0 2.5 8 3 +census 0 209 1 1 0 3.2 5 17 +census 0 210 1 1 0 2.8 9 18 +census 0 211 1 1 0 nan - - +census 0 212 1 1 0 nan - - +census 0 213 1 1 0 3.1 9 6 +census 0 215 1 1 0 nan - - +census 0 216 1 1 0 nan - - +census 0 218 2 1 1 3.3 8 1 a'=1; +census 0 219 1 1 0 nan - - +census 0 220 1 1 0 nan - - +census 0 217 1 1 0 3.4 5 11 +census 0 221 1 1 0 nan - - +census 0 222 1 1 0 nan - - +census 0 214 1 1 0 3.3 5 21 +census 0 223 1 1 0 nan - - +census 0 225 1 1 0 2.8 0 15 +census 0 224 1 1 0 3.3 3 4 +census 0 226 1 1 0 3.1 7 16 +census 0 228 1 1 0 nan - - +census 0 229 1 1 0 nan - - +census 0 227 1 1 0 3.5 12 25 +census 0 234 1 1 0 nan - - +census 0 232 1 1 0 nan - - +census 0 235 1 1 0 nan - - +census 0 237 1 1 0 nan - - +census 0 236 1 1 0 3.1 0 18 +census 0 238 1 1 0 3.2 15 3 +census 0 239 1 1 0 nan - - +census 0 230 1 1 0 3.5 4 0 +census 0 240 2 1 1 nan - - b=1; +census 0 233 2 1 1 2.9 11 20 c=1; +census 0 241 1 1 0 3.2 7 17 +census 0 243 1 1 0 3.1 10 18 +census 0 242 1 1 0 nan - - +census 0 231 1 1 0 nan - - +census 0 245 1 1 0 nan - - +census 0 247 1 1 0 2.8 1 4 +census 0 246 2 1 1 2.8 10 23 a'=1; +census 0 244 2 1 1 nan - - reg64=1; +census 0 248 1 1 0 2.7 11 8 +census 0 249 1 1 0 3.4 15 15 +census 0 251 1 1 0 nan - - +census 0 250 1 1 0 3.4 15 24 +census 0 252 1 1 0 3.2 7 18 +census 0 253 1 1 0 3.4 6 10 +census 0 254 1 1 0 3.7 10 20 +census 0 255 1 1 0 3.1 8 20 +# end 2026-10-08T20:52:19Z rows=257 diff --git a/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/run.txt b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/run.txt new file mode 100644 index 000000000..036bd1dda --- /dev/null +++ b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/run.txt @@ -0,0 +1 @@ +# pack cs-era-block class mx8+sh256x27+state+reg64c+fold+rw epoch af89be5ddbadb6f6b4aee28ac8f249713be5d4c12621e3cea7f83ceada3c66b3 day 69676e65756d2d6461792ffa50000000000000 era af89be5ddbadb6f6b4aee28ac8f249713be5d4c12621e3cea7f83ceada3c66b3 state /srv/builds/v6-census/packs/node1-state.igsd1 day-index 20730 era-widths 4 bin f4e93766d5a3dc46 f8 host igneum-build-4 start 2026-10-08T20:50:55Z diff --git a/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/show.txt b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/show.txt new file mode 100644 index 000000000..237f07aa7 --- /dev/null +++ b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/show.txt @@ -0,0 +1,67 @@ +seed "igneum-epoch/af89be5ddbadb6f6b4aee28ac8f249713be5d4c12621e3cea7f83ceada3c66b3" generator v6 class mx8-era93a14ac6+sh256x27+state+reg64c+fold+rw attempt 0 program id 442a1691b3e3507f seed words 9c8caa3d 83537296 f21169a4 12d4d157 66e0ce33 cc049080 8579c352 4c6e4ac9 +op mix load=16 add=10 shfl=8 rotl=5 rotr=5 xor=5 mad=4 mul=4 sub=4 mulhi=3 loads/hash 128 bytes/hash 512 +era 93a14ac6 (igneum-era/0/af89be5ddbadb6f6b4aee28ac8f249713be5d4c12621e3cea7f83ceada3c66b3): width 4 B, stride mul 0x5ea34e0b rot 12, interleave [10, 11, 13, 14], windows (site:shrink:offset) 1:0:0 15:1:0 27:2:1 28:0:0 30:1:1 32:1:0 33:2:3 42:0:0 48:1:0 52:0:0 55:2:2 56:0:0 58:1:1 59:0:0 60:1:0 62:1:0 + 0: mad dst=7 src=3 src2=3 imm=0xd095f540 imm2=0xd3789b38 rot=19 bit=4 mask=4 + 1: load dst=1 src=7 src2=5 imm=0x390bbbd7 imm2=0x1b44071a rot=5 bit=13 mask=16 + 2: rotl dst=0 src=6 src2=7 imm=0xcd1e3e94 imm2=0xf0479df0 rot=29 bit=10 mask=2 + 3: shfl dst=5 src=6 src2=4 imm=0x78c099f8 imm2=0xc6d6c6bc rot=25 bit=21 mask=1 + 4: mulhi dst=5 src=3 src2=1 imm=0x2e8aa8d1 imm2=0x446c336a rot=23 bit=31 mask=16 + 5: rotl dst=7 src=1 src2=0 imm=0x46701a4a imm2=0xc2255717 rot=27 bit=20 mask=8 + 6: mad dst=4 src=2 src2=0 imm=0x487da55c imm2=0xf4675ef7 rot=26 bit=1 mask=8 + 7: rotl dst=2 src=6 src2=4 imm=0x74fdbac4 imm2=0x30e49db4 rot=11 bit=9 mask=16 + 8: mul dst=6 src=0 src2=4 imm=0x69e895ee imm2=0x66ebcedd rot=24 bit=11 mask=16 + 9: shfl dst=6 src=1 src2=7 imm=0x1510cbd0 imm2=0x607acada rot=4 bit=3 mask=2 +10: add dst=0 src=2 src2=2 imm=0x33a68b0c imm2=0xffb7f024 rot=27 bit=1 mask=4 +11: xor dst=0 src=2 src2=4 imm=0x61b96f54 imm2=0x7d5468b0 rot=30 bit=28 mask=8 +12: sub dst=7 src=4 src2=1 imm=0x39217118 imm2=0x248e3f9b rot=29 bit=7 mask=16 +13: shfl dst=1 src=4 src2=2 imm=0x6c12c43b imm2=0x6b60595d rot=20 bit=23 mask=8 +14: xor dst=1 src=0 src2=0 imm=0x030181c6 imm2=0x52fbbc27 rot=1 bit=28 mask=4 +15: load dst=5 src=0 src2=2 imm=0x5b20e3f6 imm2=0xa84ab3b3 rot=24 bit=31 mask=8 +16: xor dst=5 src=4 src2=4 imm=0x6fc104e8 imm2=0x1a522a5c rot=27 bit=8 mask=8 +17: shfl dst=6 src=7 src2=6 imm=0x5f5b071a imm2=0x39dc91da rot=16 bit=6 mask=16 +18: rotr dst=2 src=7 src2=0 imm=0x07b3a28c imm2=0x33193f0c rot=18 bit=3 mask=1 +19: add dst=4 src=1 src2=5 imm=0x0229d185 imm2=0x51cb8f70 rot=29 bit=26 mask=1 +20: add dst=4 src=7 src2=1 imm=0xc39836f7 imm2=0x0c001b55 rot=8 bit=7 mask=16 +21: add dst=0 src=3 src2=4 imm=0xb7d06b34 imm2=0x1ae7a0ac rot=9 bit=3 mask=4 +22: mad dst=2 src=6 src2=7 imm=0x0978477e imm2=0x2fec3e13 rot=21 bit=3 mask=16 +23: add dst=3 src=5 src2=7 imm=0x95cba5dd imm2=0x22934c58 rot=8 bit=19 mask=2 +24: mulhi dst=5 src=3 src2=0 imm=0x14b79a1b imm2=0xccae3d33 rot=5 bit=15 mask=16 +25: xor dst=0 src=3 src2=7 imm=0x22f74d7f imm2=0x782f1722 rot=18 bit=25 mask=4 +26: mul dst=6 src=3 src2=6 imm=0xf774717f imm2=0x3a1a2c3a rot=28 bit=25 mask=16 +27: load dst=3 src=7 src2=2 imm=0xf0d88d7d imm2=0x0fc8051c rot=14 bit=1 mask=16 +28: load dst=3 src=0 src2=5 imm=0xac8eb588 imm2=0x57844c72 rot=12 bit=8 mask=2 +29: rotr dst=6 src=7 src2=1 imm=0x89b07c78 imm2=0x90c747d7 rot=13 bit=30 mask=1 +30: load dst=1 src=4 src2=7 imm=0xdd34b81d imm2=0x96e5cb94 rot=26 bit=16 mask=1 +31: add dst=1 src=2 src2=3 imm=0x2fa2e27a imm2=0xbf8507da rot=27 bit=5 mask=1 +32: load dst=2 src=1 src2=1 imm=0x4df1d479 imm2=0xea698909 rot=29 bit=12 mask=4 +33: load dst=3 src=2 src2=1 imm=0xaa35122f imm2=0x01516545 rot=12 bit=18 mask=1 +34: mul dst=3 src=5 src2=7 imm=0x6a941ac2 imm2=0xb56c91d9 rot=24 bit=16 mask=1 +35: rotl dst=1 src=6 src2=7 imm=0xe8aa4cfe imm2=0x0d359401 rot=2 bit=3 mask=2 +36: shfl dst=1 src=5 src2=1 imm=0xd090168f imm2=0x3ea71d89 rot=9 bit=3 mask=4 +37: sub dst=0 src=4 src2=1 imm=0xdbda427b imm2=0xd9607488 rot=5 bit=12 mask=2 +38: rotr dst=4 src=2 src2=7 imm=0xe3e3804c imm2=0xccdc9668 rot=27 bit=13 mask=16 +39: mulhi dst=4 src=1 src2=2 imm=0x5d14fe55 imm2=0xb6db1d85 rot=17 bit=18 mask=4 +40: rotr dst=0 src=1 src2=4 imm=0xc77a2d1f imm2=0x5a85c407 rot=10 bit=31 mask=1 +41: add dst=2 src=3 src2=1 imm=0xfe28f51d imm2=0xf439f8e7 rot=5 bit=8 mask=2 +42: load dst=1 src=2 src2=5 imm=0xe1b6fb46 imm2=0x23bb6ba4 rot=29 bit=22 mask=1 +43: xor dst=7 src=5 src2=6 imm=0x34988c9d imm2=0xf8c6c4a8 rot=2 bit=21 mask=8 +44: shfl dst=6 src=2 src2=2 imm=0x14f4d589 imm2=0x868d3c75 rot=29 bit=31 mask=8 +45: mul dst=1 src=4 src2=1 imm=0x081dddbd imm2=0xc8e4de44 rot=23 bit=11 mask=16 +46: rotl dst=0 src=6 src2=2 imm=0xaec2cb92 imm2=0x03157ee4 rot=14 bit=5 mask=16 +47: add dst=1 src=3 src2=7 imm=0xf1719bbd imm2=0x14bb2234 rot=24 bit=7 mask=16 +48: load dst=1 src=6 src2=6 imm=0x30e39813 imm2=0x9ce47150 rot=22 bit=10 mask=1 +49: sub dst=5 src=1 src2=7 imm=0xaabdf6d2 imm2=0x0688a461 rot=13 bit=28 mask=2 +50: add dst=2 src=3 src2=6 imm=0xb129b2b4 imm2=0x4611fe29 rot=3 bit=14 mask=16 +51: sub dst=0 src=2 src2=1 imm=0xfe651d02 imm2=0x7c1929a9 rot=22 bit=31 mask=4 +52: load dst=4 src=0 src2=4 imm=0xf906070a imm2=0xf301cff4 rot=5 bit=25 mask=1 +53: mad dst=3 src=1 src2=4 imm=0xab213c09 imm2=0xf6d6f3fa rot=16 bit=28 mask=1 +54: shfl dst=4 src=1 src2=7 imm=0xf6dafbae imm2=0xdbfc32c7 rot=12 bit=1 mask=16 +55: load dst=6 src=5 src2=5 imm=0x881eaf9c imm2=0x7c50f5c8 rot=25 bit=22 mask=16 +56: load dst=2 src=4 src2=1 imm=0x899bf6e0 imm2=0xbde5b6ee rot=24 bit=10 mask=8 +57: shfl dst=5 src=7 src2=6 imm=0xea9c50d2 imm2=0xd2a8c99b rot=12 bit=28 mask=1 +58: load dst=1 src=5 src2=3 imm=0xad4912ca imm2=0x546d00b2 rot=7 bit=1 mask=1 +59: load dst=2 src=7 src2=1 imm=0x37cea58f imm2=0x13e31ff0 rot=21 bit=21 mask=16 +60: load dst=2 src=1 src2=2 imm=0x33f9a95e imm2=0xda1c8a2e rot=22 bit=28 mask=8 +61: add dst=3 src=2 src2=2 imm=0x0a051d32 imm2=0xe9ed866d rot=30 bit=1 mask=4 +62: load dst=0 src=2 src2=2 imm=0xab1dd54b imm2=0xc9fcaae2 rot=9 bit=2 mask=1 +63: rotr dst=5 src=0 src2=5 imm=0x1f0279bd imm2=0x223e7b9c rot=11 bit=3 mask=16 diff --git a/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/sitestats.tsv b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/sitestats.tsv new file mode 100644 index 000000000..fae6264ea --- /dev/null +++ b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-block/sitestats.tsv @@ -0,0 +1,20 @@ +program id 442a1691b3e3507f class mx8-era93a14ac6+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 +rule: ACCEPTED, distinct 128.000 per hash, saturated 0, bias max 66 +site instr win off width distinct ratio under_c2 under_c3 bucket_ratio bucket_z bucket_id bit_z bit top_count +0 1 0 0 1 1046493 0.99997 0 0 2.250 5.00 43706 -1.72 14 3 +1 15 1 0 1 1044395 0.99992 0 0 1.688 3.89 10447 2.09 18 3 +2 27 2 1 1 1040460 1.00007 0 0 1.531 4.25 21546 2.38 5 3 +3 28 0 0 1 1046585 1.00005 0 0 2.062 4.25 11544 -2.58 22 3 +4 30 1 1 1 1044506 1.00002 0 0 1.844 4.77 41807 2.26 20 3 +5 32 1 0 1 1044487 1.00001 0 0 1.844 4.77 26116 1.91 0 3 +6 33 2 3 1 1040412 1.00003 0 0 1.500 4.00 49321 -1.51 23 3 +7 42 0 0 1 1046488 0.99996 0 0 2.125 4.50 9835 -2.25 0 3 +8 48 1 0 1 1044552 1.00007 0 0 1.812 4.60 17972 -1.87 6 3 +9 52 0 0 1 1046470 0.99994 0 0 2.188 4.75 49022 1.54 17 3 +10 55 2 2 1 1040461 1.00007 0 0 1.500 4.00 35424 1.72 24 3 +11 56 0 0 1 1046571 1.00004 0 0 2.312 5.25 12278 -1.84 2 3 +12 58 1 1 1 1044543 1.00006 0 0 1.750 4.24 33127 -2.12 16 3 +13 59 0 0 1 1046537 1.00001 0 0 2.125 4.50 1374 2.91 3 3 +14 60 1 0 1 1044566 1.00008 0 0 1.812 4.60 5226 -2.44 19 3 +15 62 1 0 1 1044430 0.99995 0 0 1.906 5.13 2829 -1.92 6 3 +summary: sites 16, min ratio 0.99992, under 0.98: 0, under 0.995: 0, bucket z max 5.25, bit z max 2.91, sites over 6 sigma 0, 3.9 s diff --git a/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/census.tsv b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/census.tsv new file mode 100644 index 000000000..964403369 --- /dev/null +++ b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/census.tsv @@ -0,0 +1,259 @@ +# census class mx8+sh256x27+state+reg64c+fold+rw eras [0] seeds 256 era-widths 4 state /srv/builds/v6-census/packs/node1-state.igsd1 erahex edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 weights base bittest off bin f4e93766d5a3dc46 start 2026-10-08T20:50:55Z host igneum-build-4 threads 16 +cand era seed candidates accepted attempt bit_z bit_site bit_bit reasons +census 0 4 1 1 0 2.9 15 4 +census 0 6 1 1 0 nan - - +census 0 14 1 1 0 3.5 12 21 +census 0 5 1 1 0 nan - - +census 0 10 1 1 0 3.0 0 2 +census 0 9 1 1 0 2.8 6 25 +census 0 0 1 1 0 nan - - +census 0 20 1 1 0 3.2 10 7 +census 0 3 1 1 0 2.8 14 3 +census 0 2 1 1 0 3.5 3 15 +census 0 7 1 1 0 3.4 1 23 +census 0 18 1 1 0 nan - - +census 0 15 1 1 0 nan - - +census 0 1 1 1 0 nan - - +census 0 12 1 1 0 3.2 9 13 +census 0 21 2 1 1 3.5 0 18 reg64=1; +census 0 8 1 1 0 2.8 9 12 +census 0 13 1 1 0 2.8 12 13 +census 0 19 1 1 0 nan - - +census 0 11 1 1 0 nan - - +census 0 16 1 1 0 nan - - +census 0 22 1 1 0 3.1 6 11 +census 0 30 1 1 0 nan - - +census 0 17 1 1 0 nan - - +census 0 23 1 1 0 nan - - +census 0 26 1 1 0 3.2 7 9 +census 0 32 1 1 0 4.4 10 21 +census 0 29 1 1 0 nan - - +census 0 34 1 1 0 3.0 12 1 +census 0 27 1 1 0 3.0 9 8 +census 0 25 2 1 1 nan - - a=1; +census 0 24 1 1 0 3.7 13 12 +census 0 33 1 1 0 nan - - +census 0 36 2 1 1 3.2 14 3 b=1; +census 0 35 1 1 0 4.2 12 12 +census 0 31 2 1 1 3.2 1 5 b=1; +census 0 39 1 1 0 nan - - +census 0 38 1 1 0 nan - - +census 0 42 2 1 1 nan - - a'=1; +census 0 37 1 1 0 3.1 13 8 +census 0 28 1 1 0 nan - - +census 0 41 1 1 0 nan - - +census 0 43 1 1 0 nan - - +census 0 44 2 1 1 nan - - a'=1; +census 0 40 1 1 0 2.8 9 25 +census 0 50 1 1 0 3.3 9 9 +census 0 53 2 1 1 nan - - b=1; +census 0 45 1 1 0 nan - - +census 0 49 1 1 0 nan - - +census 0 46 1 1 0 4.4 2 3 +census 0 48 1 1 0 nan - - +census 0 51 2 1 1 nan - - reg64=1; +census 0 57 1 1 0 3.5 6 24 +census 0 47 1 1 0 3.1 4 16 +census 0 58 1 1 0 3.0 8 17 +census 0 59 1 1 0 nan - - +census 0 62 1 1 0 3.2 9 19 +census 0 55 1 1 0 nan - - +census 0 52 1 1 0 nan - - +census 0 60 1 1 0 nan - - +census 0 61 1 1 0 3.3 3 11 +census 0 56 2 1 1 2.8 2 9 a'=1; +census 0 54 1 1 0 3.5 3 13 +census 0 66 1 1 0 3.4 6 11 +census 0 64 1 1 0 3.6 9 8 +census 0 65 1 1 0 nan - - +census 0 70 1 1 0 nan - - +census 0 67 2 1 1 nan - - a=1; +census 0 63 1 1 0 nan - - +census 0 78 1 1 0 nan - - +census 0 79 1 1 0 nan - - +census 0 76 1 1 0 3.2 2 23 +census 0 81 1 1 0 nan - - +census 0 80 2 1 1 nan - - a'=1; +census 0 68 1 1 0 nan - - +census 0 69 1 1 0 3.2 14 25 +census 0 71 2 1 1 2.8 7 17 a=1; +census 0 72 1 1 0 nan - - +census 0 74 1 1 0 3.0 4 6 +census 0 82 1 1 0 nan - - +census 0 73 1 1 0 nan - - +census 0 86 1 1 0 3.0 7 19 +census 0 75 1 1 0 2.9 4 16 +census 0 77 1 1 0 nan - - +census 0 88 1 1 0 nan - - +census 0 85 1 1 0 3.1 14 24 +census 0 83 1 1 0 nan - - +census 0 92 1 1 0 nan - - +census 0 89 1 1 0 nan - - +census 0 87 2 1 1 nan - - a'=1; +census 0 84 1 1 0 nan - - +census 0 90 2 1 1 nan - - b=1; +census 0 94 1 1 0 nan - - +census 0 93 1 1 0 3.0 7 20 +census 0 91 1 1 0 3.2 13 8 +census 0 95 2 1 1 3.0 13 12 a'=1; +census 0 97 1 1 0 nan - - +census 0 96 1 1 0 3.1 8 7 +census 0 101 1 1 0 nan - - +census 0 98 1 1 0 nan - - +census 0 100 1 1 0 nan - - +census 0 99 1 1 0 3.1 2 23 +census 0 106 1 1 0 nan - - +census 0 102 1 1 0 3.5 0 13 +census 0 105 1 1 0 nan - - +census 0 103 1 1 0 nan - - +census 0 107 1 1 0 nan - - +census 0 104 1 1 0 nan - - +census 0 108 1 1 0 nan - - +census 0 114 1 1 0 2.9 7 8 +census 0 112 1 1 0 3.3 5 4 +census 0 109 1 1 0 nan - - +census 0 120 1 1 0 nan - - +census 0 113 1 1 0 nan - - +census 0 111 1 1 0 3.3 3 27 +census 0 116 1 1 0 3.1 1 5 +census 0 119 1 1 0 3.1 3 18 +census 0 110 1 1 0 3.4 7 15 +census 0 115 2 1 1 nan - - b=1; +census 0 117 1 1 0 nan - - +census 0 124 1 1 0 3.6 0 15 +census 0 118 1 1 0 nan - - +census 0 121 1 1 0 nan - - +census 0 126 1 1 0 4.3 8 3 +census 0 129 2 1 1 3.2 6 6 a'=1; +census 0 123 1 1 0 nan - - +census 0 122 1 1 0 nan - - +census 0 125 2 1 1 3.3 1 6 b=1; +census 0 127 2 1 1 nan - - a=1; +census 0 128 1 1 0 nan - - +census 0 134 1 1 0 3.7 11 4 +census 0 135 1 1 0 3.0 5 15 +census 0 131 1 1 0 3.3 5 21 +census 0 130 1 1 0 3.2 11 8 +census 0 138 1 1 0 2.7 12 19 +census 0 133 1 1 0 2.8 10 0 +census 0 132 1 1 0 3.4 15 1 +census 0 136 1 1 0 nan - - +census 0 140 2 1 1 nan - - a'=1; +census 0 137 1 1 0 nan - - +census 0 143 1 1 0 nan - - +census 0 139 1 1 0 3.4 11 3 +census 0 146 1 1 0 3.4 15 22 +census 0 142 2 1 1 4.0 6 0 a'=1; +census 0 141 1 1 0 nan - - +census 0 150 1 1 0 nan - - +census 0 149 1 1 0 nan - - +census 0 144 1 1 0 3.7 3 22 +census 0 147 1 1 0 nan - - +census 0 148 1 1 0 3.7 10 0 +census 0 145 1 1 0 2.7 14 24 +census 0 152 1 1 0 3.1 11 25 +census 0 155 1 1 0 nan - - +census 0 151 1 1 0 nan - - +census 0 157 1 1 0 3.5 1 16 +census 0 162 1 1 0 3.1 2 16 +census 0 154 2 1 1 3.3 12 17 a'=1; +census 0 156 1 1 0 nan - - +census 0 160 1 1 0 2.5 1 17 +census 0 153 1 1 0 nan - - +census 0 163 2 1 1 3.7 0 19 a'=1; +census 0 161 1 1 0 nan - - +census 0 166 1 1 0 nan - - +census 0 158 1 1 0 3.1 13 1 +census 0 159 1 1 0 nan - - +census 0 169 2 1 1 nan - - a'=1; +census 0 171 1 1 0 nan - - +census 0 170 1 1 0 nan - - +census 0 168 1 1 0 3.6 6 25 +census 0 176 1 1 0 nan - - +census 0 177 1 1 0 3.1 14 0 +census 0 165 1 1 0 3.0 11 5 +census 0 164 1 1 0 3.8 7 25 +census 0 174 1 1 0 nan - - +census 0 173 3 1 2 nan - - a'=2; +census 0 167 3 1 2 3.4 2 14 a'=2; +census 0 180 1 1 0 3.5 3 19 +census 0 178 1 1 0 4.0 14 14 +census 0 172 2 1 1 3.0 15 16 a'=1; +census 0 184 2 1 1 3.0 2 25 a'=1; +census 0 175 1 1 0 2.9 1 24 +census 0 181 1 1 0 3.1 1 14 +census 0 185 1 1 0 nan - - +census 0 186 2 1 1 nan - - a'=1; +census 0 182 1 1 0 nan - - +census 0 179 1 1 0 3.1 10 14 +census 0 190 2 1 1 3.3 14 13 a'=1; +census 0 183 1 1 0 nan - - +census 0 187 1 1 0 3.6 4 14 +census 0 191 1 1 0 nan - - +census 0 193 1 1 0 3.5 4 23 +census 0 189 1 1 0 nan - - +census 0 188 1 1 0 3.2 0 12 +census 0 192 1 1 0 4.1 3 23 +census 0 194 1 1 0 3.7 2 6 +census 0 198 1 1 0 nan - - +census 0 196 1 1 0 3.0 3 21 +census 0 199 1 1 0 2.9 14 0 +census 0 201 1 1 0 nan - - +census 0 195 1 1 0 2.9 2 10 +census 0 200 1 1 0 3.1 5 21 +census 0 197 1 1 0 nan - - +census 0 205 1 1 0 3.1 7 7 +census 0 206 2 1 1 nan - - a'=1; +census 0 204 1 1 0 3.8 8 24 +census 0 202 1 1 0 nan - - +census 0 207 1 1 0 nan - - +census 0 203 1 1 0 nan - - +census 0 210 1 1 0 3.3 1 20 +census 0 208 1 1 0 nan - - +census 0 211 1 1 0 nan - - +census 0 212 1 1 0 nan - - +census 0 214 1 1 0 3.7 7 24 +census 0 209 1 1 0 nan - - +census 0 215 1 1 0 3.0 12 7 +census 0 220 1 1 0 nan - - +census 0 217 1 1 0 nan - - +census 0 225 1 1 0 3.2 14 23 +census 0 213 1 1 0 2.8 13 3 +census 0 224 1 1 0 3.0 12 11 +census 0 221 1 1 0 nan - - +census 0 216 1 1 0 3.5 7 4 +census 0 223 1 1 0 nan - - +census 0 222 1 1 0 3.0 14 10 +census 0 227 1 1 0 3.4 14 24 +census 0 219 1 1 0 3.0 9 22 +census 0 228 1 1 0 3.0 8 9 +census 0 229 1 1 0 3.0 5 17 +census 0 218 2 1 1 2.9 0 7 a'=1; +census 0 226 1 1 0 3.6 12 11 +census 0 230 1 1 0 nan - - +census 0 232 1 1 0 3.4 4 15 +census 0 236 1 1 0 nan - - +census 0 231 1 1 0 2.9 12 13 +census 0 235 1 1 0 3.3 8 16 +census 0 238 1 1 0 nan - - +census 0 234 1 1 0 nan - - +census 0 237 1 1 0 3.1 7 12 +census 0 239 1 1 0 3.4 6 18 +census 0 242 1 1 0 nan - - +census 0 240 2 1 1 3.4 11 17 b=1; +census 0 241 1 1 0 nan - - +census 0 233 2 1 1 3.2 7 11 c=1; +census 0 249 1 1 0 nan - - +census 0 245 1 1 0 3.0 13 2 +census 0 243 1 1 0 3.4 5 5 +census 0 251 1 1 0 3.0 11 0 +census 0 246 2 1 1 nan - - a'=1; +census 0 252 1 1 0 3.0 0 24 +census 0 244 2 1 1 3.0 3 8 reg64=1; +census 0 250 1 1 0 3.9 14 21 +census 0 247 1 1 0 nan - - +census 0 248 1 1 0 3.8 0 16 +census 0 255 1 1 0 2.6 6 14 +census 0 254 1 1 0 nan - - +census 0 253 1 1 0 nan - - +# end 2026-10-08T20:53:02Z rows=257 diff --git a/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/run.txt b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/run.txt new file mode 100644 index 000000000..a06bbe8e2 --- /dev/null +++ b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/run.txt @@ -0,0 +1 @@ +# pack cs-era-genesis class mx8+sh256x27+state+reg64c+fold+rw epoch af89be5ddbadb6f6b4aee28ac8f249713be5d4c12621e3cea7f83ceada3c66b3 day 69676e65756d2d6461792ffa50000000000000 era edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 state /srv/builds/v6-census/packs/node1-state.igsd1 day-index 20730 era-widths 4 bin f4e93766d5a3dc46 f8 host igneum-build-4 start 2026-10-08T20:50:53Z diff --git a/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/show.txt b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/show.txt new file mode 100644 index 000000000..290d24b8e --- /dev/null +++ b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/show.txt @@ -0,0 +1,67 @@ +seed "igneum-epoch/af89be5ddbadb6f6b4aee28ac8f249713be5d4c12621e3cea7f83ceada3c66b3" generator v6 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 program id 2a1d6caab4c24564 seed words 9c8caa3d 83537296 f21169a4 12d4d157 66e0ce33 cc049080 8579c352 4c6e4ac9 +op mix load=16 add=10 shfl=8 rotl=5 rotr=5 xor=5 mad=4 mul=4 sub=4 mulhi=3 loads/hash 128 bytes/hash 512 +era d810f22d (igneum-era/0/edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07): width 4 B, stride mul 0x9ad30d99 rot 29, interleave [0, 2, 12, 13], windows (site:shrink:offset) 1:0:0 15:1:0 27:2:1 28:0:0 30:1:1 32:1:0 33:2:3 42:0:0 48:1:0 52:0:0 55:2:2 56:0:0 58:1:1 59:0:0 60:1:0 62:1:0 + 0: mad dst=7 src=3 src2=3 imm=0xd095f540 imm2=0xd3789b38 rot=19 bit=4 mask=4 + 1: load dst=1 src=7 src2=5 imm=0x390bbbd7 imm2=0x1b44071a rot=5 bit=13 mask=16 + 2: rotl dst=0 src=6 src2=7 imm=0xcd1e3e94 imm2=0xf0479df0 rot=29 bit=10 mask=2 + 3: shfl dst=5 src=6 src2=4 imm=0x78c099f8 imm2=0xc6d6c6bc rot=25 bit=21 mask=1 + 4: mulhi dst=5 src=3 src2=1 imm=0x2e8aa8d1 imm2=0x446c336a rot=23 bit=31 mask=16 + 5: rotl dst=7 src=1 src2=0 imm=0x46701a4a imm2=0xc2255717 rot=27 bit=20 mask=8 + 6: mad dst=4 src=2 src2=0 imm=0x487da55c imm2=0xf4675ef7 rot=26 bit=1 mask=8 + 7: rotl dst=2 src=6 src2=4 imm=0x74fdbac4 imm2=0x30e49db4 rot=11 bit=9 mask=16 + 8: mul dst=6 src=0 src2=4 imm=0x69e895ee imm2=0x66ebcedd rot=24 bit=11 mask=16 + 9: shfl dst=6 src=1 src2=7 imm=0x1510cbd0 imm2=0x607acada rot=4 bit=3 mask=2 +10: add dst=0 src=2 src2=2 imm=0x33a68b0c imm2=0xffb7f024 rot=27 bit=1 mask=4 +11: xor dst=0 src=2 src2=4 imm=0x61b96f54 imm2=0x7d5468b0 rot=30 bit=28 mask=8 +12: sub dst=7 src=4 src2=1 imm=0x39217118 imm2=0x248e3f9b rot=29 bit=7 mask=16 +13: shfl dst=1 src=4 src2=2 imm=0x6c12c43b imm2=0x6b60595d rot=20 bit=23 mask=8 +14: xor dst=1 src=0 src2=0 imm=0x030181c6 imm2=0x52fbbc27 rot=1 bit=28 mask=4 +15: load dst=5 src=0 src2=2 imm=0x5b20e3f6 imm2=0xa84ab3b3 rot=24 bit=31 mask=8 +16: xor dst=5 src=4 src2=4 imm=0x6fc104e8 imm2=0x1a522a5c rot=27 bit=8 mask=8 +17: shfl dst=6 src=7 src2=6 imm=0x5f5b071a imm2=0x39dc91da rot=16 bit=6 mask=16 +18: rotr dst=2 src=7 src2=0 imm=0x07b3a28c imm2=0x33193f0c rot=18 bit=3 mask=1 +19: add dst=4 src=1 src2=5 imm=0x0229d185 imm2=0x51cb8f70 rot=29 bit=26 mask=1 +20: add dst=4 src=7 src2=1 imm=0xc39836f7 imm2=0x0c001b55 rot=8 bit=7 mask=16 +21: add dst=0 src=3 src2=4 imm=0xb7d06b34 imm2=0x1ae7a0ac rot=9 bit=3 mask=4 +22: mad dst=2 src=6 src2=7 imm=0x0978477e imm2=0x2fec3e13 rot=21 bit=3 mask=16 +23: add dst=3 src=5 src2=7 imm=0x95cba5dd imm2=0x22934c58 rot=8 bit=19 mask=2 +24: mulhi dst=5 src=3 src2=0 imm=0x14b79a1b imm2=0xccae3d33 rot=5 bit=15 mask=16 +25: xor dst=0 src=3 src2=7 imm=0x22f74d7f imm2=0x782f1722 rot=18 bit=25 mask=4 +26: mul dst=6 src=3 src2=6 imm=0xf774717f imm2=0x3a1a2c3a rot=28 bit=25 mask=16 +27: load dst=3 src=7 src2=2 imm=0xf0d88d7d imm2=0x0fc8051c rot=14 bit=1 mask=16 +28: load dst=3 src=0 src2=5 imm=0xac8eb588 imm2=0x57844c72 rot=12 bit=8 mask=2 +29: rotr dst=6 src=7 src2=1 imm=0x89b07c78 imm2=0x90c747d7 rot=13 bit=30 mask=1 +30: load dst=1 src=4 src2=7 imm=0xdd34b81d imm2=0x96e5cb94 rot=26 bit=16 mask=1 +31: add dst=1 src=2 src2=3 imm=0x2fa2e27a imm2=0xbf8507da rot=27 bit=5 mask=1 +32: load dst=2 src=1 src2=1 imm=0x4df1d479 imm2=0xea698909 rot=29 bit=12 mask=4 +33: load dst=3 src=2 src2=1 imm=0xaa35122f imm2=0x01516545 rot=12 bit=18 mask=1 +34: mul dst=3 src=5 src2=7 imm=0x6a941ac2 imm2=0xb56c91d9 rot=24 bit=16 mask=1 +35: rotl dst=1 src=6 src2=7 imm=0xe8aa4cfe imm2=0x0d359401 rot=2 bit=3 mask=2 +36: shfl dst=1 src=5 src2=1 imm=0xd090168f imm2=0x3ea71d89 rot=9 bit=3 mask=4 +37: sub dst=0 src=4 src2=1 imm=0xdbda427b imm2=0xd9607488 rot=5 bit=12 mask=2 +38: rotr dst=4 src=2 src2=7 imm=0xe3e3804c imm2=0xccdc9668 rot=27 bit=13 mask=16 +39: mulhi dst=4 src=1 src2=2 imm=0x5d14fe55 imm2=0xb6db1d85 rot=17 bit=18 mask=4 +40: rotr dst=0 src=1 src2=4 imm=0xc77a2d1f imm2=0x5a85c407 rot=10 bit=31 mask=1 +41: add dst=2 src=3 src2=1 imm=0xfe28f51d imm2=0xf439f8e7 rot=5 bit=8 mask=2 +42: load dst=1 src=2 src2=5 imm=0xe1b6fb46 imm2=0x23bb6ba4 rot=29 bit=22 mask=1 +43: xor dst=7 src=5 src2=6 imm=0x34988c9d imm2=0xf8c6c4a8 rot=2 bit=21 mask=8 +44: shfl dst=6 src=2 src2=2 imm=0x14f4d589 imm2=0x868d3c75 rot=29 bit=31 mask=8 +45: mul dst=1 src=4 src2=1 imm=0x081dddbd imm2=0xc8e4de44 rot=23 bit=11 mask=16 +46: rotl dst=0 src=6 src2=2 imm=0xaec2cb92 imm2=0x03157ee4 rot=14 bit=5 mask=16 +47: add dst=1 src=3 src2=7 imm=0xf1719bbd imm2=0x14bb2234 rot=24 bit=7 mask=16 +48: load dst=1 src=6 src2=6 imm=0x30e39813 imm2=0x9ce47150 rot=22 bit=10 mask=1 +49: sub dst=5 src=1 src2=7 imm=0xaabdf6d2 imm2=0x0688a461 rot=13 bit=28 mask=2 +50: add dst=2 src=3 src2=6 imm=0xb129b2b4 imm2=0x4611fe29 rot=3 bit=14 mask=16 +51: sub dst=0 src=2 src2=1 imm=0xfe651d02 imm2=0x7c1929a9 rot=22 bit=31 mask=4 +52: load dst=4 src=0 src2=4 imm=0xf906070a imm2=0xf301cff4 rot=5 bit=25 mask=1 +53: mad dst=3 src=1 src2=4 imm=0xab213c09 imm2=0xf6d6f3fa rot=16 bit=28 mask=1 +54: shfl dst=4 src=1 src2=7 imm=0xf6dafbae imm2=0xdbfc32c7 rot=12 bit=1 mask=16 +55: load dst=6 src=5 src2=5 imm=0x881eaf9c imm2=0x7c50f5c8 rot=25 bit=22 mask=16 +56: load dst=2 src=4 src2=1 imm=0x899bf6e0 imm2=0xbde5b6ee rot=24 bit=10 mask=8 +57: shfl dst=5 src=7 src2=6 imm=0xea9c50d2 imm2=0xd2a8c99b rot=12 bit=28 mask=1 +58: load dst=1 src=5 src2=3 imm=0xad4912ca imm2=0x546d00b2 rot=7 bit=1 mask=1 +59: load dst=2 src=7 src2=1 imm=0x37cea58f imm2=0x13e31ff0 rot=21 bit=21 mask=16 +60: load dst=2 src=1 src2=2 imm=0x33f9a95e imm2=0xda1c8a2e rot=22 bit=28 mask=8 +61: add dst=3 src=2 src2=2 imm=0x0a051d32 imm2=0xe9ed866d rot=30 bit=1 mask=4 +62: load dst=0 src=2 src2=2 imm=0xab1dd54b imm2=0xc9fcaae2 rot=9 bit=2 mask=1 +63: rotr dst=5 src=0 src2=5 imm=0x1f0279bd imm2=0x223e7b9c rot=11 bit=3 mask=16 diff --git a/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/sitestats.tsv b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/sitestats.tsv new file mode 100644 index 000000000..2da8d9bf2 --- /dev/null +++ b/docs/analysis/class-v6/rows/chainseed-census-1a938abe4/cs-era-genesis/sitestats.tsv @@ -0,0 +1,20 @@ +program id 2a1d6caab4c24564 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 +rule: ACCEPTED, distinct 128.000 per hash, saturated 0, bias max 60 +site instr win off width distinct ratio under_c2 under_c3 bucket_ratio bucket_z bucket_id bit_z bit top_count +0 1 0 0 1 1046503 0.99998 0 0 2.188 4.75 60156 -1.87 26 2 +1 15 1 0 1 1044355 0.99988 0 0 1.750 4.24 14357 2.42 22 3 +2 27 2 1 1 1040572 1.00018 0 0 1.562 4.50 24199 -2.24 16 4 +3 28 0 0 1 1046539 1.00001 0 0 2.312 5.25 10753 -3.06 1 3 +4 30 1 1 1 1044536 1.00005 0 0 1.781 4.42 58838 -1.54 24 3 +5 32 1 0 1 1044401 0.99992 0 0 1.906 5.13 1461 1.62 16 3 +6 33 2 3 1 1040390 1.00001 0 0 1.547 4.38 50857 -2.50 7 4 +7 42 0 0 1 1046557 1.00003 0 0 2.250 5.00 35595 -2.44 23 3 +8 48 1 0 1 1044478 1.00000 0 0 1.781 4.42 14934 2.31 19 3 +9 52 0 0 1 1046564 1.00003 0 0 2.500 6.00 57814 -3.00 20 3 +10 55 2 2 1 1040481 1.00009 0 0 1.531 4.25 45966 -2.63 2 3 +11 56 0 0 1 1046558 1.00003 0 0 2.438 5.75 65197 2.34 2 3 +12 58 1 1 1 1044602 1.00012 0 0 1.781 4.42 44729 2.46 24 3 +13 59 0 0 1 1046533 1.00000 0 0 2.562 6.25 4623 -1.77 1 3 +14 60 1 0 1 1044508 1.00003 0 0 1.906 5.13 9415 -2.48 25 3 +15 62 1 0 1 1044593 1.00011 0 0 1.875 4.95 300 2.97 9 3 +summary: sites 16, min ratio 0.99988, under 0.98: 0, under 0.995: 0, bucket z max 6.25, bit z max -3.06, sites over 6 sigma 0, 2.2 s diff --git a/docs/plans/igneum-2.0-test-registry.json b/docs/plans/igneum-2.0-test-registry.json index 9ffd80981..1a58794e1 100644 --- a/docs/plans/igneum-2.0-test-registry.json +++ b/docs/plans/igneum-2.0-test-registry.json @@ -1438,17 +1438,17 @@ "manual_page": 24, "owner_lane": "hash lane (a690540514aa453d7)", "run_status": "NOT RUN", - "evidence_path": "docs/analysis/review-2026-10-08-b/f10/packfile-test.log;docs/analysis/review-2026-10-08-b/f10/geometry-check-mini.log; docs/analysis/class-v6/family-gate.md; docs/analysis/class-v6/rows/live-dataset-census-1a938abe4.md", - "run_id": "census-v6-live-20261008-2210", - "updated": "2026-10-08T21:20:19.390Z", + "evidence_path": "docs/analysis/review-2026-10-08-b/f10/packfile-test.log;docs/analysis/review-2026-10-08-b/f10/geometry-check-mini.log; docs/analysis/class-v6/family-gate.md; docs/analysis/class-v6/rows/chainseed-census-1a938abe4.md", + "run_id": "census-v6-chainseed-20261008-2230", + "updated": "2026-10-08T21:23:10.147Z", "evidence_record": { "requirement_id": "POW-02", "decision": "PASS", "method": "native", "cell": "census:class-v6", "manifest_sha": "1a938abe4", - "run_id": "census-v6-live-20261008-2210", - "evidence": "docs/analysis/class-v6/rows/live-dataset-census-1a938abe4.md", + "run_id": "census-v6-chainseed-20261008-2230", + "evidence": "docs/analysis/class-v6/rows/chainseed-census-1a938abe4.md", "in_progress": false, "coverage": "partial: the fold's index statistics and the grammar bounds on 256 seeds plus the F8 set; the malformed programs are owed to harness:parser-malformed", "release_identity": { @@ -1461,7 +1461,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:20:19.390Z" + "at": "2026-10-08T21:23:10.147Z" }, "in_progress_since": "2026-10-08T20:07:26.255Z", "approvals": { @@ -1523,8 +1523,8 @@ "method": "native", "cell": "census:class-v6", "manifest_sha": "1a938abe4", - "run_id": "census-v6-live-20261008-2210", - "evidence": "docs/analysis/class-v6/rows/live-dataset-census-1a938abe4.md", + "run_id": "census-v6-chainseed-20261008-2230", + "evidence": "docs/analysis/class-v6/rows/chainseed-census-1a938abe4.md", "in_progress": false, "coverage": "partial: the fold's index statistics and the grammar bounds on 256 seeds plus the F8 set; the malformed programs are owed to harness:parser-malformed", "release_identity": { @@ -1537,7 +1537,7 @@ }, "claim_impact": "", "reviewer": "", - "at": "2026-10-08T21:20:19.390Z" + "at": "2026-10-08T21:23:10.147Z" } } }, diff --git a/tools/ci/batches/census-v6-chainseed-20261008-2230.json b/tools/ci/batches/census-v6-chainseed-20261008-2230.json new file mode 100644 index 000000000..0366086c9 --- /dev/null +++ b/tools/ci/batches/census-v6-chainseed-20261008-2230.json @@ -0,0 +1,6 @@ +{ + "run_id": "census-v6-chainseed-20261008-2230", + "manifest_sha": "1a938abe4", + "evidence_dir": "docs/analysis/class-v6/rows/chainseed-census-1a938abe4", + "cells": [ { "cell": "census:class-v6", "status": "PASS", "method": "native", "evidence": "docs/analysis/class-v6/rows/chainseed-census-1a938abe4.md" } ] +} From c3b04f454f03176e9345de0fd7909936f5c6e266 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 21:24:09 +0000 Subject: [PATCH 7/7] pairing row: UTC stamps (the identity grep forbids local-time zones in the export list) Co-Authored-By: Claude Fable 5.1 --- docs/analysis/class-v6/rows/pairing-20261008.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/analysis/class-v6/rows/pairing-20261008.md b/docs/analysis/class-v6/rows/pairing-20261008.md index 219ca204a..4b0da0cac 100644 --- a/docs/analysis/class-v6/rows/pairing-20261008.md +++ b/docs/analysis/class-v6/rows/pairing-20261008.md @@ -1,4 +1,4 @@ -# The pairing class and the chain-paired packs (8 October 2026, 21:4x to 22:1x BST) +# The pairing class and the chain-paired packs (8 October 2026, 20:4x to 21:1x UTC) The frozen research pack `hl-v6-all` (id `0x4de7b836cc40a4ea`, generator 6, the class-v6 tree 1a938abe4) was exported with the genesis epoch seed `edc4fa84…fb07` over node1's state stream captured after block `af89be5d…66b3` (number 159357, root @@ -10,14 +10,14 @@ pairing was the W = 8 lane's research recipe of 14:00 (the CLI had no seed-block | Reader | Inputs | Id | |---|---|---| -| the node engine, `igneum-miner program-id` on the placed (c) pair (node lane, 21:46:55 BST) | epoch `af89be5d…`, era `edc4fa84…`, day 20730, the state above, class v6 | `2a1d6caab4c24564`, attempt 0 | -| the freeze CLI at 1a938abe4, `export … --era 0:edc4fa84…` (build-5, 21:48 BST) | the same | `0x2a1d6caab4c24564`, attempt 0, generator 6, loads 256 | +| the node engine, `igneum-miner program-id` on the placed (c) pair (node lane, 20:46:55 UTC) | epoch `af89be5d…`, era `edc4fa84…`, day 20730, the state above, class v6 | `2a1d6caab4c24564`, attempt 0 | +| the freeze CLI at 1a938abe4, `export … --era 0:edc4fa84…` (build-5, 20:48 UTC) | the same | `0x2a1d6caab4c24564`, attempt 0, generator 6, loads 256 | A read with the era set to the block hash as well (`--era 0:af89be5d…`) draws `442a1691b3e3507f` (era label 93a14ac6): a -different input, void for the pairing. The ruling (hash lane, 22:00 BST): D1 freezes the generator tree 1a938abe4; F0 names +different input, void for the pairing. The ruling (hash lane, 21:00 UTC): D1 freezes the generator tree 1a938abe4; F0 names the chain-seed draw `2a1d6caab4c24564` on the pair above; the research pack stays labelled at its pairing. -## The chain-paired packs (build-1 `/srv/artefacts/packs/`, read back 22:1x BST) +## The chain-paired packs (build-1 `/srv/artefacts/packs/`, read back 21:1x UTC) | Pack | Class | Id | Attempt | Loads | tgz sha256 | |---|---|---|---|---|---| @@ -31,7 +31,7 @@ All five: epoch seed `af89be5d…`, era `edc4fa84…`, day 20730, the state abov ## The P01 reference of the signing object -`igneum-pow hash-bound --prehash 00…01 --nonce 0 --count 1000000` on hl-v6-all-cs's inputs (build-5, 21:55 to 22:02 BST): +`igneum-pow hash-bound --prehash 00…01 --nonce 0 --count 1000000` on hl-v6-all-cs's inputs (build-5, 20:55 to 21:02 UTC): 1,000,000 lines `nonce hash16`, first `0 2394c9f10f9447a2`, last `999999 cdaadae412c7d9c1`, sha256 `b77c61d874aed238394fd0e556113192acf21e0762871b1044796f3fbaea338a`, at build-1 `/srv/artefacts/packs/p01-vectors/hl-v6-all-cs.txt` (+ .sha256). The OpenCL read on PC 1's RX 7600 is the job `run-ca3-pc1-p01-opencl-7600-20261008` (behind the knee rows; the