Merge release-0.3.6 plan commits (0.3.7 results)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-josh 2026-10-05 11:36:39 +01:00
commit 2f60b202b0

View file

@ -585,3 +585,76 @@ RUSTFLAGS changed):
Both embed 2b6d23ef. The gate with this Mac's toolchain DLLs (GCC 16.2.0): igneumd.exe, all 197 imported symbols
exported (5,994 exports), pass. The PC-built pair (d08404c2..., 8bdb4c6e...) is kept in the session scratchpad
(`pc-built-036/`) for the 0.3.8 item and is no longer under `target-integration`.
### 9a. The 0.3.7 ship
Josh pushed `release-0.3.6` at c528ce8 (10:10Z). `gh workflow run windows.yml --ref release-0.3.6` → run 37294921529,
10:11:01Z, green 10:16Z (the G13 step verified the 0.3.7 inputs of 57d2ad32...). Dry run clean (0 behind origin/master
this time). The real run, `node tools/ship-app.mjs 0.3.7 --node vendor/igneum-node-036 --branch release-0.3.6 --dl-both
--activation-height 84100 --deadline-note "proving v0" --notes "Hotfix for Windows nodes: ..." --from ci`:
| Step | Result |
|---|---|
| preflight | ok, tree c528ce8 clean |
| ci | green after 5 min of polling |
| fetch | Igneum-Miner-Setup-0.3.7.exe 18.9 MB, igneum-windows-app.zip 26.3 MB |
| dmg | already (8ee96b3b..., built 09:46 to 09:49Z) |
| copy, mirror | DMG into the OLD folder; 7 files into the NEXT folder |
| manifest | override carried over from the OLD folder's republished 0.3.5 manifest (the same object the NEXT folder's 0.3.6 held; both read before the step); both signed, verified, same fields |
| deploy | 10:16Z |
| verify | 3 files and the manifest match in both folders |
| console | item #350 "Igneum Miner 0.3.7 shipped (mac+windows)"; exit 0 |
The live manifests, read 10:17:22Z, compared field by field with the 0.3.5 record (8h):
| Field | OLD folder | NEXT folder |
|---|---|---|
| version, channel, min_supported_version, published_at | 0.3.7, devnet, 0.3.0, 2026-10-05T10:16:29Z | the same, 2026-10-05T10:16:29Z |
| consensus | identical to 0.3.5's: override {33000, 84100}, activation_height 84100, deadline_note "proving v0" | identical |
| fees_v1_activation_daa, tuning | absent, absent | absent, absent |
| mac | dmg 8ee96b3b054f45721ea08d0e00dfae79fc127fdfa503e05565d117b2c71cd9e2, 40,156,739, URL in its folder | same bytes, URL in the NEXT folder |
| windows | inno-setup 2bacba64628b02e5f03e54007e794a30438a966238c75293a2905e1b5c5e2557, 19,784,297, URL in its folder | same bytes, URL in the NEXT folder |
`update-now-20261005-101725` to all, published 10:17:25Z (mirrored to both folders by the publisher), the apps woken
(stamp 2026-10-05T10:17:25Z.726198ee): the 0.3.5 PCs check hourly otherwise.
Baseline 10:11:52Z, before the publish: Mac d937c69d app 0.3.6 node 2b6d23ef DAA 92597 22.4 MH/s; PC 1 ae432dc7 app
0.3.5 node 2.1.0 (the rolled-back 0.3.5 node) DAA 92578 112.1 MH/s; PC 2 1ccfe586 app 0.3.5 DAA 92578 122.3 MH/s;
Sam's Mac 3a9bf309 silent 28 min (app 0.3.5, 0.0 MH/s at its last report); PC 37ba0461 app 0.3.5 node 20139145 DAA
92583 2.3 MH/s. A machine counts as updated only when its node reports a DAA score and the miner a hash rate on 0.3.7.
The update-now job reached only the OLD folder: `publish-jobs.sh` on this branch writes `dl/<token>/igneum-jobs.json`
and has no mirror step (checked 10:21Z: the NEXT folder still served the 09:55:44Z file, 48 jobs, without it; the
0.3.6 Mac, packaged on the NEXT folder, could not see the job). The jobs file and its signature were copied into the
NEXT folder by hand (the ship's own mirror step does the same) and the folder deployed once; the NEXT folder served
the 10:17:25Z file with the job from 10:22:2xZ. Item: `publish-jobs.sh --deploy` must write both folders while the
rotation lasts (rotation-phase-2 plan section 4).
`update-now-20261005-101725` ran on: Mac d937c69d 10:23:57Z (94 s after the NEXT folder's jobs file went live, on its
2-minute poll), PC 37ba0461 10:24:21Z, PC 2 1ccfe586 10:27:04Z, PC 1 ae432dc7 10:27:13Z (the 0.3.5 PCs on their
10-minute poll); Sam's Mac 3a9bf309 silent since 09:41Z, not reached. Each answered "update check and install asked".
| Machine | On 0.3.7 (node DAA and hash rate reported) | Its log |
|---|---|---|
| Mac d937c69d | engine restart 10:24:20Z (unix 1791195860), 23 s after the job, 3 min 51 s after the publish; node synced at 93390 blocks with 4 peers at +30 s; mining from +36 s (1.9 MH/s while the kernel race ran its 14 variants, the full rate after) | run `mac-d937c69d-20261005-102419`: `IGNEUM-APP version=0.3.7`, `[ok] updated to Igneum Miner 0.3.7 from 0.3.6`, `config: ... key 477bb0ef ... folder ed9c4d2e (packaged)`, `igneumd started (pid 99175)`, `node proof verifier: command (.../igneum-prove-host)`, `node proof verifier reported: command` at +10 s |
| PC 2 1ccfe586 (Windows, 0.3.5 to 0.3.7) | engine 10:27:13Z (unix 1791196033), 9 s after the job's ask; node started 10:27:16Z, `node proof verifier reported: command` +10 s, node synced at 93544 blocks with 2 peers at +30 s, 118.74 MH/s at +60 s; console 10:28:14Z: node 2b6d23ef, DAA 93582, 122.3 MH/s | run `win-1ccfe586-20261005-102712`: `[ok] updated to Igneum Miner 0.3.7 from 0.3.5`, fingerprints 477bb0ef/ed9c4d2e, no `exited with code` line (the 0.3.6 loop is gone) |
| PC 37ba0461 (Windows, the US laptop, 0.3.5 to 0.3.7) | engine 10:24:59Z (1791195899), 38 s after its ask at 10:24:21Z; node started 10:25:04Z, synced at 93449 blocks at +60 s, mining; `update to 0.3.7 complete` 10:26:27Z; console 10:28:14Z: node 2b6d23ef, DAA 93568, 1.8 MH/s (its usual 2.3) | run `win-37ba0461-20261005-102457`; `node proof verifier: off (the WSL2 prover is not installed ...)`, as designed on a machine without the WSL prover |
| PC 1 ae432dc7 (Windows, 0.3.5 to 0.3.7) | engine 10:27:21Z (1791196041), 8 s after its ask; node started 10:27:25Z, `node proof verifier reported: command` +10 s, node synced at 93552 blocks with 3 peers at +30 s, mining | run `win-ae432dc7-20261005-102720`; the hash-rate line follows at +60 s (next watch tick) |
| Sam's Mac 3a9bf309 | not reached: silent since 09:41Z (last report app 0.3.5, 0.0 MH/s); the update-now job and the manifest wait for it | |
Console 10:30:51Z, every reachable machine on 0.3.7 with node 2.1.0-2b6d23ef, a DAA score and a hash rate: Mac
d937c69d DAA 93724, 22.8 MH/s; PC 1 ae432dc7 DAA 93724, 114.3 MH/s; PC 2 1ccfe586 DAA 93715, 121.2 MH/s; PC 37ba0461
DAA 93696, 1.8 MH/s. Sam's Mac 3a9bf309 silent (47 min). Publish to the last of the four updated: 14 min 22 s,
of which the update-now job's reach on the 0.3.5 PCs (10-minute poll) was 9 min 48 s. The watch was stopped here.
## 10. Open after the cut
| Item | State |
|---|---|
| Why the PC-built Windows node dies at start even with matching DLLs (section 9) | 0.3.8: reproduce under WSL (wine) or on PC 2 in a scratch run; GCC 13 posix vs GCC 16; `-static` and rocksdb's thread model. Until then the Windows node is the Mac cross-build |
| `publish-jobs.sh --deploy` writes one folder | mirror to the NEXT folder while the rotation lasts (done by hand at 10:22Z) |
| The app marks "update complete" on its own health | it should wait for the node's first DAA score, so a dead node rolls back (the 0.3.6 PCs looped for 20 minutes) |
| Two finality tests under the five-package parallel suite | test isolation (per-process PoW cache directory); a clean `kaspa-consensus`-alone run on 2b6d23ef still owed |
| igneumd not reproducible across PC 1 and PC 2 (8f) | unverified why |
| Sam's Mac | silent since 09:41Z; takes 0.3.7 on its next check |
| The 0.3.6 app-side fixes carried into 0.3.7 and not yet exercised on a PC | the PC's windows stage shipping its DLLs (`jobbuild.rs`), the stamp after extract, the WSL scripts from files on a real probe (the Mac verifier path is proven; the Windows wrapper path only by its unit tests and the node's `verifier reported: command` on both PCs, which means the wrapper's probe answered) |