diff --git a/docs/plans/release-0.3.17.md b/docs/plans/release-0.3.17.md new file mode 100644 index 00000000..56a8b1e6 --- /dev/null +++ b/docs/plans/release-0.3.17.md @@ -0,0 +1,36 @@ +# Igneum Miner 0.3.17: the 0.3.17 tree as cut on 7 October 2026 + +The hourly cut after 0.3.16, under the coordinator's rule: every new switch at never on the devnet so the digest does not move; cut what is green and list what waited. Worktree `igneum-wt-ship0317` (release-0.3.17 from release-0.3.15 a9eb58f1), node `release-0.3.17-node` in `vendor/igneum-node-0317` (from f1ea7a38). + +## 1. The node tree + +| Branch | Tip | In 0.3.17 | Why | +|---|---|---|---| +| ca3-v4-0316 (node lane) | 3301cf32 | yes | the unwrap class, the seven-window rule, the finality cause fields, igneum_getRecentBlocks, difficulty rule v3, the fork gate, vote-or-burn, the signing bonus, the miner's stall exit (every switch absent from the live object = never) | +| ladder-node (ladder lane) | 1591ee1d | yes | the latency ladder behind latency_ladder_activation_daa (never); the receive gate reads header_signals_active (the lane's merge note, applied as c6e12005's parent commit) | +| exec-sync-0313 (proving lane) | a344fea3 | NO, waited | sp1-sdk linked unconditionally breaks the Windows cross-build (sp1-jit: std::os::fd, libc sem_*); needs a cargo feature off for Windows; the tree's exec tip stays 2e5d3d30 (0.3.15's) | +| finality-pause-node (finality lane) | 766e70ca | NO, waited | 7 conflict blocks in finality.rs and params.rs against ca3-v4-0316's finality work; a rebase for its owner | +| tail-emission-node (economy lane) | 486895d6 → 5647533f (rebased on 495ec703) | pending the cherry-pick onto c6e12005 | its coinbase table replaces the subsidy table the silence rules build on; the rebase resolves it; no digest move while CURRENT | +| kaspa-testing-integration | cc78a21f | fixed here | compiles again (the block store's evm argument, Header's vote_key_hash, the Params const as a let, the four finality ops in the RPC sanity match); the box suite is to compile every test crate from here | + +Digests on the exec-free tree c6e12005 (Mac binary, direct run): the live sixteen-field object eada4bda (unchanged), the thirteen-field file b18ed271, no file c562d70e. A harness note: scratchpad digest.sh printed the no-file digest for a file that reads eada4bda while other nodes held its ports; it now says UNTRUSTED when the override lines are missing. + +## 2. The app tree + +| Branch | Tip | In 0.3.17 | +|---|---|---| +| ladder (repo side) | 7003f9f | yes (igneum-pow's chain_program_shadow, which the fork's kaspa-pow needs) | +| exec-app-0314 | 032f03c | yes (clean; docs as the union) | +| relay | 28c028b | yes (ci.yml on the release side) | +| ember-tune-0317 (rebased on a9eb58f1) | bb37c993 | yes: the release lines kept (job_active, install_asked, the stale-exporter line), live.rs one merged module, publish-manifest.sh Ember's guard | +| miner-ui-4 (rebased on a9eb58f1) | afc331bd | yes: ui/ whole with Ember's finality words, extnode.rs on igneum_getNodeInfo, N4 stall exits, the port-collision check, POST /api/shot, an external node that goes away hands the ports to the app after 60 s; src/live.rs stays Ember's | +| proving-v2 | d8055a7 | NO (its exec content is in c00e608; its extra is the proof-system v2 slot, its own cut, per its owner) | + +App tests on the merged tree: 175 + 28 + 8; UI 41. A whole-file take of a lane's branch on an older base dropped the release tree's own fixes (seen and reverted): the lanes rebase onto the release tree and resolve there; the shipper merges, never substitutes files. + +## 3. Owed + +- exec-sync-0313's consensus verification behind a feature off for Windows (the proving lane), then its two commits. +- finality-pause-node rebased onto the 0.3.17 node (the finality lane). +- decimals (B10 gate), vote-weigh and tail-emission docs: the next cut. +- The canary in the full form before publish (a new node mining beside an old one with a poisoned peer, ten minutes, a mid-window re-sync), the staged-in-scratch rule, every new switch at never.