From 24ffd43fd11d5a7dc00418adb126bfaf288cee1f Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Wed, 7 Oct 2026 05:00:49 +0000 Subject: [PATCH] release 0.3.18 plan: main's rule (live before 13:30 UK, the pruning fix aboard); the testnet go line Co-Authored-By: Claude Fable 5.1 --- docs/plans/release-0.3.18.md | 2 ++ docs/plans/testnet-go.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/plans/release-0.3.18.md b/docs/plans/release-0.3.18.md index 020d3a5d1..7e0c0427e 100644 --- a/docs/plans/release-0.3.18.md +++ b/docs/plans/release-0.3.18.md @@ -103,3 +103,5 @@ Tips (node lane, 03:5xZ): release tree 4f4bb9c9 on ca3-v4-0317-fix (cherry-pick **Final node inputs (main, 04:0xZ): the 0.3.18 node tree is ca3-v4-0318 at 6e4ace3f** (a3fe9f67 the fix, b21659e4 the IBD-only follow-up, 6e4ace3f igneum_getNodeInfo's `blockrate` object for the merge check; exec-only, digest untouched; all suites green). The release-branch form (4f4bb9c9 + ddda7d52 on 12153428) is the equivalent and not used. After "0.3.17 live": release-0.3.18-node = 6e4ace3f, every platform rebuilt, then the canary. **Dated fault for this tree (the node lane, 05:05Z, found by the Mac's headers-proof join gate, not by a canary):** when the devnet's pruning point first leaves genesis (chain DAA 185,799, about eight hours from 05:00Z at 1 bps), every fresh join by headers proof fails for the next 2,644 DAA (about 45 minutes) with "IBD with headers proof ... unsuccessful (DAA window data has only N entries)": upstream's sampled-window walk (661 samples at rate 4) runs out at a gap in the trusted blocks instead of reaching genesis. Nodes already on the chain are untouched. Fix: joiner-side on the trusted path only, digest-neutral (the walk accepts a window that runs out at origin when the block is younger than the span), coming on ca3-v4-0318 (hash to follow); 0.3.18 carries it. Any fresh-join canary timed inside that 45-minute window FAILS from this, not from the idle-peer fix: time 0.3.18's canary outside it (before about 12:50Z or after about 13:40Z, to be firmed from the live DAA). + +**Main's rule for the 0.3.18 cut (05:1xZ):** it carries the node lane's joiner-side fix for the pruning-point fault (on the 0.3.18 tree the N6 guard would otherwise ban the syncer for ten minutes per retry), and **0.3.18 is live on every node before 13:30 UK (12:30Z)**, ahead of the devnet's first pruning (DAA 185,799, about 14:00 UK). If the full canary cannot close by then, publish 1 goes on the clean form plus the node lane's harness for that case, and the cases follow as confirmation, as with the hotfix. Every new chain, the testnet genesis included, meets the same fault once at its first pruning: the testnet go checklist (docs/plans/testnet-go.md) gets the line. diff --git a/docs/plans/testnet-go.md b/docs/plans/testnet-go.md index 7a70c5dd5..2b0bf4413 100644 --- a/docs/plans/testnet-go.md +++ b/docs/plans/testnet-go.md @@ -115,3 +115,5 @@ NET=testnet ./install-rpc-from-mac.sh seed1.testnet # the public RPC again The node binary for the seeds: `node tools/build-job.mjs run --node /Users/joshm/Projects/igneum/vendor/igneum-node-testnet-infra --target ae432dc7 --targets linux --no-tests` then `node tools/build-job.mjs fetch ` (lands in `infra/cross/out/`). + +- First pruning (dated, found 7 October 2026 on the devnet): when the pruning point first leaves genesis, every fresh join by headers proof fails for the next 2,644 DAA (about 45 minutes) unless the node carries the joiner-side window fix (0.3.18, ca3-v4-0318); the testnet ships on a node that has it, and the go checklist reads the fix commit back on every seed before go.