igneum/docs/plans/release-0.3.17.md
igneum-labs f51144970b Plan 0.3.17: 812c3ac2 (the silence read fixed, replay gate green) rides 0.3.18
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 00:31:31 +00:00

5.9 KiB

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) 9a44fcb8 (df787727 the last functional commit: igneum_getNodeInfo; the miner stall guard e6e1fbe2 with exit 45, the idle-peer drop 96619b7d) 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) 40fd8d8c yes (merged last, 02d15a87; params.rs both sides kept) consensus proof verification behind proving_consensus_verify_daa (never), the override's program ids as the statement's ids, sp1 as cfg(not(windows)) dependencies with the host-backed verify on Windows (the first merge of a344fea3 broke the Windows cross-build in sp1-jit; 40fd8d8c fixed it)
finality-pause-node-0317 (finality lane) fdc71bb5, rebased yes (cherry-picked as d8d1de1a onto the exec-free base) W7 the departure announcement behind finality_leave_activation_daa (never on the devnet; 0 and leave_delay 3600 in the testnet genesis per the project lead); protocol 17; the devnet digest unchanged by test
tail-emission-node-0317 (economy lane) 5647533f, rebased yes (cherry-picked as 996b592f, its params hunks without exec-sync's proving fields) its coinbase table replaces the subsidy table the silence rules build on; the rebase resolves it; no digest move while CURRENT
kaspad igneum-pow default feature 75467244 yes the node lane's N5 finding: a bare cargo build -p kaspad validated PoW with the kHeavyHash stub; every box reads igneum_getNodeInfo's powEngine "igneum-pow" in the table, "stub" is a FAIL
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

Final node tree 02d15a87 (75467244 + exec-sync-0313 40fd8d8c). 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.

2a. Linux binaries by glibc (main's rule, 7 October 2026, 01:3x UK)

HiveOS images are Ubuntu 20.04 (glibc 2.31); the canary pods on 22.04 (2.35) refused the box's binaries. From now: the HiveOS package carries the 2.31 zig build (the build-server lane produces and container-tests it; the 0.3.17 HiveOS row stays at 0.3.16 in the index until that package lands, then joins with its own read-back); seeds and generic Linux binaries are the 2.35 build; the fleet's own boxes (Ubuntu 24.04) take the box's native build. The Mac and Windows rows publish on their gates.

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 fork gate's fast-time line is GREEN on aa0182aa (gate on: a 27.5 percent key's private chain 183 DAA deep refused, 268 refusal lines, the honest node kept its chain; gate off, the known-failed case reorgs), one commit past the 9a44fcb8 this tree carries; the switch is at never on every network, so 9a44fcb8 stands for 0.3.17 (the chains were building) and aa0182aa rides 0.3.18. vote-or-burn and the signing bonus: the replay gate FAILED on 9a44fcb8 (this tree) and PASSES on 812c3ac2 (the silence read as a function of the block's own past), which rides 0.3.18 with aa0182aa; both switches are at never here, so a devnet node behaves the same; the signing bonus is settable at the testnet genesis on the project lead's word, the devnet not a candidate until the longer-span replay passes.
  • 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.