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] 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" + } + ] +}