class v5 design page: section 14 carries the five programs' ratios and the record's sentence (the floor closes the class on every measured hot set by X_f >= f and misses the shadow-block-write residual, named with its instrument and bound); the residual as a gap row

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-07 20:38:29 +00:00
parent 764a41d9e7
commit 7eb3ad69ce

View file

@ -36,6 +36,7 @@
| 19:5x | Main's order through the coordinator: class v5's acceptance carries the fix for the residual hot-set class (adv-accept's seed 100767, section 14), the cheapest fix first (the raised per-site floor) against the per-site hot-item test, chosen by the lower clean rejection rate. (c''') in at ab6f980b: `MIN_DISTINCT_RATIO_V5 = 0.995`, known-failed first on the exemplar, the census test `v5_hot_census` behind the number |
| 20:0x | The v5-fasttime lane's exception, owned by the node lane: `class_signal.rs decide()` with the v5 object set and both floors at 0 resolves the epochs under the window to class v3 regardless of the v4 floor (e0:v3 e1:v3 e2:v4 on the 60x profile); on Devnet 3 (v4 from genesis) enabling v5 would re-read day one as v3. This lane's harness never saw it (its v4 floor is 120, v3 at 60). Gates the crossing object, not the hash side |
| 21:03 | The (c''') census landed (section 14): 112 of 4,600 under 0.995 (2.435 percent), attempts mean +3.4 percent, 0 class v5 programs under the floor; the floor stays 0.995 (0.99 would pass the exemplar). The flip-stale harness PASSED on the matched fork and igneum-pow binaries at 21:03 UK (base 30700) once the stale miner's fall-off was judged by the block's DAA score: the 20:4x run had failed on one ACCEPTED line 4.7 s after the boundary's wall time that was a flip-epoch block found on a pre-boundary template, valid |
| 21:4x | The five programs' ratios landed (section 14): the floor refuses 4346 and 5245 and every measured hot set by X_f >= f, misses the three milder shadow-block-write concentrations (0.9992 to 0.9997), Devnet 3's first program among them; the residual named with its instrument and bound. The full suite's run on the (c''') commit was stopped at 70 minutes: `class_v5_shadow_redundancy_rule`'s scan drew 6,000 seeds twice through the full draw (seconds per candidate under the 2^20 pass; the scan had never run to its loop before, the test having failed earlier at an assertion), rewritten over the candidate draw (45765de6); the suite re-queued |
## 1. The claim, in one paragraph
@ -281,6 +282,7 @@ Every item of this page that has no code, no test or no measurement yet, with th
| The day-state witness in the pruning-proof format | DONE by the node lane (19:5x UK): class-v5-node-wire 6d827c5d on both mirrors. The witness is the state root after each class v5 epoch's seed block, `EpochSeedHeader.stateRoot = 3` beside the epoch seed header (empty before class v5, so the old wire parses both ways), `PruningProofStateRoots` on the proof metadata; the prover reads each class v5 seed block's root from the installed provider (`DayStateProvider::state_root(block)`, one addition to the kaspa-pow trait, default decodes the stream) or from a witness it took; the verifier's `ProofSeeds::from_witnesses_with_roots` refuses a class v5 epoch whose seed header has no root (the known-failed shape) and a root for an epoch with no header; `check_header` on DayStateUnavailable for a class v5 header accepts it as trusted data when the proof carries the epoch's witness, else refuses naming the missing witness; the importer installs the (seed block, root) pairs through `install_day_state_witnesses`; the executor's `install_epoch_streams` holds a stream for a block it has no record of to that witness (section 5's rule, both conditions). Suites on build-2 on the commit: kaspa-consensus 122, igneum-exec 44, kaspa-p2p-flows 37, kaspa-p2p-lib 20, kaspa-pow 18 | node lane | 0 |
| The acceptance bound on a program's hot-set share (section 14, main's order 19:5x UK) | DONE: (c''') `MIN_DISTINCT_RATIO_V5 = 0.995` under the state flag (ab6f980b), known-failed first on seed 100767, the census read (21:03 UK): 2.435 percent of sub-version 3 accepted programs under the floor, attempts mean 2.174 to 2.248, 0 class v5 programs under it; the design reading of 0 clean rejections was wrong and the page says so | this lane | 0 |
| The class walk under the v5 object (`class_signal.rs decide()`: epochs under the window resolve to v3 regardless of the v4 floor once v5 is enabled; the v5-fasttime lane's reading 20:0x UK) | OPEN, the node lane's: a known-failed test with v4 from genesis and the v5 object set must read v4 at epoch 0; this lane's harness gains the same case (v4 floor 0, v3 never) once the fork has the fix | node lane (fork), this lane (harness case) | 2 |
| The shadow-block-write residual of section 14 (the three milder concentrations at 1.26x to 1.45x, Devnet 3's first program among them) | OPEN: a draw rule on the shadow block's last write to a load's source (mul, mulhi, sub of the same register), known-failed first on fce15bf61030be57's site 0, with its after-fraction census; not in tonight's object (the chip value is under the AP-F8-1 bound by two orders); adv-mixer-2's AP-F4-1 lever (redraw when the FPGA LUT cost is 205 or less, a 2-adder mul, or all rotations equal; about 22 days per 100 years redrawn) is the second independent statement of the same mechanism, its census owed on the class v5 generator | this lane | 3 |
| The spec text (01 1.8.5 the leaf line, 1.12 the cut, 10 the witness) | NO text | this lane | 2 |
| The litepaper paragraph and ledger M35 | done (the litepaper's measured numbers are the 4090's) | this lane | 0 |
@ -302,4 +304,6 @@ The multiplicity reading at the acceptance sample (adv-accept's gap tool, 20:4x
The census reading (box 2, 48 pool cores under lease class v5, 20:42 to 21:03 UK, log `class-v5-harness/v5-census-4600-0.log`): over 4,600 seeds of the f8 label space the class v4 sub-version 3 accepted programs' minimum site ratio reads min 0.9807, p0.1 0.9831, p1 0.9906, p5 0.9962, median 0.9999, max 1.0000; under 0.98 none, under 0.99 43 (0.935 percent), under 0.995 112 (2.435 percent), under 0.998 517 (11.2 percent), under 0.999 868 (18.9 percent). The 112 are the seeds whose class v5 draw lands on a later attempt (the same 112); the attempts histogram goes from mean 2.174 (v4: 0: 1435, 1: 1038, 2: 651, 3: 453, 4: 341, 5: 201, 6: 162, 7: 90, 8: 69, 9: 54, 10: 31, 11: 21, 12: 21, 13: 9, 14: 6, 15: 7, 16: 5, 17: 2, 19: 3, 24: 1) to mean 2.248 (v5: 0: 1409, 1: 1014, 2: 654, 3: 457, 4: 348, 5: 205, 6: 169, 7: 96, 8: 71, 9: 56, 10: 36, 11: 25, 12: 23, 13: 10, 14: 7, 15: 8, 16: 5, 17: 2, 19: 4, 24: 1), the tail unchanged; 0 class v5 accepted programs sit under the floor. Two premises corrected by the census: the clean spread relayed as "0.9960 minimum, p1 0.9990" was a smaller sample's, not the chain draw's; and a floor at 0.99 would pass the exemplar (0.9919). So 0.995 is the lowest round floor that refuses seed 100767 with the model's spread under it, at the cost of one or more extra draw attempts on 2.4 percent of epochs (each attempt about 0.3 s of acceptance on one core; no consensus cost, nothing in the hash or the kits' shape). Whether the 2.4 percent are clean is adv-accept's live-low20 row at 2^24 (its first seed read, 3664, at 1.31x on the f8 gate: not clean), and its four measured lowest-ratio seeds all read beyond the 1.2x gate live: the floor rejects the band where every program measured so far is a weak hot-set program. Per tier: a miner sees nothing (the program of an epoch is drawn once by every node alike); a pool sees nothing; the chip model loses the hot set the exemplar offered.
The five programs main named, read by adv-accept at the acceptance's own 2^20 sample (21:35 UK, logs gap-five-d20733.log and gap-five-d20730.log on branch adv-accept): seed 4346 (bbb38e847011c354, 2.24x live) minimum site 2 at 0.9840 and seed 5245 (beaad44840bb9e4e, 1.86x live) site 8 at 0.9831, both refused by the floor; Devnet 3's epoch-0 class v4 program fce15bf61030be57 at site 0 (instruction 3, source r6) 0.9992 (live 0.9993), adv-cache-2's era-fixed-20 (11f9f955b21d56c9) site 11 at 0.9997 and era-drawn-2 (7ceb797d31eedb3e) site 13 at 0.9992: at or above the floor, the residual. Two further hot sets of adv-accept's (106924 at 0.9821, 107022 at 0.9877) refused. The record's sentence: the floor closes the class on every program whose live hot set passes X_f at or above f that any lane measured (seven of adv-accept's, 0.9821 to 0.9919 at the minimum site, and 4346, 5245), and misses the three milder concentrations (top 0.1 percent share 1.26x to 1.45x of control, 0.03 to 0.1 percent of a hash's reads each, the shadow block's last write to the load's source register as the mechanism: a mul, a mulhi, a sub), Devnet 3's own first program among them, whose site-0 product low-bit law moves the distinct count by 0.08 percent: inside the clean population's spread at 2^20 (adv-accept's clean 1st percentile about 0.9993 on 29,032 programs), so no floor that keeps the clean rejection rate near 2.4 percent reaches it. Devnet 3's first class v5 program therefore draws the same (e5a4ac5978462156, attempt 0; the (c''') CLI on build-1 at 21:08 UK confirms). The residual's chip value: a hot table serving 0.1 percent of one site's reads is 1/16 of that over the program's loads, under the 1.067x bound of AP-F8-1 by two orders; its instrument, if main wants it closed, is a shadow-block draw rule (the last write before a load's source may not be a mul, mulhi or sub of the same register: a rule in the draw, not the acceptance), owed as a named row below, not tonight's object.
What the floor does not reach, named: a hot set whose excess collisions at 2^20 stay under 0.5 percent of a site's evaluations (a top-0.1-percent item share under about 1.3x); adv-accept's lowest-ratio list between 0.995 and 0.998 reads 1.29x to 1.63x live on the f8 gate but no hot set by X_f >= f, and the floor rejects those too (cheap: one more attempt). A chip that holds 0.1 percent of a window's items serves at most the excess the floor allows, 0.5 percent of a site's reads, 1/16 of that over the program: under the 1.067x bound of AP-F8-1 by a wide margin. The per-site hot-item test at live scale stays owed only if the census reads the floor's clean rejection rate over 1 percent.