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 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-07 13:50:08 +00:00
parent fe28e5412f
commit d1d6f84b7c

View file

@ -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 <path to the seed-class igneumd of testnet-genesis-2-node> --sha256 <its sha256> \
--miner <the seed-class igneum-miner> --digest <the FINAL digest the identity test pins> --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-<UTC stamp>` (kept), the binary swapped
(the old kept as `igneumd.prev`), the unit started, then one RESULT line per seed: unit state and downtime, `genesis <hash> 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