Merge f0-signing 4234dd84 into master (gate: green on e76c990b, recorded by tools/ci/pre-push.sh; landed on the box mirror under the exception declared by main: main's ruling, 7 Oct 2026 19:5x UK: the GitHub account is suspended, lanes land on the box mirror's master, the box gate stamp is the verdict; GitHub gets the fast-forward when it answers)

This commit is contained in:
igneum-labs 2026-10-08 22:27:26 +00:00
commit 186939aadf
3 changed files with 67 additions and 23 deletions

View file

@ -14,7 +14,7 @@ The fixture every case of the Test and Acceptance Standard (docs/plans/igneum-2.
| Mining class | class v5 (the class v5 freeze 1c420786, igneum-pow/src fingerprint cbc5bd0aa10585c8576e71e37a8ee47a045ae51754e9ddf749d0c21e6a535f88, packaging/pow-freeze.txt); class v6 is a candidate, every v6 floor `never` on every compiled object | packaging/pow-freeze.txt, rule 19 at every kaspa-pow build | hash lane (a690540514aa453d7) |
| Dataset schedule | on every compiled network the class v6 object literal carries class_v6_dataset_steps = [(0, 4,096 MiB)] (the 4 GiB floor from genesis, no later step; main's default of 20:00) and class_v6_family_flags = 0xf (the window, the fold, rw1, the lossy band; a fifth flag 1 << 4 for layer 8 off exists on candidate (c) and enters the literal only on main's 20:30 word); both outside the consensus digest until the v6 floor is set, which no network does tonight; the freeze file's dataset-policy digest 70a6c703787d5d75cdbc486b34acf3eb901f4188bae3e948c94274d5f4ac4bba; infra/fast-time/override-60x.json carries the fast-time copy | the node lane's line 19:3x | node lane |
| EVM fork and deviations | BLOCKED: the execution lead's statement of the selected fork and every deviation (EVM-01) | | enforced-proving lane (a6e8f84588b809d62) |
| Program and verifier ids | BLOCKED until the key-succession re-pin lands in the roll (proving/igneum-prove/elf and elf/prior, the shard and aggregator vks) | | enforced-proving lane |
| Program and verifier ids | The 2.0.2 kit's prover is the served 0317 pair (host 71bc2438, export 263bf4ce), the proving manifest's provenance source_commit 15bb6cdd4 and guest_input_format 1; the host refuses a format mismatch at start, and the kit's prover builds from that source_commit, never master's tip (whose GUEST_INPUT_FORMAT is 3), until pin C moves (the gate's guest-format check reads the tree that way). The P22 repin on p22-stage-2 7d38077d (shard program id 0x51cd8cba314a32b60fac393949a4571714da6d6656717d286011601b2a163fe7, elf sha256 0ce9e351…, vk 0dbb6605…; aggregator 0x05b395ec238f67406084f8a449d400f64c87dc62151daebf66695864727ded8a, elf 3ef25e3f…, vk 074eb906…; deterministic across three builds) is NOT in 2.0.2 (a284380b reverts P22 stages 1 and 2: the wire is 2.0.1's) and stands as the research reference. The enforced lane's fix sha for the row: BLOCKED (not named by 23:30). | the coordinator's lines 22:1x and 22:2x UK; the proving lane's 21:4x line | enforced-proving lane |
| Fees, supply, emission | the 2.0 emission at 18 decimals (4cdcc488's re-cut); the fee rules: BLOCKED until the economics owner states them | | shipper, economics owner |
| Quorum and fault rules | see "Fault model" below (main's word) | | finality lane (aca0f5ed924a2a99b) |
| Trust anchors | BLOCKED: the light client's anchors (VER-01) and the oracle's (VER-04) as the reference-apps lane states them | | reference-apps lane (a2060899d2a27d31c) |
@ -32,7 +32,7 @@ The fixture every case of the Test and Acceptance Standard (docs/plans/igneum-2.
| Field | State | Owner | Default if silent |
|---|---|---|---|
| The EVM fork statement and deviations | BLOCKED | enforced-proving lane | the row EVM-01 reads BLOCKED |
| Program and verifier ids after key succession | BLOCKED until the roll | enforced-proving lane | copied from the roll's manifest |
| Program and verifier ids after key succession | BLOCKED until a kit carries the P22 repin (7d38077d's pair, above); activation-gated, the enforced lane's | enforced-proving lane | copied from that kit's manifest when it exists |
| Fee rules | BLOCKED | shipper, economics owner | the rows under INC and ECO read BLOCKED |
| Trust anchors (light client, oracle) | BLOCKED | reference-apps lane | VER-01 and VER-04 read BLOCKED |
| The class v6 freeze line in packaging/pow-freeze.txt | open: three D1 candidates on the node mirrors (class-v6-node 3af510ec on c245d50b9 fingerprint a65e4c5a; class-v6-node-b 46e7ac18 with the acceptance fix, fingerprint 6cdd922a; class-v6-node-review 2f6eb9e9 on 04442d9ca, fingerprint 7a1dec1c, six suites green on build-1 at 19:3x) | hash lane, node lane | class v5 stays the mining class |
@ -44,6 +44,21 @@ The fixture every case of the Test and Acceptance Standard (docs/plans/igneum-2.
| F04 (Review B), the recovery lock | kept, and always labelled "recovery", never "final", on every surface (the checkpoint field, the explorer, receipts, the light client, the oracle, the site) |
| F14 (Review B), fleet control and the public client | the public miner ships from 2.0.2 without remote jobs; our own fleet runs the lab build with its own signing root |
## The freeze candidate (the signing block, written by the CI steward at 23:3x UK, 8 October 2026)
| Field | Value | Read back from | Owner |
|---|---|---|---|
| Class v6 freeze candidate (D1) | the draw 2a1d6caab4c24564 of generator tree 1a938abe4 (igneum-pow/src fingerprint 5f4d6dc6199294db89042171004e6420c1e5791e716d4b39b73d375818c10b6f), with the dataset policy; the pairing: epoch seed af89be5ddbadb6f6b4aee28ac8f249713be5d4c12621e3cea7f83ceada3c66b3 (the state stream's own block), era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 (the chain's era seed is the genesis hex, never the block hash), day 20730 (hex 69676e65756d2d6461792ffa50000000000000), the node1 state stream at block 159357 (root 1c583d35…, sha abb58003…), class mx8+sh256x27+state+reg64c+fold+rw, attempt 0, generator 6 | the hash lane's freeze CLI on build-5 (21:48 UK) equal to the node's engine program-id on the placed (c) pair (the node lane's verbatim lines); the coordinator's word 22:1x UK withdrawing 442a1691b3e3507f (a CLI draw with the block hash as the era, matching no engine run) | hash lane, node lane |
| The research reference | the pack hl-v6-all, id 0x4de7b836cc40a4ea (the genesis seed over node1's state, a deliberate research pairing the engine's pairing check refuses); labelled, never the freeze | the hash lane's 22:00 ruling | hash lane |
| Same-work on the candidate (R2-F03-R02, R03) | on one job context (same-work-20261008-02, sha256 21d78fd4…, boundary nonce 1572864, day 20730 to 20731): the node reader PASS on all three phases (IgneumEngine::epoch_for_bounded, install_pow_genesis as the live miner calls it), the pool's D1-pairing reader PASS on all three phases (the share verifier's path), the CPU reference cross-checked twice against the hash lane's independent export (hl-v6-all-cs.tgz a4742bfe…, hl-v6-all-cs.txt b77c61d8…), CUDA on the 5090 and the 4090 phases 1 and 2 PASS with phase 3 and the 3090 running, every nonce bit for bit; OpenCL and Metal at 08:30 UK; the rows read NOT RUN in progress until the sixth reader (the spec's acceptance says every reader). Three reader faults recorded as faults, not disagreements (the engine-install class: a standalone engine process must call install_pow_genesis before the first epoch_for). | master b464021f and e95d32c9 (23:00 and 23:10 UK); build-1:/srv/artefacts/tas/same-work-20261008-02/ | same-work hand |
| The acceptance rule on the candidate (6.13) | PASS under both era inputs in circulation; the edc4fa84 program (the candidate) clean at widths 4 and 1 under the full rule and the crate's own predicate; attack-f8 subset PASS | master 17dee5bc (lane D, 22:40 UK); batch family-gate-20261008c | lane D |
| The live class v5 object (context 03) | 81fbfa3aa413173f at epoch 2 (epoch seed 3c3fab43…, day 20734), the live node's own program-id line as the witness; the same-work test's live-chain half, references about 00:25 UK, CUDA after them; labelled on an island, not a network | the hand's context 03 (build-1, sha256 53837a96…) | same-work hand |
| 2.0.2 pair gate | Kit 1's node is release-2.0.2-node d657e490 (the fold minus fix 2) and the cut tip release-2.0.2 6b17f951 (the pin and the manifest's node block at d657e490, release-manifest-check green; no crate move since 77b5acc5): the node stream on d657e490 (the kaspad check with igneum-pow and the five node suites on the key-succession pairing with the class v5 freeze) runs on build-4 from 23:14 UK, its batch 202-d657e490-6b17f951 when it closes. The earlier sha a284380b (the fold with fix 2) read every node cell GREEN on build-4 (core 185/0, exec 93/0, miner 33/0, p2p-flows 39/0, consensus 143/0, the kaspad check green) and its pair read RED on the real chain at 23:12 UK (a fix-2 lock fault: the EVM RPC hung seven minutes during IBD and the proof asks timed out), so it is not the kit; its batch 202-a284380b-5f50afd1 (master 26203e35) stands as the record. The miner tip: pow 113/0, app 389/0 on 77b5acc5. Kit 2 (the fold re-cut with the fix-2 fix) gets its own batch when named. | the shipper's 23:1x line; build-1:/srv/artefacts/tas/202-a284380b-5f50afd1/ | CI steward, shipper, node lane |
| Rule 33 canary for 2.0.2 | BLOCKED: no record yet; tools/ci/canary/5f50afd1.json with four blocks (fleet, hive, windows, mac) lands with the entries, each entry published on its own PASS block (publish-manifest.sh --release-sha) | the shipper's 22:3x line | shipper, fleet lane, relay lane |
| Network label | devnet-4 has been islands since the epoch-3 cut: every measurement recorded on the 2.0 devnet after 20:00 UK reads "on an island, not a network" until the fleet is one chain (the 2.0.2 roll as the convergence test, else the operator reset onto hub-1's chain at 04:00) | main's word through the coordinator, 22:2x UK; the recorder's --label-islands | CI steward |
The block is the steward's read-back of the lanes' own landed lines; the three roles in the signatures table sign by a landing of their own.
## Signatures (by 23:30 UK, 8 October 2026)
| Role | Name or lane | Commit signed | Time |

View file

@ -50,30 +50,30 @@
"manual_page": 18,
"owner_lane": "node lane (a283f5f0d364ceef0)",
"run_status": "NOT RUN",
"evidence_path": "build-1:/srv/artefacts/tas/202-d657e490-6b17f951/node-d657e490/box4-kaspad-check.log",
"run_id": "202-d657e490-6b17f951",
"updated": "2026-10-08T22:26:27.114Z",
"evidence_path": "docs/plans/igneum-2.0-f0-manifest.md; build-4:/srv/builds/igneum-wt-ci-steward-202",
"run_id": "f0-signing-20261008-2330",
"updated": "2026-10-08T22:27:26.165Z",
"evidence_record": {
"requirement_id": "GOV-01",
"decision": "NOT RUN",
"method": "native",
"method": "static",
"cell": "check:freeze",
"manifest_sha": "d657e490",
"run_id": "202-d657e490-6b17f951",
"evidence": "build-1:/srv/artefacts/tas/202-d657e490-6b17f951/node-d657e490/box4-kaspad-check.log",
"manifest_sha": "1a938abe",
"run_id": "f0-signing-20261008-2330",
"evidence": "docs/plans/igneum-2.0-f0-manifest.md; build-4:/srv/builds/igneum-wt-ci-steward-202",
"in_progress": false,
"coverage": "partial: the linked igneum-pow tree's fingerprint must match a listed freeze or the build fails, the binary prints which; the manifest (igneum_getManifest) names the object digest; the signed F0 manifest is the node lane's row tonight",
"release_identity": {
"commit": "d657e490",
"commit": "2a1d6caab4c24564 (the class v6 freeze candidate's draw of tree 1a938abe4)",
"lockfile": "",
"binary": "",
"network_object": "",
"network_object": "igneum-devnet-4, chain id 4465 (islands since the epoch-3 cut)",
"activation": "",
"profile_hashes": ""
"profile_hashes": "igneum-pow/src fingerprint 5f4d6dc6199294db89042171004e6420c1e5791e716d4b39b73d375818c10b6f"
},
"claim_impact": "",
"claim_impact": "GOV-01 moves with its page: the F0 manifest carries the signing block (the candidate at its pairing, the same-work and acceptance rows, the 2.0.2 pair gate, the prover row, the canary state); GOV-01 stays NOT RUN in progress until the three roles sign",
"reviewer": "",
"at": "2026-10-08T22:26:27.114Z"
"at": "2026-10-08T22:27:26.165Z"
},
"in_progress_since": "2026-10-08T19:32:50.856Z",
"approvals": {
@ -86,24 +86,24 @@
"check:freeze": {
"requirement_id": "GOV-01",
"decision": "NOT RUN",
"method": "native",
"method": "static",
"cell": "check:freeze",
"manifest_sha": "d657e490",
"run_id": "202-d657e490-6b17f951",
"evidence": "build-1:/srv/artefacts/tas/202-d657e490-6b17f951/node-d657e490/box4-kaspad-check.log",
"manifest_sha": "1a938abe",
"run_id": "f0-signing-20261008-2330",
"evidence": "docs/plans/igneum-2.0-f0-manifest.md; build-4:/srv/builds/igneum-wt-ci-steward-202",
"in_progress": false,
"coverage": "partial: the linked igneum-pow tree's fingerprint must match a listed freeze or the build fails, the binary prints which; the manifest (igneum_getManifest) names the object digest; the signed F0 manifest is the node lane's row tonight",
"release_identity": {
"commit": "d657e490",
"commit": "2a1d6caab4c24564 (the class v6 freeze candidate's draw of tree 1a938abe4)",
"lockfile": "",
"binary": "",
"network_object": "",
"network_object": "igneum-devnet-4, chain id 4465 (islands since the epoch-3 cut)",
"activation": "",
"profile_hashes": ""
"profile_hashes": "igneum-pow/src fingerprint 5f4d6dc6199294db89042171004e6420c1e5791e716d4b39b73d375818c10b6f"
},
"claim_impact": "",
"claim_impact": "GOV-01 moves with its page: the F0 manifest carries the signing block (the candidate at its pairing, the same-work and acceptance rows, the 2.0.2 pair gate, the prover row, the canary state); GOV-01 stays NOT RUN in progress until the three roles sign",
"reviewer": "",
"at": "2026-10-08T22:26:27.114Z"
"at": "2026-10-08T22:27:26.165Z"
}
}
},

View file

@ -0,0 +1,29 @@
{
"run_id": "f0-signing-20261008-2330",
"manifest_sha": "1a938abe",
"method": "static",
"evidence_dir": "docs/plans/igneum-2.0-f0-manifest.md",
"boxes": [],
"release_identity": {
"commit": "2a1d6caab4c24564 (the class v6 freeze candidate's draw of tree 1a938abe4)",
"lockfile": "",
"binary": "",
"network_object": "igneum-devnet-4, chain id 4465 (islands since the epoch-3 cut)",
"activation": "",
"profile_hashes": "igneum-pow/src fingerprint 5f4d6dc6199294db89042171004e6420c1e5791e716d4b39b73d375818c10b6f"
},
"claim_impact": "GOV-01 moves with its page: the F0 manifest carries the signing block (the candidate at its pairing, the same-work and acceptance rows, the 2.0.2 pair gate, the prover row, the canary state); GOV-01 stays NOT RUN in progress until the three roles sign",
"note": "F0's signing block written at 23:3x UK from the lanes' landed lines; the signatures table is the three roles' own landing.",
"cells": [
{
"cell": "check:freeze",
"cases": [
"GOV-01"
],
"status": "NOT RUN",
"in_progress": true,
"evidence": "docs/plans/igneum-2.0-f0-manifest.md; build-4:/srv/builds/igneum-wt-ci-steward-202",
"note": "the signing block is on the page; the freeze itself is unchanged (class v5 1c420786, fingerprint cbc5bd0a); the candidate's row names 2a1d6caab4c24564 of 1a938abe4"
}
]
}