From d1d6f84b7ce1f3c14bfcc03473244ef08f9d4a41 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Wed, 7 Oct 2026 13:50:08 +0000 Subject: [PATCH] Testnet go checklist: the seeds' cut-over as the staged wave1-0320.sh seeds command (dry run, then --go on the project lead's word) Co-Authored-By: Claude Fable 5.1 --- docs/plans/testnet-go.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/plans/testnet-go.md b/docs/plans/testnet-go.md index 2c4865498..a76828a9e 100644 --- a/docs/plans/testnet-go.md +++ b/docs/plans/testnet-go.md @@ -140,6 +140,24 @@ chain is at height 0 and no miner exists). | 5 | The cross-check that the old chain is gone | a 5 October binary (`igneumd 1c19441d`) pointed at a seed is refused at the handshake on the digest | one refusal line in the seed's log | | 6 | Record | the digest, the genesis hash and the three sha256 lines in this file and in `docs/testnet/README.md`; the announcement text carries the genesis hash | | +Steps 2 to 5 as one staged command (the build-server lane, 15:1x UK; `infra/build-server/wave1-0320.sh` on branch `build-server`, +mode `seeds`; dry run by default, nothing touched; `--go` only on the project lead's word): + +``` +# from the build-server worktree; the seed-class binary from this lane's fork: cd vendor/igneum-node-testnet-genesis && tools/build-remote.sh --ship seed +infra/build-server/wave1-0320.sh seeds --igneumd --sha256 \ + --miner --digest --wipe-genesis --genesis 01294fd322704dc28fbef0e7a5ef86d6ee260ac5efaf88891cdba661b5fd58ac +infra/build-server/wave1-0320.sh seeds ... --go # the same line with --go, on the project lead's word +``` + +What it does with `--go`, on seed1, seed2 and seed3 in parallel: the binary put as `/opt/igneum/bin/igneumd.new` with the sha asserted on +the box, the unit stopped, `/var/lib/igneum/igneum-testnet-1` moved aside as `igneum-testnet-1.prev-` (kept), the binary swapped +(the old kept as `igneumd.prev`), the unit started, then one RESULT line per seed: unit state and downtime, `genesis MATCH` from the +`[igneum-exec] genesis ... executed` line against `--genesis`, the commit string count in the installed binary, the digest line against +`--digest`, `eth_syncing` and `net_peerCount` over the loopback RPC, the first journal line. No `--override`: the testnet takes none. The +dry run of 15:1x UK read all three seeds on 1c19441d at height 0 (`active a9ea25f8ada2`). The digest passed as `--digest` is the one the +final object prints (interim `80af8aa1...`; it moves once more with the genesis-forward fields), never a value from memory. + The route the shipper staged (0.3.20 cut, main's ruling (b), 14:4x UK, `docs/plans/release-0.3.20.md` 5e74fa2f): the three seeds stay on 1c19441d (digest `b7d8c915...`) through the 0.3.20 sweep and the public RPC filter's BLOCKED_UNTIL_FIXED_NODE set stays; at the go the build-server lane's `wave1-0320.sh` seeds mode puts the re-cut binary on the three seeds in parallel (the sha asserted, the commit string