release 0.3.12: the plan's builds, CI, publish gate and owed items

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-06 08:27:08 +00:00
parent 4965220bad
commit 5ea54327e9

View file

@ -44,3 +44,49 @@ Checks on 81e4ecb before the rebase landed: the app `cargo test --release -p ign
| 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) | (section 4) |
## 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`) | (pending at the time of writing; the installer and zip hashes go here) |
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 |