docs/plans/finality-v3-devnet-publish.md: N3 = 135,200, digest 1f4b4425, the hand nodes, the seed and the three manifests

This commit is contained in:
igneum-labs 2026-10-05 18:09:05 +00:00
parent b608150155
commit 0d69d20222

View file

@ -0,0 +1,41 @@
# Finality rule v3 on the devnet: the publish, 5 October 2026
the project lead, 17:5xZ: "deploy n3 now". Published by the 0.3.9 release engineer with the fee-switch mechanism
(`release-0.3.9.md` section 10), from the runbook `finality-v3-rollout-devnet.md` sections 3 and 4, right after every
node carried the fee-switch digest ab8847da.... No new binary: the switch has been in every node since 0.3.4 (the
a24ab01a Mac, Windows and Linux builds all carry `finality_v3_activation_daa`, checked with `strings`).
## N3 and the digest
N3 = 135,200: DAA 120,755 at 17:57:17Z (the observer's `getBlockDagInfo`) + 14,400 = 135,155, the next round hundred.
At the publish (17:59:14Z, DAA about 120,800) N3 - DAA = 14,400, over the 10,800 the rule asks. The switch keys on the
checkpoint's DAA score; at 0.965 blocks/s the sink crosses N3 about 22:05Z on 5 October and the first v3
checkpoint follows about a minute later.
The object: `{"difficulty_v2_activation_daa":33000,"proving_v0_activation_daa":84100,"fees_v1_activation_daa":210000,"finality_v3_activation_daa":135200}`.
Read on a scratch a24ab01a node (17:57:47Z, 22 s, ports 60995/60996):
```
Calibrated v1 fees from the override file: chain blocks metered with the adopted table, budgets and floors from DAA score 210000
Finality rule v3 from the override file: active from checkpoint DAA score 135200
Consensus params digest: 1f4b44255fcd2ea8f75664ed47200f409186ddd2292960c9e2cf95bbbdc11505
Finality v2 (igneum-devnet): interval 30 depth 20 window 7200 DAA dust 5 presence 20 aggregators 8 ban 7200 fold 3; rule v3 (frozen table, certificate fold) from checkpoint DAA 135200
```
## The order, with times
| Step | When | What |
|---|---|---|
| The observer | 17:58:13Z (pid 47854) | `infra/devnet/restart-hand-nodes.sh '<object>'` (the 0.3.9 branch's version: `IGNEUMD_COMMIT` a24ab01a, `grep -c`): `Finality rule v3 ... 135200`, digest 1f4b4425... |
| Node 1 | 17:58:25Z (pid 48121, caffeinate 48123) | the same script, the same lines |
| The seed | 17:58:43Z (MainPID 119557) | `infra/devnet/restart-seed.sh '<object>'` (the a24ab01a cross-build 7e26e374...): `Finality rule v3 ... 135200`, digest 1f4b4425..., `igneumd/2.1.0-a24ab01a` |
| The token folder and `dl/public/` | 17:59:14Z | `packaging/ota/publish-manifest.sh --version 0.3.9 --override '<object>' --activation-height 135200 --deadline-note "finality v3" --notes "Finality rule v3 from checkpoint DAA score 135200 (frozen table, certificate fold); calibrated v1 fees from DAA score 210000; 0.3.9 unchanged" --public --deploy`: entries carried over, signed (8f186e37...), live token manifest verified at try 1; the public folder verified at try 12 (`igneum-downloads.json` reached the edge last, as at 17:39Z) |
| The OLD folder | 18:01:53Z | `publish-old-folder.sh` with the same object, note and height; deployed; `version 0.3.9, byte-identical, signature OK` |
| `update-now-finality-135200` to every app | 18:02:13Z (apps woken, stamp 51a21533) | the apps re-read the manifest, write the object to `override.json`, restart their node at a safe moment |
The live manifests at 18:02:55Z (token and public): `0.3.9, published 2026-10-05T17:59:14Z, consensus {activation_height
135200, deadline_note "finality v3", override {difficulty_v2_activation_daa 33000, fees_v1_activation_daa 210000,
finality_v3_activation_daa 135200, proving_v0_activation_daa 84100}}`.
(pending: the app nodes, the sweep, the split length, the first v3 checkpoint)