release 0.3.12: the plan's digests, the two-publish order, the line for Josh
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
4c63017031
commit
ff6e624cd0
1 changed files with 44 additions and 20 deletions
|
|
@ -69,7 +69,49 @@ Checks on 81e4ecb before the rebase landed: the app `cargo test --release -p ign
|
|||
| The Windows installer and zip, first run | `windows.yml` run 37435975425 on ebea8b6 (dispatched 08:25:10Z after the inputs push) | green 08:30:58Z, but its zip (f744bf90..., 72,131,710) and installer (f6bbf384..., 50,107,390) carry NO `igneum-gpu-telemetry.exe` (the make-payload glob, 6532adf): superseded, not shipped |
|
||||
| The Windows installer and zip | `windows.yml` run 37436904041 on 6532adf (dispatched 08:33:28Z) | (section 4) |
|
||||
|
||||
## 4. CI
|
||||
## 4. The override objects and the digests (the 0.3.12 Mac node 746a931f..., ports 60975/60976, 22 s each, under `run`)
|
||||
|
||||
| Override file | Lines | Digest |
|
||||
|---|---|---|
|
||||
| none | `igneumd/2.1.0-83089544`, no activation line | c562d70e1428c9789823cc40067623b4767f7c555ce7ff4ea11c1498f013ef6c, EQUAL to 0.3.11's no-file digest: the new field is never by default and leaves the digest alone until set |
|
||||
| the fleet's live nine-field object | the six activation lines of 0.3.11, no fresh-rule line | **0139ab9dc2992d449ec787d8f021974933631eb55740ab4b6ce9d5c226e72888**, EQUAL to the fleet's digest today: publish 1 (the binary) changes no handshake, a 0.3.12 node and a 0.3.11 node on the nine-field file accept each other |
|
||||
| the ten-field object (`proving_v1_fresh_rule_daa` 192000) | the six lines plus `Proving v1 fresh-record rule from the override file: from DAA score 192000 a fresh segment record is valid whenever the previous segment is not proven` | **bd786a4b521e87c05bce3da4c46b4f4696deb16dfbdc913f181c980a8eb51688** |
|
||||
|
||||
The ten-field object (the packaged line 7dd3ff7, the manifest of publish 2, the hand nodes' and the seed's files at step 2):
|
||||
|
||||
```
|
||||
{"difficulty_v2_activation_daa":33000,"proving_v0_activation_daa":84100,"fees_v1_activation_daa":210000,"finality_v3_activation_daa":135200,"program_class_v3_activation_daa":154800,"proving_v1_activation_daa":154800,"proving_v1_segment_blocks":8,"proving_v1_unproven_daa":600,"proving_v1_aggregator_share_bps":1000,"proving_v1_fresh_rule_daa":192000}
|
||||
```
|
||||
|
||||
N = 192,000 is tip + 14,400 for a publish near 10:15Z (tip 171,933 at 08:38:41Z, 0.97 to 0.99 DAA/s, so about 177,600 then); the floor
|
||||
N - tip >= 10,800 holds while the tip is at or under 181,200 (about 11:15Z); past it N is re-pinned to tip + 14,400, the packaged line, the
|
||||
DMG and the installer rebuilt (CI again), and the digest re-read. A 0.3.11 node given the ten-field file dies on the unknown field
|
||||
(`deny_unknown_fields`), which is why publish 2 comes only after every node runs the 0.3.12 binary (the reviewer's C39, the 0.3.11 order).
|
||||
|
||||
## 5. The publish gate: what runs at Josh's go, in which order (the 0.3.11 two-publish shape)
|
||||
|
||||
Nothing below has run. Runbook: the session scratchpad's `r0312/rollout-0312.sh` (every step a function; `step_floor` before each publish).
|
||||
|
||||
| Step | What | Gate |
|
||||
|---|---|---|
|
||||
| 0 the floor | `step_floor`: 192,000 minus the tip's DAA at least 10,800 | read before publish 1 and again before publish 2 |
|
||||
| 1a the hand nodes, the seed | the observer and node 1 on the 0.3.12 binary with the NINE-field file (`IGNEUMD=<fork>/target-integration/release/igneumd IGNEUMD_COMMIT=83089544 infra/devnet/restart-hand-nodes.sh '<nine>'`), then the seed (`IGNEUMD_LINUX=<scratch>/cross/igneumd IGNEUMD_LINUX_SHA256=4f142d51... infra/devnet/restart-seed.sh '<nine>'`); every one prints 0139ab9d..., nobody is refused; then `step_mac_miners` (the Mac's miner does not reconnect to a restarted node 1 by itself, C43) | Josh's go |
|
||||
| 1b publish 1 | `node tools/ship-app.mjs 0.3.12 --node vendor/igneum-node-0312 --branch release-0.3.12 --public --activation-height 154800 --deadline-note "program class v3 + proving v1" --notes '<section 1>' --from ci`: ci "already" (the green Windows run), fetch, dmg "already", copy, manifest with `consensus` CARRIED OVER (the nine-field object; the digest stays 0139ab9d...), deploy, verify (`--from console` after the public index settles at the edge), the console item; `--public` carries the HiveOS package 7972af92... | after 1a |
|
||||
| 1c update-now | the Mac (d937c69d) first; the laptop (37ba0461) with it if it is on the air; PC 2 (1ccfe586) on the Counter ASIC 3.0 coordinator's word (PC 2 is its this morning; the proving agent's constraints: the app's prover stays on, no quit or restart of anything but the update's own); PC 1 (ae432dc7) last, once Josh has relaunched its app (down since 22:31:06Z yesterday, on 0.3.10: it takes the nine-field object and 0.3.12 at its relaunch through the manifest; Power control is off by default so nothing asks for administrator rights) | each machine's STATUS line back on 0.3.12 with 0139ab9d... |
|
||||
| 2a the floor again | `step_floor` | >= 10,800 or re-pin |
|
||||
| 2b the hand nodes, the seed | the same two scripts with the TEN-field file; each prints bd786a4b... and refuses the nine-field side until it switches; `step_mac_miners` again | every app node on the 0.3.12 binary (1c) |
|
||||
| 2b publish 2 | `publish-manifest.sh --version 0.3.12 --override '<ten>' --activation-height 192000 --deadline-note "proving v1 fresh-record rule" --notes '<section 1>' --public --deploy` | after the hand nodes |
|
||||
| 2b update-now (switch) | the Mac and the laptop, then PC 2 on the 3.0 coordinator's word, then PC 1: each app writes the ten-field file at the manifest take and restarts its node at a safe moment (the Mac's node is node 1, already switched: nothing to restart) | |
|
||||
| the sweep | every node prints bd786a4b521e87c05bce3da4c46b4f4696deb16dfbdc913f181c980a8eb51688; the fresh-record rule arms at DAA 192,000 | |
|
||||
|
||||
One line for Josh, per machine, when he says go: the Mac and PC 2 each restart their engine once for 0.3.12 (under a minute, the miner back on
|
||||
the next template) and their node once more for the fresh-record switch (a few seconds, mining resumes on the same chain); PC 1 does the
|
||||
same at its relaunch and, with Power control off by default, never asks for administrator rights again (its 5090 runs uncapped until he
|
||||
switches Power control on in Settings); the observer, node 1 and the seed are restarted by hand twice; from DAA 192,000 (about 14:20Z) a
|
||||
prover may file a fresh segment record whenever the previous segment is not proven, so paid segments stop stalling behind an unproven one;
|
||||
until the switch nothing changes in consensus (digest 0139ab9d... through publish 1).
|
||||
|
||||
## 6. CI
|
||||
|
||||
| Run | On | Result |
|
||||
|---|---|---|
|
||||
|
|
@ -81,25 +123,7 @@ Checks on 81e4ecb before the rebase landed: the app `cargo test --release -p ign
|
|||
The ship state file `~/.cache/igneum/ship/0.3.12.json` carries `sha` = 6532adf (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 Josh'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" (37436904041), 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 Josh 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 Josh 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 Josh, 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)
|
||||
## 7. Owed to the next cut (0.3.13)
|
||||
|
||||
| Item | What |
|
||||
|---|---|
|
||||
|
|
|
|||
Loading…
Reference in a new issue