Mainnet cut over 2026-09-09 09:01 UTC. The spec (sha256 81f048c0…, id
"mainnet", genesis 0xfb5487c0…) is committed under asset/chainspec/ and
the deploy env carries the spec path, its checksum, the expected genesis
and the seven foundation bootnodes, so push-triggered deploys reproduce
the hand cutover exactly and validate asserts the genesis from now on.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CBgs2nSi4H2mdh8kD8vMX5
The mainnet package arrives as files (spec, bootnodes, genesis, checksum
file, readme) with the node staying on 0.11.1, so the spec is committed
under asset/chainspec/ after verification and the deploy takes a repo
path as well as a URL. CHAINSPEC_SHA256 / chainspec_sha256 re-verifies the
file in fetch. The fetch job now checks the repo out.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CBgs2nSi4H2mdh8kD8vMX5