Testnet go checklist: the go object is the 0.3.23 testnet object by the ruling of 19:2x UK (the 7 October re-cut kept as the record); rows for the final genesis message order, the base-unit word, the GitHub suspension; 9c re-arms on each cut; the gate rows re-run on the go object

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-07 18:48:48 +00:00
parent 74e7320aa7
commit 4fb52e5e45

View file

@ -35,7 +35,20 @@ igneumd/2.1.0
`health.sh` shows `synced=False` on all three: that is the no-blocks state (a node is synced once it has blocks past
genesis), not a fault. The check: `cd infra/seed-nodes && NET=testnet ./health.sh`.
## The genesis, re-cut (7 October 2026; FINAL at 18:4x UK with mission item 8 in, the cache rung behind its own switch)
## The go object (ruling of 7 October 2026, 19:2x UK): the 0.3.23 testnet object, pending the node lane's cut
By the coordinator's ruling of the evening of 7 October 2026, igneum-testnet-1 goes on the 0.3.23 testnet object (the Devnet 3 shape:
byte 7 from genesis, every Devnet 3 activation at 0, the era VDF at 0, class v5 at 0 if its Devnet 3 crossing reads clean, the heights,
the bonus's switch field), cut and re-armed on the seeds by the build-server lane, which owns them; the interim re-arm is the
release-0.3.22-node object (34a2dbaa, digest `87d103b6...`, genesis `52a3e6a9...`). Two orders ride with it: the testnet genesis carries
the FINAL message (the 5 October payload that `87617621...` carried, never the 4 October "proposed, not final" text that `52a3e6a9...`
hashes: a public node never starts on a proposal; the digest moves and the re-arm absorbs it), and the base unit, 8 or 18, is the project lead's word
(asked 21:40 BST, 7 October 2026), with the object cut both ways in a scratch read so his answer is a one-line switch, and nothing on a
seed before it. This section's object table is rewritten against that object once the node lane names the cut; the gate rows 9g, 9h and
9j re-run on it; row 9c reads "re-arms on each cut". Everything below this paragraph in this section is the 7 October RE-CUT of this
lane, void as a go object by the ruling and kept as the record of what was built and gated.
### The 7 October re-cut (void by the ruling; the record)
| Field | Value |
|---|---|
@ -117,11 +130,14 @@ Mac: 27 passed (the crate is not in the PC build inputs). The packager's self-te
| 9e | The proving pin: `TESTNET_PARAMS` pins the shard and aggregator ids of `proving/igneum-prove/elf/manifest.json` as master holds it (shard `0x2b1a81cb...`, pinned 2026-10-05T16:20:38Z). The fin-proof lane's worktree carries a re-pin (shard `0x39db9d96...`, pinned 2026-10-07T08:03:43Z, not on master). If that re-pin merges before the go, the two ids and the digest move once more (one `print_testnet_object` run, this lane's) | whoever merges the re-pin tells this lane | OPEN |
| 9i | The suites on the final tree (fork bfcaf6a2, 15:1x UK, bounded on build-2): consensus-core 144, consensus 123 (plus the one pre-existing red of 9f), exec 31, mining 52, p2p-flows 37, pow 16, rpc-core 134, txscript 158, kaspad 2; the five gate tests (the identity test, the genesis hashes, the print, the genesis-forward digest test, the silent-split equality) 5 passed at the gate class on build-1, digest `4fbb2152...`. Earlier in the day on the interim trees: grpc-core 14, p2p 23, miner 19, utxoindex 9, index-core 9, database 22, pskt 5 | this lane | GREEN |
| 9f | A pre-existing red, not the object's: `processes::pruning_proof::igneum_m20_tests::witnesses_are_checked_in_epoch_order_under_their_own_seeds` fails under `--features igneum-pow` on the untouched `release-0.3.18-node` e69e8a39 (08:52 UK, box load under 10) and on the decimals base eec34ac3 (that lane's record); no lane's suite compiles the feature-gated test. Owner: the m20 tests' lane | the consensus engineer | OPEN, recorded |
| 9c | Mission item 8: the genesis forward-compatibility fields (the sig_scheme byte, the W5 key-succession item, the cache rung on the ladder), lane `genesis-forward` (daa61847 to f95178a1 on the fork, 9e256a4b and after on the repo; its gates: consensus-core 124, consensus 114 twice on build-2, the fast-time harness's known-failed FAIL and pass PASS on build-1) | lane `genesis-forward` (done), this lane re-cut | DONE 15:0x UK, the cache rung's own switch added 18:4x UK (ff06c05c, after the Devnet 3 canary found the rung's fields under the ladder's digest arm moving a live devnet's digest): the four in TESTNET_PARAMS at 0 (the cache rung 512 inadmissible), the digest re-pinned at `63faee44...`, the genesis hash unchanged |
| 9c | Mission item 8: the genesis forward-compatibility fields (the sig_scheme byte, the W5 key-succession item, the cache rung on the ladder behind its own switch), lane `genesis-forward` (daa61847 to f95178a1 and ff06c05c on the fork; its gates: consensus-core 124, consensus 114 twice on build-2, the fast-time harness's known-failed FAIL and pass PASS on build-1). The testnet object RE-ARMS ON EACH CUT (the ruling of 19:2x UK): whatever the 0.3.23 object compiles for these four is what the seeds take | lane `genesis-forward`, the build-server lane re-arms | re-arms on each cut (this lane's re-cut had the four at 0, digest `63faee44...`) |
| 9k | The genesis message: the go object's genesis carries the FINAL 5 October message, never the 4 October proposal's text (the coordinator's order, 19:2x UK, to the node lane through the build-server lane); the hash and the digest follow it | the node lane, the build-server lane re-arms | ORDERED 19:2x UK, not yet read back |
| 9l | The base unit on the testnet, 8 or 18: the project lead's word, asked 21:40 BST 7 October 2026; the object is cut both ways in a scratch read (this lane's 18-decimal form is the record of the 18 side: the 16-byte genesis payload, the rescaled schedule, the two-node GPU gate 9j); nothing on a seed before the word | the project lead | OPEN |
| 9m | GitHub: the igneum-labs (igneum-labs) account is suspended since 18:02 BST 7 October 2026 (pushes 403, "Your account is suspended"); the project lead's ticket is open; every lane lands on the box mirror (`build`) with the box gate as the verdict until it lifts; this file's branch is on the mirror and the Mac, GitHub at 1f4793c1 | the project lead | OPEN |
| 9d | Windows: `igneum-prove-host` beside every Windows node (verification from genesis); PC 1's node refuses to start without it | the release engineer (the 0.4.0 package) | NOT DONE: to check in the 0.4.0 Windows installer |
| 9j | The two-node 18-decimal gate on the FINAL binaries (fork e6dd3afd, igneumd 58f96049..., igneum-miner 5625caee...; `tools/fleet/base-unit-gate.sh` 72b02b48, the GPU form on a RunPod RTX A5000 rented and run by the fleet lane): PASS at 15:19 UK, 7 October 2026: 322 chain blocks in 600 s, both nodes on one sink and one exec tip (0x142), the 30 inspected payloads all the 18-decimal schedule, 491 segment rewards against the schedule at each blue block's own DAA with 0 wrong, eth_getBalance 3,929.11134259 IGN (3,929,111,342,592,592,592,602 wei) equal on both nodes and to the sum of the rewards; both node heads print `Base unit: 10^18`, the digest `4fbb2152...` and `igneumd/2.1.0-e6dd3afd`, node B's exec line the genesis `01294fd3...`. The known-failed form (the 8-decimal schedule, 420 s) FAILED as it must at 15:27 UK: payloads wrong 30 of 30, rewards wrong 305 of 305. The logs: ~/igneum-fleet/tn-gate/out/ on the Mac | the fleet lane ran it, this lane reads it | PASS (the cut's closing gate) |
| 9h | The two-node 18-decimal gate on the re-cut binaries (`tools/fleet/base-unit-gate.sh` 72b02b48, the GPU form: RunPod RTX 3090, driver 580.65.06, the hive CUDA worker, rented and run by the fleet lane): PASS at 10:08 UK, 7 October 2026, on igneumd 8a6f1f56... and igneum-miner 726cf290... (fork commit f1717419): 577 blocks in 600 s, 421 chain blocks, both nodes on one sink and one exec tip (0x1a5), the 30 inspected coinbase payloads all the 18-decimal schedule (day-0 block 10 IGN = 10^19 base units), 80/20 exact on 18 of 18 single-payee coinbases, 577 segment rewards checked against the schedule at each blue block's own DAA with 0 wrong, eth_getBalance 4,617.53654629 IGN (4,617,536,546,296,296,296,298 wei) equal on both nodes and to the sum of the rewards; both node heads carry `Base unit: 10^18`, the digest `80af8aa1...`, the ladder active at rung 0, fees v1 from DAA 0 and proof verification from DAA 0 under the pinned ids. The first run of the same form (09:4x UK) read 165 of 561 rewards one ramp step low: the gate's check 5 still priced every reward at the chain block's DAA, fixed in 72b02b48 (each blue block its own DAA, the per-block rule). On the testnet object itself no voter exists inside a run (the 30-day window), so this line shows the layout, the switches and the identity without the bonus; the devnet-suffix line (9g) is the proof of the identity under the bonus | the fleet lane ran it, this lane reads it | PASS; the known-failed form (GATE_EXPECT_DECIMALS=8, the 8-decimal schedule against the same chain, 420 s) FAILED as it must at 10:15 UK: payload subsidies wrong 30 of 30, every segment reward wrong; the pod destroyed on this lane's done line |
| 9g | The fast-time line of the object (`infra/fast-time/testnet-object.mjs`, a devnet-suffix network on igneum-build-1 at the 60x profile: 5 nodes, four voting keys and one `--no-vote` key, every switch of `testnet-object.json` from genesis, the fast-time finality profile with leave delay 60, the testnet schedule at the devnet's unit): PASS at 11:12 UK, 7 October 2026, run 10 on the archive binaries (igneumd 57ad7dc2..., fork 5c25c1fb): the start-up lines and one digest on every node; class v4 at rung 0 (27 passes) through ten epochs, no ladder bits, the object byte 0 on 551 blocks; 0 rejected, one sink on five nodes; the first lock at DAA 142 (172 s); the silent key's 87 blocks paid the bonus split on the UTXO side (72 percent of the subsidy at each block's own DAA, 720,118,333 sompi at DAA 142 against 800,131,481 for a voter) and the voters' 320 blocks the plain split; the bridge identity exact for all five miners over the chain (UTXO payments x 10^10 = execution credits less the tip's own: 96,832,949,992 sompi against 968,329,499,920,000,000,000 wei for voter a, and so on); a signed leave accepted at DAA 212, its key out of the voter count (5 to 4) at DAA 351, no pause longer than one second after it, finality active at the end at lock 18. The road to it: run 1 (pre-fix binaries) showed the executor crediting 80 percent to the silent key while the coinbase paid 72 (the N7 finding), run 7 the side blues credited one ramp step high when the per-block switch was left out of the profile (the N8 shape), run 9 every check green but the harness's own pause reading (one-second reason flickers at each new lock, corrected to consecutive seconds). On the testnet object itself the weight window is 30 days, so this line is the proof of the bonus and the identity before the go | this lane | PASS; the known-failed forms are on record from the same morning: run 1 on the pre-fix binaries (the silent key credited 80 percent on the EVM side against 72 on the UTXO side, every other check green) and run 7 on the fixed binaries with the per-block switch left out of the profile (every miner's credit above its payments by the side-blue steps). A binary that carries the per-block field without the bonus fix does not exist (the pre-fix binaries refuse an override naming the field), so no third form runs |
| 9j | The two-node 18-decimal gate on the FINAL binaries (fork e6dd3afd, igneumd 58f96049..., igneum-miner 5625caee...; `tools/fleet/base-unit-gate.sh` 72b02b48, the GPU form on a RunPod RTX A5000 rented and run by the fleet lane): PASS at 15:19 UK, 7 October 2026: 322 chain blocks in 600 s, both nodes on one sink and one exec tip (0x142), the 30 inspected payloads all the 18-decimal schedule, 491 segment rewards against the schedule at each blue block's own DAA with 0 wrong, eth_getBalance 3,929.11134259 IGN (3,929,111,342,592,592,592,602 wei) equal on both nodes and to the sum of the rewards; both node heads print `Base unit: 10^18`, the digest `4fbb2152...` and `igneumd/2.1.0-e6dd3afd`, node B's exec line the genesis `01294fd3...`. The known-failed form (the 8-decimal schedule, 420 s) FAILED as it must at 15:27 UK: payloads wrong 30 of 30, rewards wrong 305 of 305. The logs: ~/igneum-fleet/tn-gate/out/ on the Mac | the fleet lane ran it, this lane reads it | PASS (the cut's closing gate) ON THE 7 OCTOBER RE-CUT; RE-RUNS ON THE GO OBJECT (the ruling of 19:2x UK) |
| 9h | The two-node 18-decimal gate on the re-cut binaries (`tools/fleet/base-unit-gate.sh` 72b02b48, the GPU form: RunPod RTX 3090, driver 580.65.06, the hive CUDA worker, rented and run by the fleet lane): PASS at 10:08 UK, 7 October 2026, on igneumd 8a6f1f56... and igneum-miner 726cf290... (fork commit f1717419): 577 blocks in 600 s, 421 chain blocks, both nodes on one sink and one exec tip (0x1a5), the 30 inspected coinbase payloads all the 18-decimal schedule (day-0 block 10 IGN = 10^19 base units), 80/20 exact on 18 of 18 single-payee coinbases, 577 segment rewards checked against the schedule at each blue block's own DAA with 0 wrong, eth_getBalance 4,617.53654629 IGN (4,617,536,546,296,296,296,298 wei) equal on both nodes and to the sum of the rewards; both node heads carry `Base unit: 10^18`, the digest `80af8aa1...`, the ladder active at rung 0, fees v1 from DAA 0 and proof verification from DAA 0 under the pinned ids. The first run of the same form (09:4x UK) read 165 of 561 rewards one ramp step low: the gate's check 5 still priced every reward at the chain block's DAA, fixed in 72b02b48 (each blue block its own DAA, the per-block rule). On the testnet object itself no voter exists inside a run (the 30-day window), so this line shows the layout, the switches and the identity without the bonus; the devnet-suffix line (9g) is the proof of the identity under the bonus | the fleet lane ran it, this lane reads it | PASS; the known-failed form (GATE_EXPECT_DECIMALS=8, the 8-decimal schedule against the same chain, 420 s) FAILED as it must at 10:15 UK: payload subsidies wrong 30 of 30, every segment reward wrong; the pod destroyed on this lane's done line ON THE 7 OCTOBER RE-CUT; RE-RUNS ON THE GO OBJECT (the ruling of 19:2x UK) |
| 9g | The fast-time line of the object (`infra/fast-time/testnet-object.mjs`, a devnet-suffix network on igneum-build-1 at the 60x profile: 5 nodes, four voting keys and one `--no-vote` key, every switch of `testnet-object.json` from genesis, the fast-time finality profile with leave delay 60, the testnet schedule at the devnet's unit): PASS at 11:12 UK, 7 October 2026, run 10 on the archive binaries (igneumd 57ad7dc2..., fork 5c25c1fb): the start-up lines and one digest on every node; class v4 at rung 0 (27 passes) through ten epochs, no ladder bits, the object byte 0 on 551 blocks; 0 rejected, one sink on five nodes; the first lock at DAA 142 (172 s); the silent key's 87 blocks paid the bonus split on the UTXO side (72 percent of the subsidy at each block's own DAA, 720,118,333 sompi at DAA 142 against 800,131,481 for a voter) and the voters' 320 blocks the plain split; the bridge identity exact for all five miners over the chain (UTXO payments x 10^10 = execution credits less the tip's own: 96,832,949,992 sompi against 968,329,499,920,000,000,000 wei for voter a, and so on); a signed leave accepted at DAA 212, its key out of the voter count (5 to 4) at DAA 351, no pause longer than one second after it, finality active at the end at lock 18. The road to it: run 1 (pre-fix binaries) showed the executor crediting 80 percent to the silent key while the coinbase paid 72 (the N7 finding), run 7 the side blues credited one ramp step high when the per-block switch was left out of the profile (the N8 shape), run 9 every check green but the harness's own pause reading (one-second reason flickers at each new lock, corrected to consecutive seconds). On the testnet object itself the weight window is 30 days, so this line is the proof of the bonus and the identity before the go | this lane | PASS; the known-failed forms are on record from the same morning: run 1 on the pre-fix binaries (the silent key credited 80 percent on the EVM side against 72 on the UTXO side, every other check green) and run 7 on the fixed binaries with the per-block switch left out of the profile (every miner's credit above its payments by the side-blue steps). A binary that carries the per-block field without the bonus fix does not exist (the pre-fix binaries refuse an override naming the field), so no third form runs ON THE 7 OCTOBER RE-CUT; RE-RUNS ON THE GO OBJECT (the ruling of 19:2x UK) |
| 10 | The first miner: one app on the testnet (PC 1 or PC 2 with the 0.4.0 build, or `igneumd --testnet` plus `igneum-miner --network testnet` by hand) produces block 1; the seeds relay it, `health.sh` shows blocks=1 on all three, `synced=True`; note the young-window join fault: a node that joins a chain younger than its finality window sees `synced=False` until blocks pass genesis, which is the no-blocks state, not a fault | the project lead says go, the miner-community lead starts it | NOT DONE: nothing mines until the word |
| 11 | Watch: `NET=testnet ./health.sh --watch`, the RPC's `eth_blockNumber`, the DAA after 600 blocks (the launch difficulty `0x1d100000` is sized for a few hundred MH/s) | the infrastructure engineer | ready |