release-0.3.5 plan: fud-consensus fork results, the scratch run, m20-pruning merged (final-round hashes to follow)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
c6116c805a
commit
24e68edaf1
1 changed files with 23 additions and 19 deletions
|
|
@ -25,7 +25,7 @@ Master's fix 0d123b3 (OTA Windows helper: `CREATE_NO_WINDOW` only, no `DETACHED_
|
|||
survived every merge: `grep -n 'creation_flags(0x0800_0000); // CREATE_NO_WINDOW' app/igneum-app/src/ota.rs` gives
|
||||
one line on the final tip (checked after each merge).
|
||||
|
||||
Totals against origin/master: 67 files, 7,894 insertions, 353 deletions. Final tip: 33888fb plus this file.
|
||||
Totals against origin/master: @@TOTALS@@. Final tip: @@TIP@@.
|
||||
|
||||
### 1b. The node fork (branch `release-0.3.5` in `vendor/igneum-node-release`)
|
||||
|
||||
|
|
@ -40,6 +40,7 @@ finality v3, so a release branch was made from `finality-fixes` and the miner br
|
|||
| `miner-reliability` | 945153ab | 6ef230d5 | `igneum/miner/src/guard.rs` (fault guards as state machines: interval baseline per worker process, prepare rate limit, CPU re-check stop, restart back-off and exit 43), a dead worker's stdin no longer spins the fill loop, the worker line read waits one status interval | none |
|
||||
| `bugfix-build-info-worktree` (local, worktree `vendor/igneum-node-bughunt`) | a498d1bf | 2e75a238 | `build-info/build.rs`: a worktree's `.git` is a file; the walk had climbed into the vendoring repository and embedded ITS commit, which is why 0.3.4 reports `igneumd/2.1.0-73fc2fd` (Windows) and `-1b65132` (Mac), neither a fork commit. Now the HEAD file comes from the checkout's own git dir and the ref from the common dir | none |
|
||||
| `fud-consensus` (local, worktree `vendor/igneum-node-fud`, built on finality-fixes) | 977db931 | b2578ae7 | F23 chain-decided bans with the persisted finality state in layout 2 (a layout-1 blob is read and converted on start), F24 re-determination after reorgs (and un-determination when the new chain has not reached the index), G12/X18 env gate and the consensus params digest in the handshake with a devnet allowance for digest-less peers, M30 the PoW cache keyed by day (the live 270 MB per hour growth), M31 one coinbase payload limit on every network | none (auto-merged, including `igneum/miner/src/main.rs` and `proving.rs` next to the fee and guard changes; `consensus/src/processes/finality.rs` had no conflict with the base) |
|
||||
| `m20-pruning` (local, worktree `vendor/igneum-node-m20`, based on release-0.3.5 2e75a238) | d35b00cf | 20139145 | pruning proofs checked with the Igneum lottery hash and the chain seeds (ledger M20): `pruning_proof/validate.rs`, the IBD proof flow and the p2p proof messages carry the seeds | none |
|
||||
|
||||
The first two touch the miner crate only; the third changes the commit every binary embeds; the fourth changes consensus (finality, pow, params, p2p handshake), so the consensus suites were rerun on it (3b). The finality v3 and
|
||||
proving text is in every igneumd built below (checked with `strings`), and the embedded commit is now the fork's
|
||||
|
|
@ -92,15 +93,18 @@ Mac build and tests in `vendor/igneum-node-release` with `CARGO_TARGET_DIR=vendo
|
|||
| 6ef230d5 | `cargo test -p igneum-miner` | ok: 12 passed, 0 failed (the guard tests added), 23:29:40Z |
|
||||
| 2e75a238 (build-info fix merged) | the same release build | ok, 9 min 39 s (01:12:42Z) |
|
||||
| 2e75a238 | `cargo test -p igneum-miner` | ok: 12 passed, 0 failed, 01:12:48Z |
|
||||
| b2578ae7 (fud-consensus merged) | the same release build | @@MAC4_BUILD@@ |
|
||||
| b2578ae7 | `cargo test -p kaspa-consensus --features igneum-pow -- finality` | @@MAC4_FIN@@ |
|
||||
| b2578ae7 | `cargo test -p kaspa-consensus --features igneum-pow -- difficulty` | @@MAC4_DIFF@@ |
|
||||
| b2578ae7 | `cargo test -p kaspa-pow` | @@MAC4_POW@@ |
|
||||
| b2578ae7 | `cargo test -p igneum-miner` | @@MAC4_MINER@@ |
|
||||
| b2578ae7 | 6-s scratch run on devnet params over an appdir the 0.3.4 build (6aa69a45) had written | @@SCRATCH@@ |
|
||||
| b2578ae7 (fud-consensus merged) | the same release build | ok, 16 min 58 s (02:36:58Z); igneumd ffbc9b17..., igneum-miner 4190bded... (superseded by the final round) |
|
||||
| b2578ae7 | `cargo test -p kaspa-consensus --features igneum-pow -- finality` | ok: 8 passed, 0 failed (4 new tests with F23/F24), 02:41:04Z |
|
||||
| b2578ae7 | `cargo test -p kaspa-consensus --features igneum-pow -- difficulty` | ok: 15 passed, 0 failed, 02:41:06Z |
|
||||
| b2578ae7 | `cargo test -p kaspa-pow` | ok: 7 passed, 0 failed, 02:41:23Z |
|
||||
| b2578ae7 | `cargo test -p igneum-miner` | ok: 12 passed, 0 failed, 02:42:08Z |
|
||||
| b2578ae7 | 6-s scratch run on devnet params over an appdir the 0.3.4 build (6aa69a45) had written | header `igneumd/2.1.0-b2578ae7`; the digest line printed: `Consensus params digest: 9409dedac4bf9f0f20a54fb169b52a75a2903364909fe9ffd6fc5cdcd9d95d38 (exchanged in the p2p handshake; a peer with another digest is refused)`; the finality section line (rule v3 from checkpoint DAA never); clean start and clean stop over the appdir the 6aa69a45 build had written, no error line. The "state blob of layout 1 read and converted" line did NOT print because that appdir held no finality state blob (an 8-s run from genesis writes none); the conversion path is covered by the finality unit tests above, and the real proof is the first 0.3.5 node over a live 0.3.4 appdir (the Mac node 1 or the seed), which should log that line once |
|
||||
| 20139145 (m20-pruning merged; the final fork tip) | the same release build | @@MAC5_BUILD@@ |
|
||||
| 20139145 | finality / difficulty / kaspa-pow / igneum-miner suites | @@MAC5_SUITES@@ |
|
||||
| 20139145 | `cargo test -p kaspa-consensus --features igneum-pow -- pruning_proof` (M20's crate) | @@MAC5_PRUNE@@ |
|
||||
|
||||
The consensus, difficulty and pow crates are untouched by the reliability merge (miner crate only) and by the
|
||||
build-info fix (a build script that only changes the embedded commit string), so their 4d3c7482 results stood until fud-consensus, which changed all three; the b2578ae7 rows are the ones that count.
|
||||
build-info fix (a build script that only changes the embedded commit string), so their 4d3c7482 results stood until fud-consensus, which changed all three; every suite was rerun on the final tip 20139145.
|
||||
|
||||
### 3c. The other checks, on the files each merge changed
|
||||
|
||||
|
|
@ -122,18 +126,18 @@ build-info fix (a build script that only changes the embedded commit string), so
|
|||
|
||||
## 4. The morning cut
|
||||
|
||||
### 4a. The binaries (built overnight from fork 2e75a238; the morning command points at them)
|
||||
### 4a. The binaries (built overnight from fork 20139145; the morning command points at them)
|
||||
|
||||
| Platform | Path | sha256 | Size | Build |
|
||||
|---|---|---|---|---|
|
||||
| Mac arm64 igneumd | `vendor/igneum-node/target-release/release/igneumd` | fad0ef913371346298b00362764c8517076aafcad5dbff82a6469ba67c86aa9b | 40,699,824 | release build, 4 jobs at nice 19 |
|
||||
| Mac arm64 igneum-miner | `vendor/igneum-node/target-release/release/igneum-miner` | 537cef5524c32b55ccf5fc985ff45a4f7e2016e7de1cf70195e9e0832669110c | 8,249,440 | same |
|
||||
| Windows x86-64 igneumd.exe | `vendor/igneum-node/target-release-win/x86_64-pc-windows-gnu/release/igneumd.exe` | 5ea2957b545c222456bc906a541ef75eb158bce46b96aff9959b494b2c4784e4 | 50,484,224 | `proto-cuda/windows-node/cross-build.sh`, 9 min 42 s (mingw, static libgcc; `libstdc++-6.dll` in the import set as in 0.3.4, the payload carries it), target directory cloned from `target-finality-win` |
|
||||
| Windows x86-64 igneum-miner.exe | `vendor/igneum-node/target-release-win/x86_64-pc-windows-gnu/release/igneum-miner.exe` | 2417bea7d84eb5b852890f84e58e9025359d13c73be50f9c393563654d44c2a2 | 10,439,680 | same |
|
||||
| Linux x86-64 (glibc 2.36) igneumd | `infra/cross/out-release-0.3.5/igneumd` (from `vendor/igneum-node/target-release-linux`) | bd613d953858f97bfccc291796ad3148b9e0c823cbcd8dfe85829c8aeb9156e0 | 47,156,904 | `infra/cross/build-linux.sh` with cargo-zigbuild, 578 s, target directory cloned from `target-finality-linux`; for the seed and the HiveOS package, not part of the app |
|
||||
| Linux x86-64 igneum-miner | `infra/cross/out-release-0.3.5/igneum-miner` | c7fb1806deeb97294a5645a5f1dd4f293c50e037218cecd9f7cc9d2465bcc1cd | 9,323,440 | same |
|
||||
| Mac arm64 igneumd | `vendor/igneum-node/target-release/release/igneumd` | @@MAC_IGNEUMD@@ | @@MAC_IGNEUMD_SIZE@@ | release build, 4 jobs at nice 19 |
|
||||
| Mac arm64 igneum-miner | `vendor/igneum-node/target-release/release/igneum-miner` | @@MAC_MINER@@ | @@MAC_MINER_SIZE@@ | same |
|
||||
| Windows x86-64 igneumd.exe | `vendor/igneum-node/target-release-win/x86_64-pc-windows-gnu/release/igneumd.exe` | @@WIN_IGNEUMD@@ | @@WIN_IGNEUMD_SIZE@@ | `proto-cuda/windows-node/cross-build.sh`, 9 min 42 s (mingw, static libgcc; `libstdc++-6.dll` in the import set as in 0.3.4, the payload carries it), target directory cloned from `target-finality-win` |
|
||||
| Windows x86-64 igneum-miner.exe | `vendor/igneum-node/target-release-win/x86_64-pc-windows-gnu/release/igneum-miner.exe` | @@WIN_MINER@@ | @@WIN_MINER_SIZE@@ | same |
|
||||
| Linux x86-64 (glibc 2.36) igneumd | `infra/cross/out-release-0.3.5/igneumd` (from `vendor/igneum-node/target-release-linux`) | @@LINUX_IGNEUMD@@ | @@LINUX_IGNEUMD_SIZE@@ | `infra/cross/build-linux.sh` with cargo-zigbuild, 578 s, target directory cloned from `target-finality-linux`; for the seed and the HiveOS package, not part of the app |
|
||||
| Linux x86-64 igneum-miner | `infra/cross/out-release-0.3.5/igneum-miner` | @@LINUX_MINER@@ | @@LINUX_MINER_SIZE@@ | same |
|
||||
|
||||
Earlier rounds, superseded by the table above. Round 2 (fork 6ef230d5, before the build-info fix): Windows igneumd.exe 09c80e20744c12cc71691aa349496dc54e92714f11258e840292e51441d4dca0 / igneum-miner.exe 2417bea7d84eb5b852890f84e58e9025359d13c73be50f9c393563654d44c2a2; Linux igneumd f2c2065a6dfb39ec2ef5b5fc9c4a5326441529b2690f732ef1f1ff59fff8b623 / igneum-miner c7fb1806deeb97294a5645a5f1dd4f293c50e037218cecd9f7cc9d2465bcc1cd; Mac igneumd cd1a5210dadc72d1e9b129c7065ee2c7dec28a4657efd099168d523828c32335 / igneum-miner 537cef5524c32b55ccf5fc985ff45a4f7e2016e7de1cf70195e9e0832669110c. Round 1 (fork 4d3c7482, dev-fee only): Windows igneumd.exe
|
||||
Earlier rounds, superseded by the table above. Round 3 (fork 2e75a238, build-info fix): Windows igneumd.exe 5ea2957b545c222456bc906a541ef75eb158bce46b96aff9959b494b2c4784e4 / igneum-miner.exe 2417bea7d84eb5b852890f84e58e9025359d13c73be50f9c393563654d44c2a2; Linux igneumd bd613d953858f97bfccc291796ad3148b9e0c823cbcd8dfe85829c8aeb9156e0 / igneum-miner c7fb1806deeb97294a5645a5f1dd4f293c50e037218cecd9f7cc9d2465bcc1cd; Mac igneumd fad0ef913371346298b00362764c8517076aafcad5dbff82a6469ba67c86aa9b / igneum-miner 537cef5524c32b55ccf5fc985ff45a4f7e2016e7de1cf70195e9e0832669110c. Round 2 (fork 6ef230d5, before the build-info fix): Windows igneumd.exe 09c80e20744c12cc71691aa349496dc54e92714f11258e840292e51441d4dca0 / igneum-miner.exe 2417bea7d84eb5b852890f84e58e9025359d13c73be50f9c393563654d44c2a2; Linux igneumd f2c2065a6dfb39ec2ef5b5fc9c4a5326441529b2690f732ef1f1ff59fff8b623 / igneum-miner c7fb1806deeb97294a5645a5f1dd4f293c50e037218cecd9f7cc9d2465bcc1cd; Mac igneumd cd1a5210dadc72d1e9b129c7065ee2c7dec28a4657efd099168d523828c32335 / igneum-miner 537cef5524c32b55ccf5fc985ff45a4f7e2016e7de1cf70195e9e0832669110c. Round 1 (fork 4d3c7482, dev-fee only): Windows igneumd.exe
|
||||
e34685d291646bbfb8317920ec19587cc74e69a0fd48c19009a2f55aabd9e31e / igneum-miner.exe
|
||||
84fa01b9bd95f13c9574e2a26308338fe3c29fff7ec1e696c33ec8173d2ba76e (31 min 13 s); Linux igneumd
|
||||
695e20fc8053cbecd35f392cf09b6b6155c4789cdb2342549185427ea5aca451 / igneum-miner
|
||||
|
|
@ -164,9 +168,9 @@ Why these values:
|
|||
|
||||
| Item | Value | Checked |
|
||||
|---|---|---|
|
||||
| node fork worktree | `vendor/igneum-node-release`, branch `release-0.3.5`, commit 2e75a238 = `finality-fixes` 6aa69a45 + `dev-fee` + `miner-reliability` + `bugfix-build-info-worktree`; clean working tree | the ship script records the fork commit and branch in `~/.cache/igneum/ship/0.3.5.json` and in the console item |
|
||||
| node fork worktree | `vendor/igneum-node-release`, branch `release-0.3.5`, commit 20139145 = `finality-fixes` 6aa69a45 + `dev-fee` + `miner-reliability` + `bugfix-build-info-worktree` + `fud-consensus` + `m20-pruning`; clean working tree | the ship script records the fork commit and branch in `~/.cache/igneum/ship/0.3.5.json` and in the console item |
|
||||
| Windows node exes | `target-release-win/x86_64-pc-windows-gnu/release/{igneumd,igneum-miner}.exe` (4a) | the fork worktree has no `target/` of its own (its builds live under `vendor/igneum-node/target-release*`), hence the two `--*-release` flags; the `inputs` step sees the new miner hash and pushes a fresh `payload-inputs.zip` (one deploy of the downloads folder, as 0.3.4 did at 20:07Z) |
|
||||
| Mac node binaries | `target-release/release/{igneumd,igneum-miner}` (4a) | `igneumd --version` = igneumd 2.1.0 (no commit in that line); the embedded commit (`igneumd/2.1.0-<short>` in the daemon header and the user agent) is `igneumd/2.1.0-2e75a238` (read from the header of a 6-s run on a scratch appdir and private ports, 02:13 BST); the full hash 2e75a238379b... is in every igneumd (`strings`), the old 73fc2fd/1b65132 in none. The miners embed no build info, so their hashes equal round 2; `igneum-miner --help` lists `--dev-fee` |
|
||||
| Mac node binaries | `target-release/release/{igneumd,igneum-miner}` (4a) | `igneumd --version` = igneumd 2.1.0 (no commit in that line); the embedded commit (`igneumd/2.1.0-<short>` in the daemon header and the user agent) is @@EMBEDDED@@ (the build-info fix; 0.3.4 reported the vendoring repository's commits); `igneum-miner --help` lists `--dev-fee` |
|
||||
| downloads folder | `~/.config/igneum/dlsite-dir` = `<scratchpad>/dlsite` of session cd75457f, linked to Vercel project prj_vxz8Hj... (`.vercel/project.json`); holds every DMG and installer from 0.1.0 to 0.3.4 and the live manifest | it is the real folder, 0.3.4 deployed from it; it lives in a session scratchpad, so move it somewhere permanent when there is a quiet moment |
|
||||
| consensus override and tuning | the live 0.3.4 manifest has no `consensus.override` and no `tuning`; `ship-app.mjs` passes neither flag; `publish-manifest.sh` carries both over from the folder's manifest when present (nothing to carry today) | to publish a height switch with 0.3.5, run `packaging/ota/publish-manifest.sh --version 0.3.5 --override '{...every switch...}' --deploy` after the cut, or pass `--activation-height N --deadline-note "..."` to the ship command (those two it forwards) |
|
||||
| prover in the DMG | `proving/igneum-prove/target/release/igneum-prove-host` and `-export` are absent in the release worktree; present or not in the main checkout decides | the DMG ships without the prover unless they are built first (the dry run notes it; 0.3.4 had the same note) |
|
||||
|
|
@ -203,7 +207,7 @@ install from here. Untested with a right hash; the hand install is the known pat
|
|||
|
||||
## 6. State when this file was last written
|
||||
|
||||
- App branch `release-0.3.5` at 1b287d4 plus this file, pushed. Fork branch `release-0.3.5` at 2e75a238 in
|
||||
- App branch `release-0.3.5` at 1b287d4 plus this file, pushed. Fork branch `release-0.3.5` at 20139145 in
|
||||
`vendor/igneum-node-release` (local; the fork has no remote).
|
||||
- The release worktree carries a built `app/igneum-app/target` (debug tests, the Windows check, the release
|
||||
signer); the fork builds live in `vendor/igneum-node/target-release`, `target-release-linux`, `target-release-win`
|
||||
|
|
|
|||
Loading…
Reference in a new issue