13 KiB
Igneum Miner 0.3.12: app only, prepared to the publish gate, 6 October 2026
Release engineer, from 08:05 UTC, on the coordinator's instruction ("prepare 0.3.12, APP ONLY, up to the publish gate and STOP there; the project lead
gives the go"). No node change, no override change, no consensus parameter: the node fork stays 89dfcb95 (release-0.3.11-node), the
override the nine-field object of 0.3.11 (digest 0139ab9d...), the packaged line unchanged. Worktree /Users/joshm/Projects/igneum-wt-ship0312,
branch release-0.3.12 from master ddfcdac; vendor/ symlinked to the main checkout's (46 entries) with vendor/igneum-node-0312 pointing at
the 0.3.11 fork worktree (89dfcb95). The 0.3.11 recipe (release-0.3.11.md) throughout; every Mac build under the main checkout's lock;
igneum-labs commits. Times are UTC.
1. What 0.3.12 carries
| Change | Where | State |
|---|---|---|
/api/state never answers {} again: paid_wei (u128) is a decimal string, the error reply is logged; test |
proving-v1 app 6714a45 (the first item) |
merged 9bcf4cd (the docs/bench-log.md conflict: both sides kept, the log is append-only) |
An update published over an hour before the engine started skips the hourly rollout slot; manifest::unix_from_rfc3339 + tests |
update-catchup 2207cd7 |
merged b984c17 |
| The GPU list ordered by performance (usable, discrete before integrated, rate in 5 MH/s buckets, memory); 3 UI tests | card-order ffb2bfa |
merged c6608c1 |
HiveOS local mode carries the override (OVERRIDE= in the Flight Sheet's extra config, written to data/override-params.json by h-run.sh, C41), rigs mine only until a Linux prover ships, IDENTITIES=auto by VRAM, the per-card README table |
hive-words 98271ff (packaging/hive only) |
merged b0a6231 |
Ember Tune: two-knob plans + priors + the UI line; every quit names its source (b671c8b); a second engine never runs the updater (e600e63, C35); no pipe into a second engine (8ab9068); jobrun.rs elevated follow_file (1e9550e); the BOM fix + CI check (8273494); Power control switch (49bbe14 = 3562f26); igneum-gpu-telemetry.exe (ADLX) built by build-windows.sh and carried in the Windows inputs |
ember-tune 9a6469f |
NOT MERGED: conflicts in seven files against the 0.3.10/0.3.11 app (its base ca8d9f3 predates both): ci.yml, config.rs, engine.rs (the detect path, the power-cap plan, the test module), ui/app.js (four hunks against miner-ui-2's View), ui/index.html (the settings panel 0.3.10 removed), proto-opencl/README.md, bench-log.md. Its agent is rebasing it onto release-0.3.12 (section 2) |
The hidden-console builder for every elevated launch, windows-spawn-check.mjs, the PC 1 console-watch scripts |
job-console 13755b9 (+ 3562f26 Power control) |
NOT MERGED: conflicts in six files (ci.yml, config.rs, engine.rs, jobrun.rs, app.js, index.html), base a93199a; carried by the ember-tune rebase (it already holds 3562f26) |
| The miner's gRPC resubscribe after a node restart (C43, the 0.3.11 finding) | no commit exists (the ledger entries b19fe5f, 0751dde, c8c831c only) | OWED, listed in section 10 |
| The six version files | 81e4ecb (--check: 0.3.12 in all 6) |
Left out on the coordinator's word: the node fork, prover-floor's server (its packaging row is 0.3.13), explorer d7e797c, pool-v0, rig-install, ota-k2, the ledger forks.
Changelog line (draft, for the manifest notes at the go): "Igneum Miner 0.3.12: the GPU list in performance order; an old update no longer waits for the hour; Ember Tune (every card tuned for MH per watt, Power control off by default, the app never asks for administrator rights on its own); a second engine never installs over the app; /api/state always answers; HiveOS rigs carry the override. Node unchanged."
2. The branch
| Commit | What |
|---|---|
| 9bcf4cd, b984c17, c6608c1, b0a6231 | the four merges above, in the coordinator's order (proving-v1 first) |
| 81e4ecb | Igneum Miner 0.3.12: the six version files |
| (pending) | the ember-tune rebase tip (with job-console 13755b9 inside), merged as one branch |
Checks on 81e4ecb before the rebase landed: the app cargo test --release -p igneum-app under the lock: ok 115 (lib) + 28 (ota-sign) + 8
(prove-verify), 0 failed (08:19:22 to 08:19:28Z, warm target cloned from the 0.3.11 worktree); the UI tests notices, update-card, view:
23 of 23.
3. Builds and artefacts
| What | Command | Result |
|---|---|---|
| The HiveOS package | NODE_OUT=<the 0.3.11 zig node dir> WORKERS_OUT=<the 0.3.11 Linux workers> VERSION=0.3.12 OUT=<scratch> packaging/hive/make-hive-package.sh (the node 63cf490d... and the workers 4aaff27f.../82d90890... unchanged; the h-* scripts from hive-words) |
08:19:45Z: igneum-hive-0.3.12.tar.gz b0a20917dd1f995e7ff7f456cd995fed0860563e6952a7fb4f64a7857a5d2afe (24,501,272); h-run.sh writes data/override-params.json from OVERRIDE and starts the node with --override-params-file (the 0.3.11 open item closed) |
| The merged tree | ember-tune 7f6c4e6 (release-0.3.12 b0a6231 merged INTO ember-tune as c5918c7, job-console 13755b9 cherry-picked on top; 0.3.11's six-section View and card order kept whole, Ember Tune's TuneLine block and the Power control switch added in 0.3.11's markup, engine.rs keeps the detect arm with the tune fields in hotplug::apply_pref, both test modules, jobrun.rs the hidden-console builder plus follow_file) merged as one branch |
ebea8b6 (the CI commit), 08:22Z; the version files still 0.3.12 in all 6; packaged line, node-source.pin and vendor/ untouched against master |
| The app | cargo test --release -p igneum-app under the lock, then cargo build --release |
08:22:56 to 08:23:06Z: ok 133 + 28 + 8, 0 failed; igneum-app 0.3.12 (2,273,664) |
| The UI and relay tests | node --test notices, update-card, view, tune-line; relay/test/*.test.mjs |
26 of 26; 23 of 23 |
| The CI checks on the Mac | identity, no-conflict-markers, copied-sources, signer-pipe, prover-socket, second-engine, bash-body (self-test + tree), kit-path (self-test + tree), windows-spawn (self-test + tree), pinned-guests, no-secrets, check-workflow-shell | all ok; link-check passes after node site/build.mjs (as ci.yml runs it: the committed litepaper.html points at /bench#counter-asic-2-0-the-numbers, an id the site build creates from bench-log.md) |
| The Windows workers and the AMD telemetry helper | proto-cuda/nvrtc/build-windows.sh (mingw) under the lock, 08:23Z |
the worker SOURCES are unchanged against master (git diff master HEAD -- proto-cuda proto-opencl proto-metal igneum-pow: only build-windows.sh, the new gpu-telemetry.c and its .rc), so the inputs carry the 0.3.11-verified workers that mined all night, igneum-worker-cuda.exe 2b3b8c92885442179f6bf2907c6f3eb453dc4a19908d90fd05981a09b7c2674c (1,536,512) and igneum-worker-opencl.exe edc4a75da3b93d814caa69fd635010780d63d5b622ec24c3741d433c584f91e3 (478,208), not this morning's rebuild of the same sources (12bfaa27..., e0fd7042...: mingw PE builds are not byte-reproducible); NEW igneum-gpu-telemetry.exe 8d679b52b19af3cbd6bf4fd6f77d337b2fb78af13d02627e7aa7e92507993459 (387,584; ADLX, SetupAPI, PDH; the Igneum resources, version 0.3.0 as the workers carry) |
| The Windows inputs | IGNEUM_WIN_RELEASE=<fork>/target-integration/x86_64-pc-windows-gnu/release IGNEUM_NODE_SRC=vendor/igneum-node-0312 packaging/windows/push-inputs.sh, 08:24:29Z (a deploy of the downloads folder only; the manifest untouched) |
node 89dfcb95 (igneumd.exe be8e83c0..., igneum-miner.exe 1ba1a249..., PC 2's 0.3.11 build), the two workers above, the telemetry helper, the mingw DLLs and nvrtc; signed, verified, live (HTTP 200); node-source.pin unchanged 89dfcb95 |
| The DMG | NODE=<fork igneumd> MINER=<fork igneum-miner> PROVE_HOST/PROVE_EXPORT=<the 0.3.11 build> packaging/mac/build-dmg.sh under the lock |
08:24:33Z: Igneum-Miner-0.3.12.dmg ff630e9deb2e8f0ab39cdce422680f130fe9f8a6a9b679a24fa8a999de9998ee (41,630,620), engine 0.3.12, node 89dfcb95 (unchanged binary), the 0.3.11 prover host and export, igneum-bench rebuilt from proto-metal/main.swift (unchanged), CFBundleShortVersionString 0.3.12, hdiutil checksum valid |
| The Windows installer and zip | windows.yml run 37435975425 on ebea8b6 (dispatched 08:25:10Z after the inputs push; the build reads the live inputs) |
Igneum-Miner-Setup-0.3.12.exe f6bbf384f1e6f4f2cffe9169a121230f6093617f5b27ce116c5c037831b4ae8f (50,107,390); igneum-windows-app.zip f744bf907a18797cf1c7cd7e49e600014c14bbcebbb8f917a0070a204e1a278a (72,131,710), with igneum-gpu-telemetry.exe inside beside the two workers |
4. CI
| Run | On | Result |
|---|---|---|
ci 37435705568 |
ebea8b6 (the branch push, 08:22:40Z) | green (pow tests and census build, simulators, site build + link check + identity, the PowerShell 5.1 parse job) |
windows-ci 37435975425 |
ebea8b6 (gh workflow run windows.yml --ref release-0.3.12, dispatched 08:25:10Z after the inputs push) |
green 08:30:58Z (the parse job 08:25:16 to 08:25:56Z; engine, window host, payload, installer, smoke run 08:26:00 to 08:30:58Z against the 89dfcb95 inputs with the telemetry helper); fetched 08:31:40Z with OTA_SKIP=1 CONSOLE_SKIP=1 packaging/windows/fetch-ci-artifacts.sh 37435975425 into the downloads folder (NOT deployed: the ship's deploy step does that at the go) |
The ship state file ~/.cache/igneum/ship/0.3.12.json carries sha = ebea8b6 (the CI commit; the plan commits after it are docs only),
forkCommit 89dfcb95, bumpedAt before the DMG's mtime (so the dmg step reads "already"), and runId once the Windows run is green.
5. The publish gate: what runs at the project lead's go, and in which order
Nothing below has run. At the go, from this worktree:
| Step | Command | What it does |
|---|---|---|
| the ship | node tools/ship-app.mjs 0.3.12 --node vendor/igneum-node-0312 --branch release-0.3.12 --public --from ci --notes '<the changelog line of section 1>' |
preflight, ci "already" (37435975425), fetch (the installer and zip from that run), dmg "already", copy, manifest (consensus CARRIED OVER from the live 0.3.11 manifest: the nine-field object, activation_height 154800, the digest stays 0139ab9d...), deploy, verify (--from console after the public index settles at the edge, as 0.3.10 and 0.3.11 needed), console item; --public carries the HiveOS package (packaging/ota/publish-public.sh --hive <scratch>/hive/igneum-hive-0.3.12.tar.gz runs with it) |
| update-now, the Mac | packaging/ota/publish-jobs.sh add --kind update-now --target d937c69d --id update-now-0312-d937c69d --title "Igneum Miner 0.3.12" --deploy |
the Mac's engine restarts with 0.3.12 within the minute (its node is node 1, untouched: no node restart, no digest change) |
| update-now, PC 2 | the same for 1ccfe586, on the Counter ASIC coordinator's "PC 2 clear" if a measurement is in flight | the engine restarts; its node restarts only if the app's override file changes, and it does not (the same nine fields) |
| update-now, PC 1 | last, ae432dc7, once the project lead has relaunched its app (down since 22:31:06Z yesterday; it is on 0.3.10 and takes 0.3.11's override at the relaunch, then 0.3.12) |
Power control is OFF by default in 0.3.12, so no administrator prompt on the relaunch or the update; the 5090's power cap is not applied until the project lead switches Power control on in Settings |
| the laptop (37ba0461), Sam's Mac (3a9bf309) | no job: they take 0.3.12 through the manifest when they are next on the air (min_supported 0.3.0) |
|
| the hand nodes, the seed | NOTHING: no node change, no override change |
One line for the project lead, per machine, when he says go: the Mac and PC 2 restart their engines once (under a minute each, the miner is back on the next template; the node keeps running) and show the GPU list in performance order, the Ember Tune line and the new Power control switch (off); PC 1 gets the same at its relaunch, and because Power control is off nothing asks for administrator rights on it any more, which also means its 5090 runs uncapped until he switches Power control on; no node restarts, no digest change, no consensus change anywhere.
6. Owed to the next cut (0.3.13)
| Item | What |
|---|---|
| C43, the miner's dead gRPC channel | no commit exists; igneum-miner mine grpc:// must re-subscribe after its node restarts (the 0.3.11 finding: 11 min of 26 MH/s burned on the Mac); until then every hand restart of node 1 is followed by restart --what miners |
| prover-floor's server | its packaging row is 0.3.13 (the coordinator's word) |
| explorer d7e797c, pool-v0, rig-install, ota-k2, the ledger forks | left out on the coordinator's word |
| the Windows workers' reproducibility | mingw PE builds differ byte-for-byte between builds of the same sources (12bfaa27 vs 2b3b8c92 today); a -Wl,--no-insert-timestamp (or SOURCE_DATE_EPOCH) in build-windows.sh would make G5's one-commit rule checkable by hash |
| the site build's non-idempotence and the pre-push flip | unchanged from 0.3.10 and 0.3.11 |