Merge remote-tracking branch 'box/master' into same-work-harness

# Conflicts:
#	docs/plans/igneum-2.0-test-registry.json
This commit is contained in:
igneum-labs 2026-10-08 21:28:29 +00:00
commit 4e97e86809
157 changed files with 4326 additions and 448 deletions

View file

@ -104,7 +104,7 @@ stock and at the 1,300 MHz lock, and 6.9 pJ per counted op on the Apple M5 Max (
| lop3 (8-bit truth table) | 7,274 | 1.42 | 0.99 | 0.72 | 0.52 | 24.1 / 13.0 | 0.030 / 0.055 | | 0.11 | |
| 32-lane xor-mask shuffle (butterfly over the 1 KB window), per lane-op | 181,580 | 1.24 | 0.87 | 0.63 | 0.45 | 55.8 / 29.4 | 0.011 / 0.021 | | 0.042 | routed with SPEF; 15:1x UK |
| 32-lane general crossbar, per lane-op | ROW_XBAR |
| 8 KB scratch, one random read (flop array: the pessimistic form) | ROW_SCRATCH |
| 8 KB scratch, one random 32-bit read of a 2,048 x 32 flop array (the pessimistic form of a chip's L1; an SRAM macro reads lower) | 868,159 | 207 | 145 | 104 | 75 | 2,400 / 1,400 per L2 hit | 0.043 / 0.074 | | 0.15 | routed with SPEF, 19:4x UK; the card's shared-memory read is unmeasured (owed) |
| int8 8x8x8 tile, per MAC | ROW_TILE |
Reading the floors: a lane's add costs the chip about 2.2 pJ at ASAP7 and 1.1 at N3, against the 5090's 6.2
@ -138,7 +138,7 @@ draws 13.9 mW, the run phase 36.9 mW for 8 lanes at 1.5 ns).
| core, 8 lanes, 32 registers | synthesis only (no wires, no clock tree) | 186,443 | 6.9 | 4.8 | 3.5 | 2.5 | 11.3 / 6.2 / 6.9 | 0.31 / 0.56 / 0.50 | 0.22 / 0.40 / 0.36 | 1.1 | synthesised; 14:0x UK |
| of which the sequential term (register file, imem and IR clock pins, no clock gating) | | | 2.4 | 1.7 | 1.2 | 0.9 | | | | | |
| of which the units, the read muxes and the butterfly | | | 4.5 | 3.1 | 2.3 | 1.6 | | | | | |
| core, 8 lanes, 32 registers | placed and routed, SPEF | ROW_CORE8_PLACED |
| core, 8 lanes, 32 registers, ungated | placed and routed, SPEF, clock tree (one run length of 300 cycles, the load phase subtracted, about plus or minus 10 percent) | 444,478 | 11.3 | 7.9 | 5.6 | 4.1 | 11.3 / 6.2 / 6.9 | 0.50 / 0.91 / 0.82 | 0.36 / 0.66 / 0.59 | 1.8 | placed 16:0x UK on a rented pod; +64 percent over synthesis (wires, and a clock tree of 2.5 pJ per lane-op that gating removes) |
| core, 32 lanes, 32 registers | synthesis only (steady state from 150 and 400 run cycles) | 600,381 | 5.55 | 3.9 | 2.8 | 2.0 | 11.3 / 6.2 / 6.9 | 0.25 / 0.45 / 0.41 | 0.18 / 0.32 / 0.29 | 0.90 | synthesised; 15:2x UK |
| core, 32 lanes, 16 registers | synthesis only | 443,258 | 4.2 | 2.9 | 2.1 | 1.5 | 11.3 / 6.2 / 6.9 | 0.18 / 0.34 / 0.30 | 0.13 / 0.24 / 0.22 | 0.68 | synthesised; one run length, about plus or minus 10 percent; 15:0x UK |
| the bare ARX lane (section 3, the floor) | routed | 11,631 | 2.2 | 1.5 | 1.1 | 0.8 | 11.3 / 6.2 / 6.9 | 0.10 / 0.18 / 0.16 | 0.07 / 0.13 / 0.11 | 0.35 | the lower bound |
@ -203,6 +203,128 @@ takes back on the card's own node (3.6x to 2.4x), which is the design. Node-for-
k 0.78 and the 64-register core at 1.09, so "near 0.9" is reached node-for-node by the window alone; what it does
not survive is the node step a chip project would buy (an N3 core gives back 0.4x, an N2 core 0.8x).
### 4c. The adversary's 64-register core: is the window a defence? (the coordinator's order, 15:3x UK)
Every row in this section is a MODEL of a chip core, never a lower bound on what a chip maker can build; the
synthesis gives the cost of the circuit as drawn, and a better circuit is always possible.
**The live-state analysis** (`tools/chip-model/rtl/flow/livestate.py`, run on build-3: programs drawn as the
core testbench draws them, the class v4 op weights, a load on one instruction in 16 as the dependent memory wait,
dst and src uniform over the window, the result fold reading every register at the end of the block; 64 drawn
programs, 1,024 waits per row):
| Window R | Live values at a wait (mean, min to max) | Of which necessary (reach a later address or the result, transitively) | Dead writes per block |
|---|---|---|---|
| 8 (the class ISA) | 7.0 of 8 (6 to 7) | 6.9 | 2.9 percent |
| 32 | 30.5 of 32 (29 to 31) | 30.0 | 2.9 percent |
| 64 | 61.7 of 64 (59 to 63) | 61.0 | 2.8 percent |
| 64 at a 1,024-instruction block | 61.5 of 64 (58 to 63) | 60.6 | 3.1 percent |
So under a fold that reads every register, 95 percent of the window is live AND necessary across every memory
wait: the adversary cannot shrink the state it keeps by liveness, and recomputing a value instead of keeping it
costs the dependent chain that produced it (every value feeds the result transitively). The window is a
defence ONLY because of the fold rule; a fold that read 8 of the 64 registers would let the chip drop the rest
(the dead fraction would rise toward the fraction never read before the fold), so the fold-reads-all rule is the
design rule that goes with the window.
**What the adversary can do with the state it must keep** is make it cheaper per access, not smaller. The
GPU-shaped row (4a, 64 registers in flops, every flop clocked every cycle, three 64:1 read muxes) is 9.7 pJ per
lane-op at ASAP7. The forms a chip maker would use:
| Form of the 64-register state (per lane, 256 bytes) | pJ per lane-op ASAP7 | N3 | k at the lock (N3) | Label |
|---|---|---|---|---|
| flops, no clock gating, 64:1 read muxes (the 4a row) | 9.7 | 4.9 | 0.78 | synthesised; a model |
| flops with the register-file clock gated (one of 64 registers written per cycle; the ICG cells allowed back in and inferred by Yosys, 320 gates) | 6.2 (225,441 cells; sequential 0.2) | 3.1 | 0.50 (0.70 node-for-node) | synthesised 16:0x UK; a model |
| the same gating on the 32-register base, for the penalty | 4.5 (156,833 cells; sequential 0.15) | 2.3 | 0.37 (0.51 node-for-node) | synthesised 16:0x UK; a model |
| the gated 32-register base PLACED AND ROUTED (SPEF, clock tree, 379,633 cells; steady state solved from 150 and 600 run cycles) | 6.7 (+49 percent over synthesis) | 3.4 | 0.54 (0.76 node-for-node) | placed 19:5x UK; the GDDR7 board at the lock 2.4x node-for-node, 2.8x a node ahead: the morning's headline figures to the digit |
| the gated 64-register window core PLACED AND ROUTED (563,339 cells; parasitics estimated from global routing, the SPEF lost to a full disk; steady state solved from 150 and 600 run cycles; plus or minus 15 percent) | 9.45 (+52 percent over synthesis; N5 6.6, N2 3.4) | 4.8 | 0.77 (1.07 node-for-node, 0.55 at N2) | placed 21:3x UK; the GDDR7 board at the lock 2.0x node-for-node, 2.45x a node ahead, 2.9x two ahead; the window's residual against the placed base +2.75 pJ per lane-op, +0.23 of k at the lock |
| latch-based register file (the clocked element halved; about 30 percent under the gated flop file, approximate) | about 0.7 x the gated row | | | modelled |
| SRAM-banked state shared across time-multiplexed lanes (one execution port serving many lanes' streams in turn, each lane's 256 bytes in a bank): modelled 8.5 to 10.5 from the access energies; BUILT as `core_tm` (8 lanes x 64 registers in banks, one port, round-robin, ungated): 8.8 pJ per lane-op synthesised (173,426 cells), against the SIMD ungated 9.7 | 8.8 (built) | 4.4 | 0.71 | synthesised 16:2x UK: port sharing saves 0.9 pJ of units and the bank-select muxes take most of it back; NOT the lever; the multi-family adversary lane's macro-window core reads 5.9 (its FakeRAM term modelled 2.0 to 7.0 pJ per access), within 5 percent of the gated flop row, so the file's form is not the lever either |
| values recomputed instead of kept | not available: 95 percent of the window is necessary (above) | | | measured on drawn programs |
The defence, then, is the penalty that remains after the adversary's best form: the gated 64-register file
against the gated 32-register file (the two synthesised rows above when they land; measured: 6.2 against 4.5 pJ per lane-op at ASAP7 synthesised, a penalty of 1.7 pJ; PLACED 9.45 against 6.7, a
penalty of 2.75 pJ, 1.4 at N3, +0.23 of k at the lock, 0.54 to 0.77 at N3 and 0.76 to 1.07 node-for-node; the
analytic estimate had been 1.5 pJ). So on placed rows the window takes the GDDR7 board at the lock from 2.4x to
2.0x node-for-node and from 2.8x to 2.45x a node ahead, for at most 5 percent per load on the card. Two corrections this
forces: the honest adversary's BASE core is the gated one (k 0.37 at N3, 0.51 node-for-node), under the ungated
0.56 and 0.78 of section 4, which are the GPU-shaped core a maker would not build; and placement costs more than
the +20 to +40 percent estimated (the ungated placed base reads 11.3 against 6.9 pJ: wires plus a 2.5 pJ clock tree
that gating removes), so the placed gated rows (on a rented pod, 17:30 UK) are the figures to serve. On the 32-lane core the same
penalty applies per lane (the register file does not amortise), so the window moves the 32-lane core from k 0.45
to about 0.57 at the lock at N3 (0.63 to about 0.80 node-for-node).
**The GPU side** (the hash lane's hand): the compiled allocation of the 64-register measurement pack (ptxas
registers per thread, local-memory spill bytes, occupancy) and the rate beside the 8-register base, clock
18:00 UK; until then the modelled reading stands: about 110 of 255 registers per thread, occupancy about half,
the rate expected to hold under the latency-bound chain (the 5090 hides about 330,000 ops per hash before compute
binds) and the energy to move little, the per-lane register traffic the unmeasured term.
The measured GPU side (the hash lane, 16:1x to 16:4x UK, RunPod secure pods, driver 580, the kit worker, 250 x
2^24, nvidia-smi 1 Hz; ptxas from nvcc 12.8 -Xptxas -v on the pack's kernel; pods destroyed, USD 1.22):
| Card, pack | MH/s | W | microjoules per hash | registers per thread (ptxas) | spill | blocks per SM (occupancy) | per load | Label |
|---|---|---|---|---|---|---|---|---|
| 5090, the base (mx8-devnet-epoch0) | 141.74 | 303.1 | 2.139 | 30 | 0 B | 24 (4,080 warps) | 16.7 nJ | measured |
| 5090, the window, arithmetic-only (hl-reg64, twice the base's work by construction) | 80.38 | 308.6 | 3.839 | 96 | 0 B | 20 (83 percent) | 15.0 nJ | measured: level per unit of work |
| 5090, the window, full chain (hl-reg64c: every load's address mixes all 64 registers) | 70.96 | 320.3 | 4.513 | 88 | 0 B | 20 (83 percent) | 17.6 nJ (+5 percent) | measured |
| 4090, the base | 62.67 | 208.9 | 3.333 | 29 | 0 B | 24 | 26.0 nJ | measured |
| 4090, the window, arithmetic-only | 31.57 | 210.3 | 6.663 | 104 | 0 B | 16 (67 percent) | 26.0 nJ | measured: level |
| 4090, the window, full chain | 31.38 | 216.5 | 6.898 | 87 | 0 B | 20 (83 percent) | 27.0 nJ (+4 percent) | measured |
So the card's side of the window defence is at most 5 percent per load: no spill on either card in either form, 88
to 104 registers per thread, occupancy 67 to 83 percent, and the rate per unit of work held within 5 percent under
the latency-bound chain. The sound class form is the full chain (the arithmetic-only fold fails the liveness rule;
class string `+reg64c`, pack hl-v6-win with `check_window_liveness` in its suite). The chip's side (this section's
gated rows) therefore carries the whole defence.
### 4d. The connected-state variant (cs64s27x16, the connected-state lane's structure) on the adversary's core
The connected-state lane's program (a 64-register window; per step a load whose address register is the previous
block's last dst, the word landing in m_j, then a 27-instruction block whose first instruction reads m_j and every
later one draws its src from the block's last four dsts, the last instruction injecting; 16 steps of text, 448
instructions, 16 passes per block; its liveness tool: 63 of 64 live at every address, about 11 registers in the
per-step dependent chain, about 20 touched per block) priced on the gated 64-register core with a 512-entry imem,
the program drawn by those rules in the testbench (`CS` mode of `tb_core_common.vh`), synthesis-only:
| Row | Cells | pJ per lane-op ASAP7 | N5 | N3 | N2 | k at the lock N5 / N3 / N2 | k at stock N5 / N3 |
|---|---|---|---|---|---|---|---|
| cs64s27x16 on the gated 64-register core, 512 imem | 253,059 | 6.3 | 4.4 | 3.2 | 2.3 | 0.71 / 0.51 / 0.37 | 0.39 / 0.28 |
| the class v4 draw on the gated 64-register core, 256 imem (4c) | 225,441 | 6.2 | 4.3 | 3.1 | 2.2 | 0.70 / 0.50 / 0.36 | 0.38 / 0.27 |
The chip's shadow for the program is 55,296 x 3.2 pJ = 0.18 microjoules per hash at N3 (0.24 node-for-node)
against 0.13 for the genesis window on the same core; the card pays +0.6 percent for the window on the 5090 (the
connected-state lane's measurement). The structure's other knobs do not reach the chip: the 16-pass loop and the
448 text cost the shared imem about 0.1 pJ per lane-op, hot-set banking is not needed (the gated file charges only
the written register), and the chain's width sets lane count, which is free. On the GDDR7 board at the lock the
window moves the chip's edge by about 1.1x (3.6x to 3.3x node-for-node), under the 1.25x gate that lane set.
### 4e. The mixed-resource lane's FP32 units (class-v6-mixedfp) on the adversary's lane
The mixed-resource lane's candidate adds four FP32 families (fadd, fmul, ffma, fcvt) to the shadow's draw, every
result injected by xor, with inputs masked to a 7-bit exponent range (never zero, denormal, NaN or Inf). The
adversary's simplified units (`rtl/fp32_units.v`): an FMA with the 24 x 24 mantissa multiplier, a 100-bit
alignment window, a full normaliser and RNE; a separate adder and multiplier; the int32 to float converter; the
exponent path narrowed to the range; no NaN, Inf, denormal or flag logic. The lane: an 8 x 32-bit window, the
four units, `d ^= bits(result)`. Routed with SPEF, random-input VCD, 42,936 cells, a 2 ns clock.
| Op (every unit evaluating each cycle: an UPPER bound per op, no operand isolation) | pJ per op ASAP7 | N5 | N3 | N2 | 5090 fp32_fma stock / lock | k at N3 vs stock / lock |
|---|---|---|---|---|---|---|
| fadd | 6.6 | 4.6 | 3.3 | 2.4 | 9.2 / 5.2 | 0.36 / 0.64 |
| fmul | 7.0 | 4.9 | 3.5 | 2.5 | 9.2 / 5.2 | 0.38 / 0.68 |
| ffma | 6.7 | 4.7 | 3.4 | 2.4 | 9.2 / 5.2 | 0.37 / 0.65 |
| fcvt | 6.9 | 4.8 | 3.5 | 2.5 | 9.2 / 5.2 (cvt unmeasured on the card) | 0.38 / 0.67 |
| random mix | 7.1 | 4.9 | 3.6 | 2.6 | | 0.39 / 0.68 |
Reading: the four read alike because all four units switch every cycle on the same operands, so each row is the
upper bound for its op (a chip isolates the idle units; by cell share about ffma 3.5 to 4, fmul 2.5, fadd 2, fcvt
1 pJ at ASAP7, approximate). Even on the upper bound the FP family is the chip's dearest per op relative to the
card: k 0.65 at N3 at the lock against 0.18 for the integer ARX lane floor, because the card does an FMA for 5.2
pJ (under its own int add at 6.2) while the chip's multiply, alignment and normaliser cost about three int ops.
On the units' floors the shadow's k_eff rises from 0.097 (class v4) to about 0.14 at the fp12 mix and 0.17 at
fp24 (0.20 and 0.24 with isolation taken as half), the core's per-op overhead on top. The GPU-cost budget (10
percent of energy per hash) is the binding side, and the vendor-rounding question is the class's, not the chip's.
## 5. The chip edge at the measured k
`E_chip = E_mem + N_ops x e_chip` (absolute: the chip's shadow cost is 102,100 x 3.5 pJ = 0.36 microjoules per hash
@ -270,7 +392,7 @@ to 2.3x and the strongest chips at 2.6x to 4.2x.
| 6 | prmt, lop3 | 0.64, 0.72 | 11.5, 13.0 | 0.056, 0.055 | not drawn (RTL rows only) |
| 7 | mulhi | 0.68 | 21.0 | 0.032 | yes (6) |
| 8 | 32-lane shuffle (butterfly) | 0.63 | 29.4 | 0.021 | yes (8) |
| 9 | L1 scratch read (8 KB flop array) against the card's L2 hit | ROW_SCRATCH_K | 1,400 | pending | not drawn |
| 9 | L1 scratch read (8 KB flop array) against the card's L2 hit | 104 (pJ per read) | 1,400 | 0.074 | not drawn |
| 10 | int8 8x8x8 tile, per MAC | ROW_TILE_K | 2.2 | pending | not drawn (the tensor lever is dead on other grounds) |
The order is set by the card's price, not the chip's: the chip pays 0.6 to 1.7 pJ for everything, and the card

View file

@ -0,0 +1,132 @@
# The live-dataset census on the frozen object (Igneum 2.0 Phase 1 item (j)), 8 October 2026, 21:4x to 22:10 UK
The frozen tree: class-v6 1a938abe4 (the draw and the acceptance of b24dfc162; nothing on it moves). The object: hl-v6-all, program 4de7b836cc40a4ea, generator 6, class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw (the fold, the rw1 table, the 64-register full-chain window), the Devnet 3 genesis epoch hex edc4fa84... as the epoch and era seed, day 20730, the node1 state (block 159357, 93 leaves, root 1c583d35...). The harness: branch class-v6-census-all4 at b819c23a4 (the census commands on the 1a938abe4 crate; the binary all4-b819c23a, sha256 6448ade354bc665a... on build-5 and build-6, byte-identical). Boxes: build-5 (igneum-build-5, 32 cores) and build-6 (igneum-build-6, 32 cores), the lease pool at class v5, nice 19, every run under a pid file through the night driver (`tools/attack/v6-census/night-run.sh`: a job without its end marker is restarted up to three times and every restart is logged; the logs are beside the rows). Nothing ran on the Mac; nothing here touches a served page or the spec.
**What "live" means here.** The acceptance's dynamic test, the attempts census and the earlier trace reads run on the closed-form stand-in. These rows run the kernel path's own interpreter (`verify::interpret_warp_core` under a tracing probe) on the chain's dataset: the memory-hard dataset the epoch derives from the day key with the mixer and the state leaves of the node1 stream (`Epoch::chain_dataset_day` with `--state`), so every address after the first load depends on live dataset bytes; and on the header-bound init words (`bind::block_init_words` over a prehash per header with the header's index as the high nonce word), four headers per box, the object split four headers per box (eight in all), 2^18 nonces per header on the object and 2^16 on each of sixteen chain-shaped seeds p18 to p33 under the frozen class.
## 1. The census rows (the same statistics as the closed-form census, over the live dataset)
Per run: per (iteration, site) cell and per site the address histogram over every read (A03's form: the most read address and its share), the distinct word indices against the window model `N - N^2 / 2W` at the site's window (the (c'') form), the one-count of every address bit inside the site's window above the alignment (the value-level read, 6 sigma), and over the program the top 0.1 percent of items' share of all reads against a flat control and a windowed control (each site's reads drawn uniformly over its own window, the same counts) at the same N (the F8 form's two nulls; the gate 1.2x over the window model).
| Run (box) | Program | Headers; nonces per header | Reads | Worst address at any site, worst cell (count, share) | Min site distinct ratio (floors 0.98, 0.995) | Worst index bit inside its window (sigma; band 6) | Top 0.1 percent item share; against the controls (gate 1.2x) | Ideal cache 1 GiB / 256 MiB / 64 MiB (top K by count; sampling-inflated above the window model) |
|---|---|---|---|---|---|---|---|---|
| object-h0 (build-5) | 4de7b836cc40a4ea | 4 from 0; 262,144 nonces each | 268,435,456 | site 8: 0x07579830 x6 (1.0e-06); cell: 0x0ab39b50 x4 (4.0e-06) | 1.00007 | -3.51 (site 7, bit 1) | 0.002138; 1.0998x flat; **0.9989x** window model | 1.0000 / 0.3540 / 0.1035 |
| seed-p18 (build-5) | 0b686c80e25cb4d3 | 4 from 0; 65,536 nonces each | 67,108,864 | site 0: 0x04b26299 x4 (2.0e-06); cell: 0x000e4f1d x3 (1.1e-05) | 0.99991 | 3.09 (site 24, bit 16) | 0.003391; 1.1032x flat; **1.0006x** window model | 1.0000 / 0.4404 / 0.1414 |
| seed-p19 (build-5) | bf8510cd00c0c70f | 4 from 0; 65,536 nonces each | 67,108,864 | site 0: 0x0813e726 x4 (2.0e-06); cell: 0x06f0d11f x3 (1.1e-05) | 0.99986 | -3.81 (site 29, bit 7) | 0.003433; 1.1159x flat; **0.9996x** window model | 1.0000 / 0.4418 / 0.1426 |
| seed-p20 (build-5) | 24133bd7265e958f | 4 from 0; 65,536 nonces each | 67,108,864 | site 2: 0x09d4fb1a x4 (2.0e-06); cell: 0x0ae65aa6 x3 (1.1e-05) | 0.99994 | -3.55 (site 30, bit 0) | 0.003434; 1.1175x flat; **1.0003x** window model | 1.0000 / 0.4443 / 0.1429 |
| seed-p21 (build-5) | ed647abf60a5bd32 | 4 from 0; 65,536 nonces each | 67,108,864 | site 0: 0x04e14ec7 x4 (2.0e-06); cell: 0x03973640 x3 (1.1e-05) | 0.99990 | 3.90 (site 11, bit 9) | 0.003920; 1.2759x flat; **1.0008x** window model | 1.0000 / 0.4774 / 0.1605 |
| seed-p22 (build-5) | f8e8969443448ecb | 4 from 0; 65,536 nonces each | 67,108,864 | site 6: 0x06a054ca x5 (2.0e-06); cell: 0x0342068e x3 (1.1e-05) | 0.99994 | 3.31 (site 13, bit 19) | 0.003237; 1.0540x flat; **0.9997x** window model | 1.0000 / 0.4271 / 0.1370 |
| seed-p23 (build-5) | 160649503341aaab | 4 from 0; 65,536 nonces each | 67,108,864 | site 1: 0x0e3c2793 x4 (2.0e-06); cell: 0x051243d9 x3 (1.1e-05) | 0.99994 | -3.44 (site 25, bit 1) | 0.003338; 1.0854x flat; **0.9990x** window model | 1.0000 / 0.4315 / 0.1391 |
| seed-p24 (build-5) | 62aa0bfc93f13028 | 4 from 0; 65,536 nonces each | 67,108,864 | site 2: 0x08bdfbf3 x4 (2.0e-06); cell: 0x0bd48627 x3 (1.1e-05) | 0.99991 | 3.46 (site 4, bit 15) | 0.003156; 1.0264x flat; **0.9988x** window model | 1.0000 / 0.4212 / 0.1338 |
| seed-p25 (build-5) | 3f1af0bbaaef74fa | 4 from 0; 65,536 nonces each | 67,108,864 | site 2: 0x0fb1f63d x4 (2.0e-06); cell: 0x0f8343d0 x3 (1.1e-05) | 0.99993 | 3.27 (site 2, bit 5) | 0.003436; 1.1192x flat; **1.0014x** window model | 1.0000 / 0.4418 / 0.1426 |
| object-h4 (build-6) | 4de7b836cc40a4ea | 4 from 0; 262,144 nonces each | 268,435,456 | site 21: 0x0436441b x6 (1.0e-06); cell: 0x0f45e0db x4 (4.0e-06) | 1.00010 | -3.06 (site 9, bit 1) | 0.002140; 1.1005x flat; **0.9995x** window model | 1.0000 / 0.3540 / 0.1035 |
| seed-p26 (build-6) | 2b406490ba8d3c91 | 4 from 0; 65,536 nonces each | 67,108,864 | site 3: 0x03f3960e x4 (2.0e-06); cell: 0x0f26b8e6 x3 (1.1e-05) | 0.99992 | 3.61 (site 28, bit 20) | 0.003129; 1.0183x flat; **1.0003x** window model | 1.0000 / 0.4196 / 0.1328 |
| seed-p27 (build-6) | c38b57d654ad08d4 | 4 from 0; 65,536 nonces each | 67,108,864 | site 2: 0x031a0ba8 x4 (2.0e-06); cell: 0x01c78316 x3 (1.1e-05) | 0.99995 | -2.90 (site 8, bit 16) | 0.003348; 1.0873x flat; **1.0010x** window model | 1.0000 / 0.4343 / 0.1396 |
| seed-p28 (build-6) | 96e4f7fdccef6fd1 | 4 from 0; 65,536 nonces each | 67,108,864 | site 2: 0x030525f1 x4 (2.0e-06); cell: 0x03149070 x3 (1.1e-05) | 0.99993 | -3.99 (site 25, bit 11) | 0.003499; 1.1396x flat; **1.0005x** window model | 1.0000 / 0.4400 / 0.1434 |
| seed-p29 (build-6) | 3f922ac24b46d2c2 | 4 from 0; 65,536 nonces each | 67,108,864 | site 7: 0x0e92f974 x4 (2.0e-06); cell: 0x0ef15836 x3 (1.1e-05) | 0.99997 | 3.00 (site 25, bit 18) | 0.003169; 1.0326x flat; **1.0004x** window model | 1.0000 / 0.4241 / 0.1350 |
| seed-p30 (build-6) | edd13a08477407cf | 4 from 0; 65,536 nonces each | 67,108,864 | site 0: 0x0e3a012d x4 (2.0e-06); cell: 0x0e92237a x3 (1.1e-05) | 0.99991 | 2.59 (site 4, bit 26) | 0.003348; 1.0910x flat; **0.9981x** window model | 1.0000 / 0.4343 / 0.1395 |
| seed-p31 (build-6) | e1409749e795c382 | 4 from 0; 65,536 nonces each | 67,108,864 | site 0: 0x0d3d1622 x4 (2.0e-06); cell: 0x0f8c1753 x3 (1.1e-05) | 0.99988 | -3.23 (site 7, bit 21) | 0.003432; 1.1164x flat; **0.9992x** window model | 1.0000 / 0.4417 / 0.1425 |
| seed-p32 (build-6) | 0717ad9158d5937f | 4 from 0; 65,536 nonces each | 67,108,864 | site 4: 0x0cd645f0 x4 (2.0e-06); cell: 0x08695fc3 x3 (1.1e-05) | 0.99993 | 3.40 (site 6, bit 2) | 0.003378; 1.1000x flat; **1.0004x** window model | 1.0000 / 0.4390 / 0.1410 |
| seed-p33 (build-6) | 9857a41ce42f4677 | 4 from 0; 65,536 nonces each | 67,108,864 | site 2: 0x0f425fde x4 (2.0e-06); cell: 0x03846806 x3 (1.1e-05) | 0.99994 | -3.95 (site 5, bit 5) | 0.003416; 1.1112x flat; **0.9996x** window model | 1.0000 / 0.4358 / 0.1410 |
Reading: on the frozen object over 2^21 hashes and eight headers (two boxes), the top 0.1 percent of items hold 0.2138 and 0.2140 percent of reads against the windowed control's 0.2141 (0.9989x and 0.9995x; the flat control 1.10x, the era windows' layer 8 by design); every site's distinct ratio 1.0001 (uniform inside its window); the worst index bit inside any window under 4 sigma; the worst address at any site 6 to 7 reads of 134 million (5e-8) and the worst cell 4 of 4 million, the Poisson maxima of a uniform stream; every one of the 16,777,216 items touched. The sixteen chain-shaped seeds under the frozen class read the same: window-model ratios 0.998 to 1.001x, flat 1.03 to 1.28x (p21's 1.28x is its window draw), min site ratio 0.99986 to 0.99997, worst bit 2.6 to 4.0 sigma, worst address 4 to 5 reads of 2 million. Nothing a cache can key on beyond the era windows, which the GPU's L2 sees as well; the cache columns (top K items by sample count) sit above the window model by the sampling noise of ranking items by count, as in the A03 census (census-packs.md section 6), and the honest cache figures are the window model's (the object's 256 MiB share 0.354 measured at 2^20 hashes per box against 0.359 from its window draw).
## 2. F06's live half: the window's liveness on live data
The rule (`accept::check_window_liveness`, the chain's) flips each of the 64 registers by two probe words at the start of iteration 0 on the closed form at one base nonce and requires the first load's address and the hash to change in every lane. Here the same flips run on the live dataset under the header-bound init words, over four headers and 16 warps per box on the object (4,096 probes per register per box) and two headers and 8 warps on a chain seed, with every load of every iteration traced, so the least-changed load of the first iteration is read as well as the first.
| Run (box) | Program | Headers; warps | Registers x probes | First-load address changed (fraction of lanes, least live register) | Hash changed | Least-changed first-iteration load | Verdict |
|---|---|---|---|---|---|---|---|
| liveness-object-h0 (build-5) | 4de7b836cc40a4ea | 4 from 0; 16 warps | 64 x 4096 | 1.000000 | 1.000000 | 1.000000 at (register 0, load 0) | **LIVE** |
| liveness-p18 (build-5) | 0b686c80e25cb4d3 | 2 from 0; 8 warps | 64 x 1024 | 1.000000 | 1.000000 | 1.000000 at (register 0, load 0) | **LIVE** |
| liveness-object-h4 (build-6) | 4de7b836cc40a4ea | 4 from 0; 16 warps | 64 x 4096 | 1.000000 | 1.000000 | 1.000000 at (register 0, load 0) | **LIVE** |
| liveness-p26 (build-6) | 2b406490ba8d3c91 | 2 from 0; 8 warps | 64 x 1024 | 1.000000 | 1.000000 | 1.000000 at (register 0, load 0) | **LIVE** |
Reading: every one of the 64 registers moves every lane's first address and every lane's hash under every probe on live data (1.000000 at the least live register over 4,096 probes on each box), and every first-iteration load's address moves in every lane under every flip (the least-changed cell 1.000000). The construction's claim ("every one of the 64 registers is read by the address of each of the 32 loads") holds as measured on the live dataset, not only by construction.
## 3. The runs, the faults, the commands
Every job and every restart, with the UK clock, from the drivers' logs (the one fault of the night: my job-list writer ran in a shell that does not split an unquoted list, so the eight seed jobs per box collapsed into one line that the harness refused with exit 2 three times on each box; the lists were rewritten with explicit splitting and the sixteen seed rows ran through the same driver at 22:01; nothing in the harness or the crate moved):
```
# night driver start 21:56 UK host igneum-build-5 jobs 5
start 1 canary-p18 21:56 UK
end 1 canary-p18 rc 0 21:56 UK
start 1 object-h0 21:56 UK
end 1 object-h0 rc 0 21:59 UK
start 1 liveness-object-h0 21:59 UK
end 1 liveness-object-h0 rc 0 21:59 UK
start 1 seed-p18 19 20 21 22 23 24 25 21:59 UK
end 1 seed-p18 19 20 21 22 23 24 25 rc 2 21:59 UK
restart 2 seed-p18 19 20 21 22 23 24 25 21:59 UK
start 2 seed-p18 19 20 21 22 23 24 25 21:59 UK
end 2 seed-p18 19 20 21 22 23 24 25 rc 2 21:59 UK
restart 3 seed-p18 19 20 21 22 23 24 25 21:59 UK
start 3 seed-p18 19 20 21 22 23 24 25 21:59 UK
end 3 seed-p18 19 20 21 22 23 24 25 rc 2 21:59 UK
start 1 liveness-p18 21:59 UK
end 1 liveness-p18 rc 0 21:59 UK
# night driver end 21:59 UK
# night driver start 22:01 UK host igneum-build-5 jobs 8
start 1 seed-p18 22:01 UK
end 1 seed-p18 rc 0 22:01 UK
start 1 seed-p19 22:01 UK
end 1 seed-p19 rc 0 22:02 UK
start 1 seed-p20 22:02 UK
end 1 seed-p20 rc 0 22:03 UK
start 1 seed-p21 22:03 UK
end 1 seed-p21 rc 0 22:03 UK
start 1 seed-p22 22:03 UK
end 1 seed-p22 rc 0 22:04 UK
start 1 seed-p23 22:04 UK
end 1 seed-p23 rc 0 22:05 UK
start 1 seed-p24 22:05 UK
end 1 seed-p24 rc 0 22:05 UK
start 1 seed-p25 22:05 UK
end 1 seed-p25 rc 0 22:06 UK
# night driver end 22:06 UK
# night driver start 21:56 UK host igneum-build-6 jobs 1
start 1 canary-p18 21:56 UK
end 1 canary-p18 rc 0 21:56 UK
# night driver end 21:56 UK
# night driver start 21:56 UK host igneum-build-6 jobs 5
start 1 object-h4 21:56 UK
end 1 object-h4 rc 0 22:00 UK
start 1 liveness-object-h4 22:00 UK
end 1 liveness-object-h4 rc 0 22:00 UK
start 1 seed-p26 27 28 29 30 31 32 33 22:00 UK
end 1 seed-p26 27 28 29 30 31 32 33 rc 2 22:00 UK
restart 2 seed-p26 27 28 29 30 31 32 33 22:00 UK
start 2 seed-p26 27 28 29 30 31 32 33 22:00 UK
end 2 seed-p26 27 28 29 30 31 32 33 rc 2 22:00 UK
restart 3 seed-p26 27 28 29 30 31 32 33 22:00 UK
start 3 seed-p26 27 28 29 30 31 32 33 22:00 UK
end 3 seed-p26 27 28 29 30 31 32 33 rc 2 22:00 UK
start 1 liveness-p26 22:00 UK
end 1 liveness-p26 rc 0 22:00 UK
# night driver end 22:00 UK
# night driver start 22:01 UK host igneum-build-6 jobs 8
start 1 seed-p26 22:01 UK
end 1 seed-p26 rc 0 22:02 UK
start 1 seed-p27 22:02 UK
end 1 seed-p27 rc 0 22:02 UK
start 1 seed-p28 22:02 UK
end 1 seed-p28 rc 0 22:03 UK
start 1 seed-p29 22:03 UK
end 1 seed-p29 rc 0 22:04 UK
start 1 seed-p30 22:04 UK
end 1 seed-p30 rc 0 22:05 UK
start 1 seed-p31 22:05 UK
end 1 seed-p31 rc 0 22:06 UK
start 1 seed-p32 22:06 UK
end 1 seed-p32 rc 0 22:07 UK
start 1 seed-p33 22:07 UK
end 1 seed-p33 rc 0 22:08 UK
# night driver end 22:08 UK
```
The commands (the lists `night-jobs-<box>.tsv` and `night-seeds-<box>.tsv` beside the rows carry every one verbatim): the object, `addrsite --count 4 --header-from <0|4> --warps 8192 --threads 32 --epoch-hex <genesis> --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:<genesis> --state node1-state.igsd1`; a seed, the same with `--seed igneum-attack-f8/program/<n> --warps 2048`; the liveness, `liveness --count 4 --header-from <0|4> --warps 16 --threads 32` with the same object arguments. Every run under `lease pool 32 --min 4 --nice 19 --class v5 --owner class-v6-census` through `night-run.sh`, pid files under `/srv/builds/v6-census/pids/` on each box.
## 4. Against the one acceptance rule, and what is owed
On the live dataset the frozen object reads as the closed-form census read it: uniform inside every era window to the Poisson floor, no address bit biased inside its window, the window live on every register and every load. Nothing here moves the adversary's edge: the hot half of the dataset is the era windows' (layer 8), seen by a GPU's L2 and a chip's SRAM alike. Owed: the same rows at 2^24 nonces per header (the 64 x 2^24 live point every class owes; 50 to 100 core-hours per object); a per-site LRU trace for a cache figure free of the top-K ranking's sampling inflation.

View file

@ -0,0 +1,67 @@
# liveness: program 4de7b836cc40a4ea class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw registers 64 day bytes:69676e65756d2d6461792ffa50000000000000 dataset 2^28 words (memory-hard) headers 4 warps 16 threads 32 probe words 2
reg probes first_load_changed hash_changed least_changed_load least_changed_frac
0 4096 1.000000 1.000000 0 1.000000
1 4096 1.000000 1.000000 0 1.000000
2 4096 1.000000 1.000000 0 1.000000
3 4096 1.000000 1.000000 0 1.000000
4 4096 1.000000 1.000000 0 1.000000
5 4096 1.000000 1.000000 0 1.000000
6 4096 1.000000 1.000000 0 1.000000
7 4096 1.000000 1.000000 0 1.000000
8 4096 1.000000 1.000000 0 1.000000
9 4096 1.000000 1.000000 0 1.000000
10 4096 1.000000 1.000000 0 1.000000
11 4096 1.000000 1.000000 0 1.000000
12 4096 1.000000 1.000000 0 1.000000
13 4096 1.000000 1.000000 0 1.000000
14 4096 1.000000 1.000000 0 1.000000
15 4096 1.000000 1.000000 0 1.000000
16 4096 1.000000 1.000000 0 1.000000
17 4096 1.000000 1.000000 0 1.000000
18 4096 1.000000 1.000000 0 1.000000
19 4096 1.000000 1.000000 0 1.000000
20 4096 1.000000 1.000000 0 1.000000
21 4096 1.000000 1.000000 0 1.000000
22 4096 1.000000 1.000000 0 1.000000
23 4096 1.000000 1.000000 0 1.000000
24 4096 1.000000 1.000000 0 1.000000
25 4096 1.000000 1.000000 0 1.000000
26 4096 1.000000 1.000000 0 1.000000
27 4096 1.000000 1.000000 0 1.000000
28 4096 1.000000 1.000000 0 1.000000
29 4096 1.000000 1.000000 0 1.000000
30 4096 1.000000 1.000000 0 1.000000
31 4096 1.000000 1.000000 0 1.000000
32 4096 1.000000 1.000000 0 1.000000
33 4096 1.000000 1.000000 0 1.000000
34 4096 1.000000 1.000000 0 1.000000
35 4096 1.000000 1.000000 0 1.000000
36 4096 1.000000 1.000000 0 1.000000
37 4096 1.000000 1.000000 0 1.000000
38 4096 1.000000 1.000000 0 1.000000
39 4096 1.000000 1.000000 0 1.000000
40 4096 1.000000 1.000000 0 1.000000
41 4096 1.000000 1.000000 0 1.000000
42 4096 1.000000 1.000000 0 1.000000
43 4096 1.000000 1.000000 0 1.000000
44 4096 1.000000 1.000000 0 1.000000
45 4096 1.000000 1.000000 0 1.000000
46 4096 1.000000 1.000000 0 1.000000
47 4096 1.000000 1.000000 0 1.000000
48 4096 1.000000 1.000000 0 1.000000
49 4096 1.000000 1.000000 0 1.000000
50 4096 1.000000 1.000000 0 1.000000
51 4096 1.000000 1.000000 0 1.000000
52 4096 1.000000 1.000000 0 1.000000
53 4096 1.000000 1.000000 0 1.000000
54 4096 1.000000 1.000000 0 1.000000
55 4096 1.000000 1.000000 0 1.000000
56 4096 1.000000 1.000000 0 1.000000
57 4096 1.000000 1.000000 0 1.000000
58 4096 1.000000 1.000000 0 1.000000
59 4096 1.000000 1.000000 0 1.000000
60 4096 1.000000 1.000000 0 1.000000
61 4096 1.000000 1.000000 0 1.000000
62 4096 1.000000 1.000000 0 1.000000
63 4096 1.000000 1.000000 0 1.000000
# verdict: 64 registers over 4096 probes each; first-load address changed in 1.000000 of lanes at the least live register, the hash in 1.000000; the least changed (register, first-iteration load) is (0, 0) at 1.000000; LIVE on live data (every register moves every lane's first address and hash); 6.6 s
Can't render this file because it has a wrong number of fields in line 2.

View file

@ -0,0 +1,67 @@
# liveness: program 0b686c80e25cb4d3 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw registers 64 day 2026-10-03 dataset 2^28 words (memory-hard) headers 2 warps 8 threads 32 probe words 2
reg probes first_load_changed hash_changed least_changed_load least_changed_frac
0 1024 1.000000 1.000000 0 1.000000
1 1024 1.000000 1.000000 0 1.000000
2 1024 1.000000 1.000000 0 1.000000
3 1024 1.000000 1.000000 0 1.000000
4 1024 1.000000 1.000000 0 1.000000
5 1024 1.000000 1.000000 0 1.000000
6 1024 1.000000 1.000000 0 1.000000
7 1024 1.000000 1.000000 0 1.000000
8 1024 1.000000 1.000000 0 1.000000
9 1024 1.000000 1.000000 0 1.000000
10 1024 1.000000 1.000000 0 1.000000
11 1024 1.000000 1.000000 0 1.000000
12 1024 1.000000 1.000000 0 1.000000
13 1024 1.000000 1.000000 0 1.000000
14 1024 1.000000 1.000000 0 1.000000
15 1024 1.000000 1.000000 0 1.000000
16 1024 1.000000 1.000000 0 1.000000
17 1024 1.000000 1.000000 0 1.000000
18 1024 1.000000 1.000000 0 1.000000
19 1024 1.000000 1.000000 0 1.000000
20 1024 1.000000 1.000000 0 1.000000
21 1024 1.000000 1.000000 0 1.000000
22 1024 1.000000 1.000000 0 1.000000
23 1024 1.000000 1.000000 0 1.000000
24 1024 1.000000 1.000000 0 1.000000
25 1024 1.000000 1.000000 0 1.000000
26 1024 1.000000 1.000000 0 1.000000
27 1024 1.000000 1.000000 0 1.000000
28 1024 1.000000 1.000000 0 1.000000
29 1024 1.000000 1.000000 0 1.000000
30 1024 1.000000 1.000000 0 1.000000
31 1024 1.000000 1.000000 0 1.000000
32 1024 1.000000 1.000000 0 1.000000
33 1024 1.000000 1.000000 0 1.000000
34 1024 1.000000 1.000000 0 1.000000
35 1024 1.000000 1.000000 0 1.000000
36 1024 1.000000 1.000000 0 1.000000
37 1024 1.000000 1.000000 0 1.000000
38 1024 1.000000 1.000000 0 1.000000
39 1024 1.000000 1.000000 0 1.000000
40 1024 1.000000 1.000000 0 1.000000
41 1024 1.000000 1.000000 0 1.000000
42 1024 1.000000 1.000000 0 1.000000
43 1024 1.000000 1.000000 0 1.000000
44 1024 1.000000 1.000000 0 1.000000
45 1024 1.000000 1.000000 0 1.000000
46 1024 1.000000 1.000000 0 1.000000
47 1024 1.000000 1.000000 0 1.000000
48 1024 1.000000 1.000000 0 1.000000
49 1024 1.000000 1.000000 0 1.000000
50 1024 1.000000 1.000000 0 1.000000
51 1024 1.000000 1.000000 0 1.000000
52 1024 1.000000 1.000000 0 1.000000
53 1024 1.000000 1.000000 0 1.000000
54 1024 1.000000 1.000000 0 1.000000
55 1024 1.000000 1.000000 0 1.000000
56 1024 1.000000 1.000000 0 1.000000
57 1024 1.000000 1.000000 0 1.000000
58 1024 1.000000 1.000000 0 1.000000
59 1024 1.000000 1.000000 0 1.000000
60 1024 1.000000 1.000000 0 1.000000
61 1024 1.000000 1.000000 0 1.000000
62 1024 1.000000 1.000000 0 1.000000
63 1024 1.000000 1.000000 0 1.000000
# verdict: 64 registers over 1024 probes each; first-load address changed in 1.000000 of lanes at the least live register, the hash in 1.000000; the least changed (register, first-iteration load) is (0, 0) at 1.000000; LIVE on live data (every register moves every lane's first address and hash); 2.0 s
Can't render this file because it has a wrong number of fields in line 2.

View file

@ -0,0 +1,5 @@
canary-p18 # F8 form 16 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 1 --warps 256 --threads 16 --seed igneum-attack-f8/program/18 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
object-h0 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --header-from 0 --warps 8192 --threads 32 --epoch-hex edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
liveness-object-h0 # verdict 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow liveness --count 4 --header-from 0 --warps 16 --threads 32 --epoch-hex edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p18 19 20 21 22 23 24 25 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/18 19 20 21 22 23 24 25 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
liveness-p18 # verdict 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow liveness --count 2 --warps 8 --threads 32 --seed igneum-attack-f8/program/18 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
1 canary-p18 # F8 form 16 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 1 --warps 256 --threads 16 --seed igneum-attack-f8/program/18 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
2 object-h0 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --header-from 0 --warps 8192 --threads 32 --epoch-hex edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
3 liveness-object-h0 # verdict 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow liveness --count 4 --header-from 0 --warps 16 --threads 32 --epoch-hex edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
4 seed-p18 19 20 21 22 23 24 25 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/18 19 20 21 22 23 24 25 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
5 liveness-p18 # verdict 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow liveness --count 2 --warps 8 --threads 32 --seed igneum-attack-f8/program/18 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1

View file

@ -0,0 +1,8 @@
seed-p18 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/18 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p19 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/19 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p20 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/20 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p21 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/21 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p22 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/22 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p23 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/23 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p24 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/24 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p25 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/25 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
1 seed-p18 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/18 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
2 seed-p19 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/19 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
3 seed-p20 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/20 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
4 seed-p21 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/21 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
5 seed-p22 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/22 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
6 seed-p23 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/23 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
7 seed-p24 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/24 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
8 seed-p25 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/25 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1

View file

@ -0,0 +1,42 @@
# addrsite: program 4de7b836cc40a4ea class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day bytes:69676e65756d2d6461792ffa50000000000000 dataset 2^28 words (memory-hard) headers 4 warps 8192 nonces/header 262144 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 7 1048576 1044572 0x0f281e20 3 0.000003
0 1 7 1048576 1044538 0x0e8e8ead 3 0.000003
# worst cell: iteration 0 site 28 address 0x0ab39b50 in 4 reads, share 0.000004
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 7 1 8388608 8388608 8132047 0x0cdad1e9 5 0.000001 1.0000 0.8679 0.3537 1.0000 0.5000 0.1250 1.00069 2.67 23
1 7 1 8388608 8388608 8131951 0x0de9a70a 5 0.000001 1.0000 0.8677 0.3536 1.0000 0.5000 0.1250 1.00068 2.09 24
2 8 1 8388608 8388608 8131945 0x09d3dc61 5 0.000001 1.0000 0.8680 0.3538 1.0000 0.5000 0.1250 1.00067 -2.55 23
3 8 1 8388608 8388608 8132094 0x0fcde01e 4 0.000000 1.0000 0.8679 0.3538 1.0000 0.5000 0.1250 1.00069 2.49 25
4 9 0 16777216 8388608 8258704 0x0ec34d5e 4 0.000000 1.0000 0.7130 0.2827 1.0000 0.2500 0.0625 1.00014 2.10 23
5 9 0 16777216 8388608 8258085 0x0d7c7231 4 0.000000 1.0000 0.7131 0.2827 1.0000 0.2500 0.0625 1.00007 2.35 27
6 10 1 8388608 8388608 8131678 0x09d64ddc 5 0.000001 1.0000 0.8678 0.3536 1.0000 0.5000 0.1250 1.00064 -1.97 11
7 10 1 8388608 8388608 8131492 0x0fc03997 5 0.000001 1.0000 0.8680 0.3537 1.0000 0.5000 0.1250 1.00062 -3.51 1
8 11 2 4194304 8388608 7886321 0x07579830 6 0.000001 1.0000 1.0000 0.4840 1.0000 1.0000 0.2500 1.00280 -2.78 24
9 11 2 4194304 8388608 7884408 0x07f9a1d2 6 0.000001 1.0000 1.0000 0.4842 1.0000 1.0000 0.2500 1.00255 -2.38 21
10 13 1 8388608 8388608 8131831 0x028ad7af 5 0.000001 1.0000 0.8679 0.3537 1.0000 0.5000 0.1250 1.00066 -2.29 2
11 13 1 8388608 8388608 8131126 0x01eca4cf 5 0.000001 1.0000 0.8680 0.3537 1.0000 0.5000 0.1250 1.00057 -2.14 17
12 29 0 16777216 8388608 8258636 0x020fff43 4 0.000000 1.0000 0.7133 0.2827 1.0000 0.2500 0.0625 1.00013 2.45 13
13 29 0 16777216 8388608 8258639 0x0684affd 4 0.000000 1.0000 0.7130 0.2826 1.0000 0.2500 0.0625 1.00013 -2.24 20
14 30 1 8388608 8388608 8131030 0x0156b5af 4 0.000000 1.0000 0.8678 0.3535 1.0000 0.5000 0.1250 1.00056 2.47 24
15 30 1 8388608 8388608 8132231 0x05d7450b 4 0.000000 1.0000 0.8679 0.3536 1.0000 0.5000 0.1250 1.00071 2.75 26
16 31 1 8388608 8388608 8131162 0x016f2f20 5 0.000001 1.0000 0.8680 0.3538 1.0000 0.5000 0.1250 1.00058 -1.51 12
17 31 1 8388608 8388608 8131757 0x054cc4b7 5 0.000001 1.0000 0.8681 0.3538 1.0000 0.5000 0.1250 1.00065 2.20 18
18 44 1 8388608 8388608 8131834 0x05606f45 5 0.000001 1.0000 0.8679 0.3537 1.0000 0.5000 0.1250 1.00066 -1.64 7
19 44 1 8388608 8388608 8131163 0x02332e6c 5 0.000001 1.0000 0.8676 0.3535 1.0000 0.5000 0.1250 1.00058 2.39 8
20 46 1 8388608 8388608 8132339 0x0282d27f 5 0.000001 1.0000 0.8679 0.3537 1.0000 0.5000 0.1250 1.00072 -2.20 12
21 46 1 8388608 8388608 8131591 0x04dd4e3a 4 0.000000 1.0000 0.8678 0.3535 1.0000 0.5000 0.1250 1.00063 1.57 9
22 47 2 4194304 8388608 7885706 0x0322c452 6 0.000001 1.0000 1.0000 0.4839 1.0000 1.0000 0.2500 1.00272 2.18 17
23 47 2 4194304 8388608 7885403 0x025ac4be 6 0.000001 1.0000 1.0000 0.4841 1.0000 1.0000 0.2500 1.00268 2.00 21
24 52 0 16777216 8388608 8258667 0x019ac84e 4 0.000000 1.0000 0.7132 0.2827 1.0000 0.2500 0.0625 1.00014 -2.28 14
25 52 0 16777216 8388608 8259291 0x00a62c92 4 0.000000 1.0000 0.7130 0.2827 1.0000 0.2500 0.0625 1.00021 1.64 16
26 56 0 16777216 8388608 8258968 0x09e1fab5 4 0.000000 1.0000 0.7132 0.2827 1.0000 0.2500 0.0625 1.00017 2.02 5
27 56 0 16777216 8388608 8258927 0x0a3d57dc 4 0.000000 1.0000 0.7131 0.2827 1.0000 0.2500 0.0625 1.00017 -2.36 11
28 58 1 8388608 8388608 8132535 0x0fac6ffa 5 0.000001 1.0000 0.8679 0.3537 1.0000 0.5000 0.1250 1.00075 2.80 0
29 58 1 8388608 8388608 8131321 0x08555300 4 0.000000 1.0000 0.8680 0.3537 1.0000 0.5000 0.1250 1.00060 1.61 16
30 63 0 16777216 8388608 8259105 0x0892bf3d 4 0.000000 1.0000 0.7132 0.2827 1.0000 0.2500 0.0625 1.00019 2.28 26
31 63 0 16777216 8388608 8258645 0x03d6fb84 4 0.000000 1.0000 0.7130 0.2826 1.0000 0.2500 0.0625 1.00013 1.74 27
# F8 form over the live stream: top 0.1 percent of items hold 0.002138 of reads; flat control 0.001944 (ratio 1.0998x), windowed control 0.002141 (ratio 0.9989x; the gate 1.2x); min site distinct ratio 1.00007 (floors 0.98 and 0.995); worst index bit inside its window -3.51 sigma at site 7 bit 1 (the band 6)
# program: reads 268435456, distinct items 16777198, worst site 8 address 0x07579830 in 6 reads (share 0.000001); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.3540, 64 MiB 0.1035; the per-site ideal caches summed: 1.0000, 0.8360, 0.3478; 159.5 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,36 @@
# night driver start 21:56 UK host igneum-build-5 jobs 5
start 1 canary-p18 21:56 UK
end 1 canary-p18 rc 0 21:56 UK
start 1 object-h0 21:56 UK
end 1 object-h0 rc 0 21:59 UK
start 1 liveness-object-h0 21:59 UK
end 1 liveness-object-h0 rc 0 21:59 UK
start 1 seed-p18 19 20 21 22 23 24 25 21:59 UK
end 1 seed-p18 19 20 21 22 23 24 25 rc 2 21:59 UK
restart 2 seed-p18 19 20 21 22 23 24 25 21:59 UK
start 2 seed-p18 19 20 21 22 23 24 25 21:59 UK
end 2 seed-p18 19 20 21 22 23 24 25 rc 2 21:59 UK
restart 3 seed-p18 19 20 21 22 23 24 25 21:59 UK
start 3 seed-p18 19 20 21 22 23 24 25 21:59 UK
end 3 seed-p18 19 20 21 22 23 24 25 rc 2 21:59 UK
start 1 liveness-p18 21:59 UK
end 1 liveness-p18 rc 0 21:59 UK
# night driver end 21:59 UK
# night driver start 22:01 UK host igneum-build-5 jobs 8
start 1 seed-p18 22:01 UK
end 1 seed-p18 rc 0 22:01 UK
start 1 seed-p19 22:01 UK
end 1 seed-p19 rc 0 22:02 UK
start 1 seed-p20 22:02 UK
end 1 seed-p20 rc 0 22:03 UK
start 1 seed-p21 22:03 UK
end 1 seed-p21 rc 0 22:03 UK
start 1 seed-p22 22:03 UK
end 1 seed-p22 rc 0 22:04 UK
start 1 seed-p23 22:04 UK
end 1 seed-p23 rc 0 22:05 UK
start 1 seed-p24 22:05 UK
end 1 seed-p24 rc 0 22:05 UK
start 1 seed-p25 22:05 UK
end 1 seed-p25 rc 0 22:06 UK
# night driver end 22:06 UK

View file

@ -0,0 +1,42 @@
# addrsite: program 0b686c80e25cb4d3 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 3 262144 261876 0x000e4f1d 3 0.000011
0 1 3 262144 261871 0x029461b8 2 0.000008
# worst cell: iteration 0 site 0 address 0x000e4f1d in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 3 1 8388608 2097152 2080929 0x04b26299 4 0.000002 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00008 -2.60 22
1 3 1 8388608 2097152 2080879 0x05b4d045 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00005 -2.51 18
2 6 0 16777216 2097152 2089195 0x0e4e082d 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00011 -1.82 22
3 6 0 16777216 2097152 2089046 0x01dc5cc3 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00004 -1.95 9
4 11 1 8388608 2097152 2080698 0x0b201331 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 0.99997 -1.88 21
5 11 1 8388608 2097152 2080934 0x0fde6798 3 0.000001 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 1.00008 -2.87 7
6 18 2 4194304 2097152 2064883 0x00482c0a 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00024 1.85 17
7 18 2 4194304 2097152 2064474 0x02002d3b 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00004 2.09 17
8 27 2 4194304 2097152 2064914 0x066b8f5f 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00026 -2.61 3
9 27 2 4194304 2097152 2064236 0x04666edb 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 0.99993 3.08 19
10 34 2 4194304 2097152 2064642 0x000d13e3 3 0.000001 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00012 2.44 14
11 34 2 4194304 2097152 2064513 0x0214c14a 4 0.000002 1.0000 1.0000 0.7133 1.0000 1.0000 0.2500 1.00006 -1.94 17
12 37 1 8388608 2097152 2080803 0x060b2662 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00002 -2.47 19
13 37 1 8388608 2097152 2080758 0x0331a9a9 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00000 -2.26 13
14 40 2 4194304 2097152 2064723 0x0d1e0fd4 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00016 -2.98 6
15 40 2 4194304 2097152 2064774 0x0ec5a875 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00019 -1.61 22
16 41 2 4194304 2097152 2064682 0x03ec6eec 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00014 -2.38 9
17 41 2 4194304 2097152 2064788 0x01da8b47 3 0.000001 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00020 2.55 20
18 42 2 4194304 2097152 2064547 0x08cfd70a 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00008 1.76 9
19 42 2 4194304 2097152 2064774 0x0b615202 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00019 1.98 6
20 48 2 4194304 2097152 2064698 0x0cf47975 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00015 -2.57 10
21 48 2 4194304 2097152 2064685 0x0cf6fe62 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00015 2.09 2
22 50 0 16777216 2097152 2088969 0x00d21e2c 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00000 -2.30 23
23 50 0 16777216 2097152 2088913 0x0ee7ed6f 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99998 -1.63 21
24 55 2 4194304 2097152 2064704 0x0cc94d09 3 0.000001 1.0000 1.0000 0.7135 1.0000 1.0000 0.2500 1.00016 3.09 16
25 55 2 4194304 2097152 2064810 0x0e04588b 3 0.000001 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00021 1.79 23
26 57 1 8388608 2097152 2080683 0x071707d2 4 0.000002 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 0.99996 2.26 18
27 57 1 8388608 2097152 2080580 0x04f60cb6 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 0.99991 -2.78 16
28 60 1 8388608 2097152 2081125 0x0a64769a 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00017 -2.33 11
29 60 1 8388608 2097152 2080624 0x0eada28b 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 0.99993 -1.99 14
30 62 0 16777216 2097152 2088835 0x0d3cb88c 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99994 1.61 15
31 62 0 16777216 2097152 2088964 0x01baa343 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00000 -1.98 12
# F8 form over the live stream: top 0.1 percent of items hold 0.003391 of reads; flat control 0.003074 (ratio 1.1032x), windowed control 0.003389 (ratio 1.0006x; the gate 1.2x); min site distinct ratio 0.99991 (floors 0.98 and 0.995); worst index bit inside its window 3.09 sigma at site 24 bit 16 (the band 6)
# program: reads 67108864, distinct items 16288897, worst site 0 address 0x04b26299 in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4404, 64 MiB 0.1414; the per-site ideal caches summed: 1.0000, 1.0000, 0.6538; 37.2 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program bf8510cd00c0c70f class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 3 262144 261655 0x0b1aa513 2 0.000008
0 1 3 262144 261636 0x0a0aa4c2 2 0.000008
# worst cell: iteration 0 site 2 address 0x06f0d11f in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 3 2 4194304 2097152 2064567 0x0813e726 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00009 1.97 3
1 3 2 4194304 2097152 2064660 0x0bdd3cc7 4 0.000002 1.0000 1.0000 0.7134 1.0000 1.0000 0.2500 1.00013 -2.26 1
2 5 2 4194304 2097152 2064744 0x06f31d4f 4 0.000002 1.0000 1.0000 0.7137 1.0000 1.0000 0.2500 1.00017 1.90 4
3 5 2 4194304 2097152 2064476 0x04f74c73 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00004 -2.49 18
4 8 0 16777216 2097152 2089084 0x0da80068 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00006 -2.56 15
5 8 0 16777216 2097152 2088888 0x03c298f6 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99997 -1.86 27
6 15 1 8388608 2097152 2080922 0x0cef3dd9 3 0.000001 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 1.00007 3.41 7
7 15 1 8388608 2097152 2080961 0x0e2d839d 4 0.000002 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00009 -1.93 17
8 16 2 4194304 2097152 2064720 0x0ed37606 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00016 -2.29 3
9 16 2 4194304 2097152 2064829 0x0ce21642 3 0.000001 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00022 -2.40 25
10 18 0 16777216 2097152 2088870 0x05d987d8 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99996 2.03 11
11 18 0 16777216 2097152 2088983 0x029a3121 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00001 2.05 10
12 20 0 16777216 2097152 2088932 0x0dadfb46 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99999 2.63 14
13 20 0 16777216 2097152 2089010 0x04a10d8d 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00002 2.62 17
14 24 0 16777216 2097152 2088971 0x0b3f9d83 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00001 -2.54 21
15 24 0 16777216 2097152 2088658 0x0a5d1395 3 0.000001 1.0000 1.0000 0.5604 1.0000 0.2500 0.0625 0.99986 2.46 20
16 28 1 8388608 2097152 2080835 0x0da33a05 3 0.000001 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00003 2.25 17
17 28 1 8388608 2097152 2080764 0x0cab0080 4 0.000002 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00000 2.18 20
18 29 1 8388608 2097152 2080979 0x056d2902 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00010 -1.88 9
19 29 1 8388608 2097152 2080906 0x02f221f1 3 0.000001 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 1.00007 2.67 3
20 35 1 8388608 2097152 2080716 0x0a2c3876 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 0.99998 -2.34 22
21 35 1 8388608 2097152 2080861 0x0ab58865 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00004 3.51 1
22 41 1 8388608 2097152 2081104 0x0d4373fb 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00016 -2.57 5
23 41 1 8388608 2097152 2080795 0x0e0c41fb 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00001 -1.83 6
24 52 2 4194304 2097152 2064791 0x0b08686d 4 0.000002 1.0000 1.0000 0.7133 1.0000 1.0000 0.2500 1.00020 2.41 17
25 52 2 4194304 2097152 2064688 0x0a04c3d9 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00015 -2.02 0
26 54 2 4194304 2097152 2064789 0x03fcf023 4 0.000002 1.0000 1.0000 0.7126 1.0000 1.0000 0.2500 1.00020 -3.04 17
27 54 2 4194304 2097152 2064622 0x03abef8c 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00012 -2.57 4
28 55 0 16777216 2097152 2088972 0x017e612a 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00001 1.96 10
29 55 0 16777216 2097152 2089045 0x02c2382b 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00004 -3.81 7
30 62 0 16777216 2097152 2088837 0x07a76cac 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99994 1.85 7
31 62 0 16777216 2097152 2089047 0x0b01583f 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00004 -1.68 20
# F8 form over the live stream: top 0.1 percent of items hold 0.003433 of reads; flat control 0.003076 (ratio 1.1159x), windowed control 0.003434 (ratio 0.9996x; the gate 1.2x); min site distinct ratio 0.99986 (floors 0.98 and 0.995); worst index bit inside its window -3.81 sigma at site 29 bit 7 (the band 6)
# program: reads 67108864, distinct items 16295371, worst site 0 address 0x0813e726 in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4418, 64 MiB 0.1426; the per-site ideal caches summed: 1.0000, 1.0000, 0.6251; 37.5 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program 24133bd7265e958f class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 7 262144 261885 0x0343ee61 2 0.000008
0 1 7 262144 261881 0x00f22a5f 2 0.000008
# worst cell: iteration 0 site 2 address 0x0ae65aa6 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 7 1 8388608 2097152 2080652 0x07d93627 3 0.000001 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 0.99994 2.09 15
1 7 1 8388608 2097152 2080868 0x0686b399 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00005 1.62 1
2 12 2 4194304 2097152 2064729 0x09d4fb1a 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00017 2.72 22
3 12 2 4194304 2097152 2064685 0x091bcddd 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00015 -2.57 4
4 16 0 16777216 2097152 2088927 0x091db95c 3 0.000001 1.0000 1.0000 0.5596 1.0000 0.2500 0.0625 0.99998 2.37 24
5 16 0 16777216 2097152 2089036 0x089bc5e3 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00004 -2.18 3
6 21 2 4194304 2097152 2064914 0x09526974 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00026 -1.99 5
7 21 2 4194304 2097152 2065025 0x08d25517 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00031 2.32 15
8 23 1 8388608 2097152 2080988 0x0e5dde91 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00011 -1.78 23
9 23 1 8388608 2097152 2081037 0x0bdf5845 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00013 2.36 3
10 26 1 8388608 2097152 2080754 0x003b1a48 4 0.000002 1.0000 1.0000 0.6156 1.0000 0.5000 0.1250 0.99999 2.56 8
11 26 1 8388608 2097152 2080983 0x06b45091 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00010 -1.90 25
12 31 0 16777216 2097152 2088910 0x0aa4ae37 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99998 -2.29 24
13 31 0 16777216 2097152 2088934 0x081c8307 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99999 2.01 16
14 37 0 16777216 2097152 2089016 0x0d26ec54 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00003 -2.15 12
15 37 0 16777216 2097152 2088952 0x06846339 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00000 -2.47 7
16 42 2 4194304 2097152 2064723 0x0fdf72bf 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00016 2.56 19
17 42 2 4194304 2097152 2064835 0x0eac09aa 3 0.000001 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00022 -2.12 10
18 50 2 4194304 2097152 2065072 0x01c5480c 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00033 2.89 21
19 50 2 4194304 2097152 2064560 0x02d4382d 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00009 2.32 7
20 52 1 8388608 2097152 2080693 0x0465e729 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 0.99996 2.31 17
21 52 1 8388608 2097152 2080994 0x0326cf51 4 0.000002 1.0000 1.0000 0.6156 1.0000 0.5000 0.1250 1.00011 2.95 6
22 55 1 8388608 2097152 2080816 0x00faef0c 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00002 3.53 8
23 55 1 8388608 2097152 2080759 0x02721691 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00000 -2.40 26
24 56 1 8388608 2097152 2080758 0x035ae275 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00000 2.13 5
25 56 1 8388608 2097152 2080689 0x05953052 4 0.000002 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 0.99996 2.28 21
26 57 2 4194304 2097152 2064382 0x09a2e80e 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00000 1.70 20
27 57 2 4194304 2097152 2064898 0x086ecbc9 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00025 1.86 9
28 59 2 4194304 2097152 2064762 0x02cf86d2 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00018 -1.49 22
29 59 2 4194304 2097152 2064911 0x008d0c7b 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00026 2.31 20
30 61 0 16777216 2097152 2088933 0x0e8cac4a 4 0.000002 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99999 -3.55 0
31 61 0 16777216 2097152 2089107 0x0278742c 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00007 1.93 26
# F8 form over the live stream: top 0.1 percent of items hold 0.003434 of reads; flat control 0.003073 (ratio 1.1175x), windowed control 0.003433 (ratio 1.0003x; the gate 1.2x); min site distinct ratio 0.99994 (floors 0.98 and 0.995); worst index bit inside its window -3.55 sigma at site 30 bit 0 (the band 6)
# program: reads 67108864, distinct items 16241632, worst site 2 address 0x09d4fb1a in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4443, 64 MiB 0.1429; the per-site ideal caches summed: 1.0000, 1.0000, 0.6381; 37.2 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program ed647abf60a5bd32 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 2 262144 261872 0x05f8d1aa 2 0.000008
0 1 2 262144 261875 0x03973640 3 0.000011
# worst cell: iteration 0 site 1 address 0x03973640 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 2 1 8388608 2097152 2080802 0x04e14ec7 4 0.000002 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00002 -2.58 25
1 2 1 8388608 2097152 2080971 0x04211450 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00010 -2.65 21
2 3 1 8388608 2097152 2080923 0x023d7abf 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00007 2.18 5
3 3 1 8388608 2097152 2080683 0x04a06101 4 0.000002 1.0000 1.0000 0.6156 1.0000 0.5000 0.1250 0.99996 3.13 20
4 7 0 16777216 2097152 2089101 0x052b5c58 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00007 2.28 12
5 7 0 16777216 2097152 2088894 0x0ea8f6e0 4 0.000002 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 0.99997 -1.63 2
6 9 2 4194304 2097152 2064761 0x01cfdee9 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00018 -1.55 24
7 9 2 4194304 2097152 2064803 0x032825af 3 0.000001 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00020 -1.84 8
8 10 0 16777216 2097152 2088925 0x08f54043 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99998 2.69 21
9 10 0 16777216 2097152 2088838 0x0ee50520 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99994 3.05 2
10 27 0 16777216 2097152 2088759 0x0bd61849 3 0.000001 1.0000 1.0000 0.5596 1.0000 0.2500 0.0625 0.99990 -2.66 22
11 27 0 16777216 2097152 2088929 0x0e72d133 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99999 3.90 9
12 31 2 4194304 2097152 2064623 0x01d8e0aa 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00012 -2.24 12
13 31 2 4194304 2097152 2064847 0x0027fdfb 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00022 -2.39 22
14 33 0 16777216 2097152 2088973 0x04d07c60 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00001 -2.74 13
15 33 0 16777216 2097152 2088959 0x002b5d5d 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00000 2.46 19
16 36 1 8388608 2097152 2080712 0x05de5e64 4 0.000002 1.0000 1.0000 0.6156 1.0000 0.5000 0.1250 0.99997 1.81 3
17 36 1 8388608 2097152 2080944 0x06b26a12 4 0.000002 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00008 2.26 21
18 38 2 4194304 2097152 2064895 0x0a4b211d 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00025 -2.38 6
19 38 2 4194304 2097152 2064767 0x0b1e9590 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00019 -2.15 25
20 43 2 4194304 2097152 2064538 0x00002183 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00007 2.47 15
21 43 2 4194304 2097152 2064785 0x00f2fa9c 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00019 1.40 24
22 45 0 16777216 2097152 2088974 0x0232deed 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00001 -2.78 10
23 45 0 16777216 2097152 2088823 0x082dfbc8 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 0.99993 -2.57 12
24 46 1 8388608 2097152 2080831 0x05307add 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00003 2.35 26
25 46 1 8388608 2097152 2080972 0x02c7003f 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00010 -2.73 13
26 49 2 4194304 2097152 2064869 0x0ce514d8 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00023 3.14 1
27 49 2 4194304 2097152 2064825 0x0d1a398d 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00021 -1.92 18
28 51 1 8388608 2097152 2081035 0x036f523c 4 0.000002 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00013 -2.44 22
29 51 1 8388608 2097152 2080904 0x007d72c3 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00007 -2.38 17
30 58 2 4194304 2097152 2064698 0x0fb2a665 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00015 -2.02 18
31 58 2 4194304 2097152 2064756 0x0d9fb4df 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00018 2.81 4
# F8 form over the live stream: top 0.1 percent of items hold 0.003920 of reads; flat control 0.003072 (ratio 1.2759x), windowed control 0.003916 (ratio 1.0008x; the gate 1.2x); min site distinct ratio 0.99990 (floors 0.98 and 0.995); worst index bit inside its window 3.90 sigma at site 11 bit 9 (the band 6)
# program: reads 67108864, distinct items 16068557, worst site 0 address 0x04e14ec7 in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4774, 64 MiB 0.1605; the per-site ideal caches summed: 1.0000, 1.0000, 0.6346; 38.1 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program f8e8969443448ecb class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 10 262144 261667 0x0342068e 3 0.000011
0 1 10 262144 261665 0x037fe51f 2 0.000008
# worst cell: iteration 0 site 0 address 0x0342068e in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 10 2 4194304 2097152 2064542 0x015c50c8 4 0.000002 1.0000 1.0000 0.7135 1.0000 1.0000 0.2500 1.00008 1.73 11
1 10 2 4194304 2097152 2064770 0x020b2e49 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00019 1.63 7
2 16 0 16777216 2097152 2089059 0x06fd1db0 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00005 2.34 17
3 16 0 16777216 2097152 2088990 0x07e58ba5 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00001 -2.10 10
4 17 0 16777216 2097152 2088994 0x0fd5d743 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00002 -1.94 25
5 17 0 16777216 2097152 2089076 0x00f95406 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00006 -1.74 10
6 21 2 4194304 2097152 2064659 0x06a054ca 5 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00013 -1.93 6
7 21 2 4194304 2097152 2064885 0x05a7e0c2 3 0.000001 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00024 2.54 1
8 23 1 8388608 2097152 2080870 0x0b827be5 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00005 2.19 17
9 23 1 8388608 2097152 2080956 0x0c78df5f 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00009 -2.98 8
10 28 0 16777216 2097152 2088984 0x0cb359c8 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00001 -2.26 18
11 28 0 16777216 2097152 2088903 0x0638beab 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99997 1.54 2
12 29 0 16777216 2097152 2088841 0x01838b36 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99994 -2.28 4
13 29 0 16777216 2097152 2088956 0x0e442134 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00000 3.31 19
14 33 1 8388608 2097152 2080793 0x001b8dc0 4 0.000002 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00001 -2.16 11
15 33 1 8388608 2097152 2081029 0x04edfa10 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00013 2.26 24
16 34 0 16777216 2097152 2089107 0x0dd04c77 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00007 2.56 13
17 34 0 16777216 2097152 2088893 0x0ae5097a 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99997 -2.69 19
18 35 0 16777216 2097152 2089009 0x0bb3b40d 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00002 -2.43 23
19 35 0 16777216 2097152 2088933 0x070a0621 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99999 -2.19 24
20 37 0 16777216 2097152 2089027 0x03099106 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00003 2.22 7
21 37 0 16777216 2097152 2088999 0x08d383ff 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00002 -1.53 13
22 40 1 8388608 2097152 2081031 0x0e4fb3b6 4 0.000002 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00013 2.33 15
23 40 1 8388608 2097152 2080995 0x0d096fc6 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00011 -1.96 24
24 41 1 8388608 2097152 2080943 0x02b4d894 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00008 -2.94 22
25 41 1 8388608 2097152 2080678 0x054cd53d 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 0.99996 -2.78 8
26 54 2 4194304 2097152 2064942 0x07779f4e 4 0.000002 1.0000 1.0000 0.7125 1.0000 1.0000 0.2500 1.00027 1.74 11
27 54 2 4194304 2097152 2064927 0x076d6cc7 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00026 -1.95 22
28 61 0 16777216 2097152 2089030 0x0bed0704 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00003 -1.96 8
29 61 0 16777216 2097152 2088963 0x0192583c 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00000 2.10 26
30 62 2 4194304 2097152 2064643 0x0cad5999 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00013 2.80 22
31 62 2 4194304 2097152 2064563 0x0c00d56f 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00009 2.03 6
# F8 form over the live stream: top 0.1 percent of items hold 0.003237 of reads; flat control 0.003071 (ratio 1.0540x), windowed control 0.003238 (ratio 0.9997x; the gate 1.2x); min site distinct ratio 0.99994 (floors 0.98 and 0.995); worst index bit inside its window 3.31 sigma at site 13 bit 19 (the band 6)
# program: reads 67108864, distinct items 16386023, worst site 6 address 0x06a054ca in 5 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4271, 64 MiB 0.1370; the per-site ideal caches summed: 1.0000, 1.0000, 0.6120; 37.5 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program 160649503341aaab class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 1 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 1 262144 261626 0x0c36e229 2 0.000008
0 1 1 262144 261575 0x0c4df63a 2 0.000008
# worst cell: iteration 0 site 5 address 0x051243d9 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 1 2 4194304 2097152 2064620 0x0f20f08a 3 0.000001 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00011 -1.75 0
1 1 2 4194304 2097152 2064664 0x0e3c2793 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00014 -2.22 24
2 8 1 8388608 2097152 2080742 0x05aa1636 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 0.99999 2.43 4
3 8 1 8388608 2097152 2080803 0x0174c4bf 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00002 2.23 5
4 9 0 16777216 2097152 2089015 0x07bfc86f 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00003 2.56 3
5 9 0 16777216 2097152 2089059 0x027b30bc 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00005 2.13 11
6 13 1 8388608 2097152 2080752 0x08a9e70c 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 0.99999 -1.82 22
7 13 1 8388608 2097152 2080802 0x0d6c89d5 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00002 2.45 0
8 22 0 16777216 2097152 2089102 0x07323aba 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00007 -2.58 8
9 22 0 16777216 2097152 2089143 0x0a707102 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00009 -2.02 24
10 26 2 4194304 2097152 2064711 0x0f35989a 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00016 -2.87 25
11 26 2 4194304 2097152 2064898 0x0e10140d 4 0.000002 1.0000 1.0000 0.7133 1.0000 1.0000 0.2500 1.00025 -2.79 1
12 33 0 16777216 2097152 2088937 0x0cc52d13 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99999 -1.77 0
13 33 0 16777216 2097152 2089065 0x0451d2fd 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00005 -2.38 13
14 34 1 8388608 2097152 2080864 0x0a1af540 3 0.000001 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00005 -2.69 2
15 34 1 8388608 2097152 2080867 0x0a3d0ae9 4 0.000002 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00005 2.95 21
16 35 0 16777216 2097152 2088945 0x025f3be0 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99999 -1.83 23
17 35 0 16777216 2097152 2089147 0x0c8f9740 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00009 -2.67 14
18 44 1 8388608 2097152 2080826 0x02e56123 3 0.000001 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00003 1.72 22
19 44 1 8388608 2097152 2080916 0x01310f61 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00007 -2.93 11
20 46 0 16777216 2097152 2089144 0x03bd5597 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00009 2.14 12
21 46 0 16777216 2097152 2088957 0x09024473 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00000 2.32 5
22 50 0 16777216 2097152 2088845 0x0445d9d5 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99994 2.80 23
23 50 0 16777216 2097152 2089093 0x04df6ce7 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00006 2.74 17
24 54 0 16777216 2097152 2088933 0x0a07a102 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99999 -2.02 2
25 54 0 16777216 2097152 2089030 0x0c1379f3 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00003 -3.44 1
26 55 0 16777216 2097152 2088878 0x085501a8 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99996 -3.12 25
27 55 0 16777216 2097152 2088948 0x0bbd318e 4 0.000002 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99999 -2.15 15
28 60 2 4194304 2097152 2064493 0x08396e6d 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00005 -2.12 20
29 60 2 4194304 2097152 2064724 0x0868b1b5 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00016 -2.12 0
30 63 0 16777216 2097152 2089012 0x0678c249 3 0.000001 1.0000 1.0000 0.5597 1.0000 0.2500 0.0625 1.00002 -1.83 13
31 63 0 16777216 2097152 2089134 0x02233538 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00008 2.22 15
# F8 form over the live stream: top 0.1 percent of items hold 0.003338 of reads; flat control 0.003075 (ratio 1.0854x), windowed control 0.003341 (ratio 0.9990x; the gate 1.2x); min site distinct ratio 0.99994 (floors 0.98 and 0.995); worst index bit inside its window -3.44 sigma at site 25 bit 1 (the band 6)
# program: reads 67108864, distinct items 16370394, worst site 1 address 0x0e3c2793 in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4315, 64 MiB 0.1391; the per-site ideal caches summed: 1.0000, 1.0000, 0.6025; 37.7 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program 62aa0bfc93f13028 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 2 262144 262018 0x0e42540a 2 0.000008
0 1 2 262144 262009 0x0e87042e 2 0.000008
# worst cell: iteration 0 site 3 address 0x0bd48627 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 2 0 16777216 2097152 2089004 0x0cd23206 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00002 -3.31 11
1 2 0 16777216 2097152 2089074 0x01eacf3c 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00005 -3.36 10
2 14 2 4194304 2097152 2064697 0x08bdfbf3 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00015 -2.16 3
3 14 2 4194304 2097152 2064991 0x0adf7230 4 0.000002 1.0000 1.0000 0.7133 1.0000 1.0000 0.2500 1.00029 -2.24 2
4 15 1 8388608 2097152 2080753 0x0b5b8ced 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 0.99999 3.46 15
5 15 1 8388608 2097152 2080866 0x0eb45afa 4 0.000002 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00005 -3.01 9
6 16 0 16777216 2097152 2088985 0x09e312bd 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00001 -2.32 21
7 16 0 16777216 2097152 2089013 0x0e41d3af 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00003 -3.46 23
8 21 0 16777216 2097152 2089074 0x0233b8e7 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00005 3.40 15
9 21 0 16777216 2097152 2088934 0x04dda3e6 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 0.99999 -2.18 24
10 26 2 4194304 2097152 2064727 0x00d5209f 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00017 2.10 15
11 26 2 4194304 2097152 2064833 0x0282a4be 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00022 -1.77 15
12 30 0 16777216 2097152 2088776 0x0486d4e0 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 0.99991 -3.05 1
13 30 0 16777216 2097152 2089051 0x05d602a3 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00004 2.14 17
14 32 2 4194304 2097152 2064617 0x06a3fec8 4 0.000002 1.0000 1.0000 0.7134 1.0000 1.0000 0.2500 1.00011 -2.67 2
15 32 2 4194304 2097152 2064708 0x05c925e7 4 0.000002 1.0000 1.0000 0.7134 1.0000 1.0000 0.2500 1.00016 3.15 21
16 36 1 8388608 2097152 2080776 0x08c73031 4 0.000002 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00000 1.81 2
17 36 1 8388608 2097152 2080754 0x0de40a50 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 0.99999 1.74 26
18 39 2 4194304 2097152 2064597 0x000af8f5 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00010 2.75 18
19 39 2 4194304 2097152 2064470 0x005eaed8 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00004 -2.00 19
20 44 1 8388608 2097152 2080775 0x007f50dc 3 0.000001 1.0000 1.0000 0.6157 1.0000 0.5000 0.1250 1.00000 -1.98 0
21 44 1 8388608 2097152 2080944 0x070ee707 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00008 2.92 4
22 45 1 8388608 2097152 2080867 0x062f7ddd 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00005 -2.07 18
23 45 1 8388608 2097152 2081022 0x075a2ba5 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00012 1.94 18
24 50 0 16777216 2097152 2089068 0x0fee120f 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00005 2.18 17
25 50 0 16777216 2097152 2088928 0x0a8c8847 4 0.000002 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99998 1.97 2
26 60 1 8388608 2097152 2080743 0x0e047ef5 4 0.000002 1.0000 1.0000 0.6156 1.0000 0.5000 0.1250 0.99999 -2.67 15
27 60 1 8388608 2097152 2080946 0x08edd8b2 4 0.000002 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00009 2.95 9
28 61 0 16777216 2097152 2088889 0x0a37d852 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99997 -1.90 17
29 61 0 16777216 2097152 2088952 0x0961c7e8 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00000 1.94 11
30 63 1 8388608 2097152 2081084 0x0e81d734 3 0.000001 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00015 -2.27 16
31 63 1 8388608 2097152 2080785 0x0e871b55 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00001 2.09 7
# F8 form over the live stream: top 0.1 percent of items hold 0.003156 of reads; flat control 0.003075 (ratio 1.0264x), windowed control 0.003160 (ratio 0.9988x; the gate 1.2x); min site distinct ratio 0.99991 (floors 0.98 and 0.995); worst index bit inside its window 3.46 sigma at site 4 bit 15 (the band 6)
# program: reads 67108864, distinct items 16429212, worst site 2 address 0x08bdfbf3 in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4212, 64 MiB 0.1338; the per-site ideal caches summed: 1.0000, 1.0000, 0.6190; 37.5 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program 3f1af0bbaaef74fa class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 3 262144 262002 0x07f134b1 2 0.000008
0 1 3 262144 262012 0x0a8848bb 2 0.000008
# worst cell: iteration 0 site 2 address 0x0f8343d0 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 3 0 16777216 2097152 2088996 0x0cbb59da 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00002 2.18 1
1 3 0 16777216 2097152 2089183 0x0a718089 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00011 2.08 11
2 5 1 8388608 2097152 2080847 0x0fb1f63d 4 0.000002 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00004 3.27 5
3 5 1 8388608 2097152 2080897 0x0d06ab75 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00006 -2.05 24
4 13 2 4194304 2097152 2064814 0x05e5885b 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00021 -2.58 4
5 13 2 4194304 2097152 2064602 0x047ac946 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00011 -1.81 5
6 15 2 4194304 2097152 2064413 0x0b1385e8 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00001 -2.35 15
7 15 2 4194304 2097152 2064991 0x0a8c2bdc 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00029 1.95 5
8 16 2 4194304 2097152 2064808 0x0e3d532a 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00021 -2.07 6
9 16 2 4194304 2097152 2064803 0x0f1eb20a 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00020 -2.16 20
10 24 0 16777216 2097152 2088991 0x0550bb50 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00001 -3.16 1
11 24 0 16777216 2097152 2088858 0x0d44845f 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99995 -2.00 20
12 33 2 4194304 2097152 2064743 0x0fcb1fc5 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00017 2.21 4
13 33 2 4194304 2097152 2064971 0x0d9a081b 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00028 -2.21 19
14 37 1 8388608 2097152 2080823 0x08014036 4 0.000002 1.0000 1.0000 0.6158 1.0000 0.5000 0.1250 1.00003 2.52 4
15 37 1 8388608 2097152 2080830 0x0c1b3d35 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00003 1.48 5
16 44 2 4194304 2097152 2064369 0x0f89e882 4 0.000002 1.0000 1.0000 0.7135 1.0000 1.0000 0.2500 0.99999 -2.00 7
17 44 2 4194304 2097152 2064584 0x0d4704d5 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00010 2.59 18
18 45 2 4194304 2097152 2064707 0x0a38b699 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00016 2.00 7
19 45 2 4194304 2097152 2064395 0x088409e8 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00001 2.25 3
20 51 2 4194304 2097152 2064454 0x00cb2b66 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00003 2.08 23
21 51 2 4194304 2097152 2064670 0x0034b787 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00014 2.21 2
22 53 1 8388608 2097152 2080753 0x0696b0ab 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 0.99999 -2.50 9
23 53 1 8388608 2097152 2080886 0x005b4fa2 4 0.000002 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00006 1.75 7
24 57 0 16777216 2097152 2088898 0x0bb45708 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 0.99997 2.93 25
25 57 0 16777216 2097152 2089068 0x0e8a9b07 3 0.000001 1.0000 1.0000 0.5597 1.0000 0.2500 0.0625 1.00005 1.83 2
26 59 0 16777216 2097152 2088887 0x022c48f7 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 0.99997 3.26 1
27 59 0 16777216 2097152 2088972 0x07d98200 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00001 2.05 16
28 61 0 16777216 2097152 2088836 0x053563a9 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 0.99994 -2.43 12
29 61 0 16777216 2097152 2088824 0x0e2d271f 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99993 -2.10 19
30 62 0 16777216 2097152 2088923 0x033cc4ac 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99998 -2.29 15
31 62 0 16777216 2097152 2088953 0x04cd2576 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00000 -1.60 6
# F8 form over the live stream: top 0.1 percent of items hold 0.003436 of reads; flat control 0.003070 (ratio 1.1192x), windowed control 0.003432 (ratio 1.0014x; the gate 1.2x); min site distinct ratio 0.99993 (floors 0.98 and 0.995); worst index bit inside its window 3.27 sigma at site 2 bit 5 (the band 6)
# program: reads 67108864, distinct items 16295799, worst site 2 address 0x0fb1f63d in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4418, 64 MiB 0.1426; the per-site ideal caches summed: 1.0000, 1.0000, 0.6373; 37.1 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,67 @@
# liveness: program 4de7b836cc40a4ea class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw registers 64 day bytes:69676e65756d2d6461792ffa50000000000000 dataset 2^28 words (memory-hard) headers 4 warps 16 threads 32 probe words 2
reg probes first_load_changed hash_changed least_changed_load least_changed_frac
0 4096 1.000000 1.000000 0 1.000000
1 4096 1.000000 1.000000 0 1.000000
2 4096 1.000000 1.000000 0 1.000000
3 4096 1.000000 1.000000 0 1.000000
4 4096 1.000000 1.000000 0 1.000000
5 4096 1.000000 1.000000 0 1.000000
6 4096 1.000000 1.000000 0 1.000000
7 4096 1.000000 1.000000 0 1.000000
8 4096 1.000000 1.000000 0 1.000000
9 4096 1.000000 1.000000 0 1.000000
10 4096 1.000000 1.000000 0 1.000000
11 4096 1.000000 1.000000 0 1.000000
12 4096 1.000000 1.000000 0 1.000000
13 4096 1.000000 1.000000 0 1.000000
14 4096 1.000000 1.000000 0 1.000000
15 4096 1.000000 1.000000 0 1.000000
16 4096 1.000000 1.000000 0 1.000000
17 4096 1.000000 1.000000 0 1.000000
18 4096 1.000000 1.000000 0 1.000000
19 4096 1.000000 1.000000 0 1.000000
20 4096 1.000000 1.000000 0 1.000000
21 4096 1.000000 1.000000 0 1.000000
22 4096 1.000000 1.000000 0 1.000000
23 4096 1.000000 1.000000 0 1.000000
24 4096 1.000000 1.000000 0 1.000000
25 4096 1.000000 1.000000 0 1.000000
26 4096 1.000000 1.000000 0 1.000000
27 4096 1.000000 1.000000 0 1.000000
28 4096 1.000000 1.000000 0 1.000000
29 4096 1.000000 1.000000 0 1.000000
30 4096 1.000000 1.000000 0 1.000000
31 4096 1.000000 1.000000 0 1.000000
32 4096 1.000000 1.000000 0 1.000000
33 4096 1.000000 1.000000 0 1.000000
34 4096 1.000000 1.000000 0 1.000000
35 4096 1.000000 1.000000 0 1.000000
36 4096 1.000000 1.000000 0 1.000000
37 4096 1.000000 1.000000 0 1.000000
38 4096 1.000000 1.000000 0 1.000000
39 4096 1.000000 1.000000 0 1.000000
40 4096 1.000000 1.000000 0 1.000000
41 4096 1.000000 1.000000 0 1.000000
42 4096 1.000000 1.000000 0 1.000000
43 4096 1.000000 1.000000 0 1.000000
44 4096 1.000000 1.000000 0 1.000000
45 4096 1.000000 1.000000 0 1.000000
46 4096 1.000000 1.000000 0 1.000000
47 4096 1.000000 1.000000 0 1.000000
48 4096 1.000000 1.000000 0 1.000000
49 4096 1.000000 1.000000 0 1.000000
50 4096 1.000000 1.000000 0 1.000000
51 4096 1.000000 1.000000 0 1.000000
52 4096 1.000000 1.000000 0 1.000000
53 4096 1.000000 1.000000 0 1.000000
54 4096 1.000000 1.000000 0 1.000000
55 4096 1.000000 1.000000 0 1.000000
56 4096 1.000000 1.000000 0 1.000000
57 4096 1.000000 1.000000 0 1.000000
58 4096 1.000000 1.000000 0 1.000000
59 4096 1.000000 1.000000 0 1.000000
60 4096 1.000000 1.000000 0 1.000000
61 4096 1.000000 1.000000 0 1.000000
62 4096 1.000000 1.000000 0 1.000000
63 4096 1.000000 1.000000 0 1.000000
# verdict: 64 registers over 4096 probes each; first-load address changed in 1.000000 of lanes at the least live register, the hash in 1.000000; the least changed (register, first-iteration load) is (0, 0) at 1.000000; LIVE on live data (every register moves every lane's first address and hash); 18.3 s
Can't render this file because it has a wrong number of fields in line 2.

View file

@ -0,0 +1,67 @@
# liveness: program 2b406490ba8d3c91 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw registers 64 day 2026-10-03 dataset 2^28 words (memory-hard) headers 2 warps 8 threads 32 probe words 2
reg probes first_load_changed hash_changed least_changed_load least_changed_frac
0 1024 1.000000 1.000000 0 1.000000
1 1024 1.000000 1.000000 0 1.000000
2 1024 1.000000 1.000000 0 1.000000
3 1024 1.000000 1.000000 0 1.000000
4 1024 1.000000 1.000000 0 1.000000
5 1024 1.000000 1.000000 0 1.000000
6 1024 1.000000 1.000000 0 1.000000
7 1024 1.000000 1.000000 0 1.000000
8 1024 1.000000 1.000000 0 1.000000
9 1024 1.000000 1.000000 0 1.000000
10 1024 1.000000 1.000000 0 1.000000
11 1024 1.000000 1.000000 0 1.000000
12 1024 1.000000 1.000000 0 1.000000
13 1024 1.000000 1.000000 0 1.000000
14 1024 1.000000 1.000000 0 1.000000
15 1024 1.000000 1.000000 0 1.000000
16 1024 1.000000 1.000000 0 1.000000
17 1024 1.000000 1.000000 0 1.000000
18 1024 1.000000 1.000000 0 1.000000
19 1024 1.000000 1.000000 0 1.000000
20 1024 1.000000 1.000000 0 1.000000
21 1024 1.000000 1.000000 0 1.000000
22 1024 1.000000 1.000000 0 1.000000
23 1024 1.000000 1.000000 0 1.000000
24 1024 1.000000 1.000000 0 1.000000
25 1024 1.000000 1.000000 0 1.000000
26 1024 1.000000 1.000000 0 1.000000
27 1024 1.000000 1.000000 0 1.000000
28 1024 1.000000 1.000000 0 1.000000
29 1024 1.000000 1.000000 0 1.000000
30 1024 1.000000 1.000000 0 1.000000
31 1024 1.000000 1.000000 0 1.000000
32 1024 1.000000 1.000000 0 1.000000
33 1024 1.000000 1.000000 0 1.000000
34 1024 1.000000 1.000000 0 1.000000
35 1024 1.000000 1.000000 0 1.000000
36 1024 1.000000 1.000000 0 1.000000
37 1024 1.000000 1.000000 0 1.000000
38 1024 1.000000 1.000000 0 1.000000
39 1024 1.000000 1.000000 0 1.000000
40 1024 1.000000 1.000000 0 1.000000
41 1024 1.000000 1.000000 0 1.000000
42 1024 1.000000 1.000000 0 1.000000
43 1024 1.000000 1.000000 0 1.000000
44 1024 1.000000 1.000000 0 1.000000
45 1024 1.000000 1.000000 0 1.000000
46 1024 1.000000 1.000000 0 1.000000
47 1024 1.000000 1.000000 0 1.000000
48 1024 1.000000 1.000000 0 1.000000
49 1024 1.000000 1.000000 0 1.000000
50 1024 1.000000 1.000000 0 1.000000
51 1024 1.000000 1.000000 0 1.000000
52 1024 1.000000 1.000000 0 1.000000
53 1024 1.000000 1.000000 0 1.000000
54 1024 1.000000 1.000000 0 1.000000
55 1024 1.000000 1.000000 0 1.000000
56 1024 1.000000 1.000000 0 1.000000
57 1024 1.000000 1.000000 0 1.000000
58 1024 1.000000 1.000000 0 1.000000
59 1024 1.000000 1.000000 0 1.000000
60 1024 1.000000 1.000000 0 1.000000
61 1024 1.000000 1.000000 0 1.000000
62 1024 1.000000 1.000000 0 1.000000
63 1024 1.000000 1.000000 0 1.000000
# verdict: 64 registers over 1024 probes each; first-load address changed in 1.000000 of lanes at the least live register, the hash in 1.000000; the least changed (register, first-iteration load) is (0, 0) at 1.000000; LIVE on live data (every register moves every lane's first address and hash); 4.7 s
Can't render this file because it has a wrong number of fields in line 2.

View file

@ -0,0 +1,5 @@
canary-p18 # F8 form 16 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 1 --warps 256 --threads 16 --seed igneum-attack-f8/program/18 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
object-h4 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --header-from 4 --warps 8192 --threads 32 --epoch-hex edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
liveness-object-h4 # verdict 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow liveness --count 4 --header-from 4 --warps 16 --threads 32 --epoch-hex edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p26 27 28 29 30 31 32 33 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/26 27 28 29 30 31 32 33 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
liveness-p26 # verdict 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow liveness --count 2 --warps 8 --threads 32 --seed igneum-attack-f8/program/26 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
1 canary-p18 # F8 form 16 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 1 --warps 256 --threads 16 --seed igneum-attack-f8/program/18 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
2 object-h4 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --header-from 4 --warps 8192 --threads 32 --epoch-hex edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
3 liveness-object-h4 # verdict 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow liveness --count 4 --header-from 4 --warps 16 --threads 32 --epoch-hex edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
4 seed-p26 27 28 29 30 31 32 33 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/26 27 28 29 30 31 32 33 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
5 liveness-p26 # verdict 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow liveness --count 2 --warps 8 --threads 32 --seed igneum-attack-f8/program/26 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1

View file

@ -0,0 +1,8 @@
seed-p26 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/26 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p27 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/27 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p28 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/28 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p29 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/29 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p30 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/30 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p31 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/31 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p32 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/32 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
seed-p33 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/33 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
1 seed-p26 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/26 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
2 seed-p27 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/27 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
3 seed-p28 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/28 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
4 seed-p29 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/29 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
5 seed-p30 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/30 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
6 seed-p31 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/31 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
7 seed-p32 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/32 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1
8 seed-p33 # F8 form 32 env IGNEUM_FAMILY_GATE=1 /srv/builds/v6-census/bin/all4-b819c23a/igneum-pow addrsite --count 4 --warps 2048 --threads 32 --seed igneum-attack-f8/program/33 --day-hex 69676e65756d2d6461792ffa50000000000000 --class mx8+sh256x27+state+reg64c+fold+rw --era 0:edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07 --state /srv/builds/v6-census/packs/node1-state.igsd1

View file

@ -0,0 +1,42 @@
# addrsite: program 4de7b836cc40a4ea class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day bytes:69676e65756d2d6461792ffa50000000000000 dataset 2^28 words (memory-hard) headers 4 warps 8192 nonces/header 262144 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 7 1048576 1044536 0x0e05c4a9 3 0.000003
0 1 7 1048576 1044607 0x08697f24 3 0.000003
# worst cell: iteration 0 site 28 address 0x0f45e0db in 4 reads, share 0.000004
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 7 1 8388608 8388608 8131224 0x08f95f48 4 0.000000 1.0000 0.8679 0.3537 1.0000 0.5000 0.1250 1.00059 -2.28 12
1 7 1 8388608 8388608 8132204 0x0a60bde7 4 0.000000 1.0000 0.8678 0.3536 1.0000 0.5000 0.1250 1.00071 -2.24 21
2 8 1 8388608 8388608 8132174 0x0d9d2d01 5 0.000001 1.0000 0.8680 0.3536 1.0000 0.5000 0.1250 1.00070 -2.48 13
3 8 1 8388608 8388608 8131438 0x0899c671 5 0.000001 1.0000 0.8678 0.3536 1.0000 0.5000 0.1250 1.00061 -2.83 6
4 9 0 16777216 8388608 8258753 0x08a8b28d 4 0.000000 1.0000 0.7130 0.2826 1.0000 0.2500 0.0625 1.00015 1.88 14
5 9 0 16777216 8388608 8259388 0x03d1dc2b 4 0.000000 1.0000 0.7131 0.2827 1.0000 0.2500 0.0625 1.00022 2.64 25
6 10 1 8388608 8388608 8132147 0x0ee46b12 5 0.000001 1.0000 0.8679 0.3536 1.0000 0.5000 0.1250 1.00070 1.88 15
7 10 1 8388608 8388608 8132252 0x087b47fa 4 0.000000 1.0000 0.8679 0.3536 1.0000 0.5000 0.1250 1.00071 2.82 7
8 11 2 4194304 8388608 7885782 0x07578642 5 0.000001 1.0000 1.0000 0.4839 1.0000 1.0000 0.2500 1.00273 -2.39 1
9 11 2 4194304 8388608 7884591 0x048afc00 5 0.000001 1.0000 1.0000 0.4841 1.0000 1.0000 0.2500 1.00258 -3.06 1
10 13 1 8388608 8388608 8131079 0x02be2d07 4 0.000000 1.0000 0.8681 0.3537 1.0000 0.5000 0.1250 1.00057 -2.24 7
11 13 1 8388608 8388608 8131565 0x04d6955b 4 0.000000 1.0000 0.8680 0.3538 1.0000 0.5000 0.1250 1.00063 -1.87 17
12 29 0 16777216 8388608 8259329 0x08f9a4bf 4 0.000000 1.0000 0.7130 0.2826 1.0000 0.2500 0.0625 1.00022 1.99 25
13 29 0 16777216 8388608 8258841 0x0a5492cf 4 0.000000 1.0000 0.7130 0.2826 1.0000 0.2500 0.0625 1.00016 -2.54 14
14 30 1 8388608 8388608 8131950 0x02134f18 5 0.000001 1.0000 0.8677 0.3535 1.0000 0.5000 0.1250 1.00068 -2.31 16
15 30 1 8388608 8388608 8132719 0x04eec855 5 0.000001 1.0000 0.8679 0.3537 1.0000 0.5000 0.1250 1.00077 -2.37 24
16 31 1 8388608 8388608 8131259 0x055f81c2 4 0.000000 1.0000 0.8680 0.3537 1.0000 0.5000 0.1250 1.00059 2.65 23
17 31 1 8388608 8388608 8132146 0x00887025 5 0.000001 1.0000 0.8679 0.3537 1.0000 0.5000 0.1250 1.00070 -2.40 24
18 44 1 8388608 8388608 8132643 0x06da0c02 4 0.000000 1.0000 0.8679 0.3537 1.0000 0.5000 0.1250 1.00076 -2.11 11
19 44 1 8388608 8388608 8131442 0x033fda08 4 0.000000 1.0000 0.8678 0.3537 1.0000 0.5000 0.1250 1.00061 -2.04 20
20 46 1 8388608 8388608 8132391 0x00647e1d 5 0.000001 1.0000 0.8680 0.3538 1.0000 0.5000 0.1250 1.00073 2.73 24
21 46 1 8388608 8388608 8131479 0x0436441b 6 0.000001 1.0000 0.8678 0.3536 1.0000 0.5000 0.1250 1.00062 2.56 17
22 47 2 4194304 8388608 7885914 0x0173a911 5 0.000001 1.0000 1.0000 0.4842 1.0000 1.0000 0.2500 1.00275 -1.67 11
23 47 2 4194304 8388608 7885359 0x01fa7113 5 0.000001 1.0000 1.0000 0.4839 1.0000 1.0000 0.2500 1.00268 -1.60 2
24 52 0 16777216 8388608 8258931 0x08292ca1 4 0.000000 1.0000 0.7130 0.2826 1.0000 0.2500 0.0625 1.00017 2.73 11
25 52 0 16777216 8388608 8258747 0x064542dc 4 0.000000 1.0000 0.7130 0.2826 1.0000 0.2500 0.0625 1.00015 -2.33 0
26 56 0 16777216 8388608 8259124 0x084f5e4c 4 0.000000 1.0000 0.7131 0.2827 1.0000 0.2500 0.0625 1.00019 -1.40 5
27 56 0 16777216 8388608 8259571 0x0eefc792 4 0.000000 1.0000 0.7130 0.2826 1.0000 0.2500 0.0625 1.00025 2.08 6
28 58 1 8388608 8388608 8131558 0x0d472d62 4 0.000000 1.0000 0.8676 0.3535 1.0000 0.5000 0.1250 1.00063 -1.62 17
29 58 1 8388608 8388608 8132744 0x0ac6b454 5 0.000001 1.0000 0.8680 0.3536 1.0000 0.5000 0.1250 1.00077 -1.80 23
30 63 0 16777216 8388608 8258365 0x077876fc 4 0.000000 1.0000 0.7130 0.2827 1.0000 0.2500 0.0625 1.00010 2.87 25
31 63 0 16777216 8388608 8258808 0x011e117e 4 0.000000 1.0000 0.7130 0.2827 1.0000 0.2500 0.0625 1.00015 2.46 27
# F8 form over the live stream: top 0.1 percent of items hold 0.002140 of reads; flat control 0.001944 (ratio 1.1005x), windowed control 0.002141 (ratio 0.9995x; the gate 1.2x); min site distinct ratio 1.00010 (floors 0.98 and 0.995); worst index bit inside its window -3.06 sigma at site 9 bit 1 (the band 6)
# program: reads 268435456, distinct items 16777198, worst site 21 address 0x0436441b in 6 reads (share 0.000001); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.3540, 64 MiB 0.1035; the per-site ideal caches summed: 1.0000, 0.8360, 0.3478; 213.8 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,38 @@
# night driver start 21:56 UK host igneum-build-6 jobs 1
start 1 canary-p18 21:56 UK
end 1 canary-p18 rc 0 21:56 UK
# night driver end 21:56 UK
# night driver start 21:56 UK host igneum-build-6 jobs 5
start 1 object-h4 21:56 UK
end 1 object-h4 rc 0 22:00 UK
start 1 liveness-object-h4 22:00 UK
end 1 liveness-object-h4 rc 0 22:00 UK
start 1 seed-p26 27 28 29 30 31 32 33 22:00 UK
end 1 seed-p26 27 28 29 30 31 32 33 rc 2 22:00 UK
restart 2 seed-p26 27 28 29 30 31 32 33 22:00 UK
start 2 seed-p26 27 28 29 30 31 32 33 22:00 UK
end 2 seed-p26 27 28 29 30 31 32 33 rc 2 22:00 UK
restart 3 seed-p26 27 28 29 30 31 32 33 22:00 UK
start 3 seed-p26 27 28 29 30 31 32 33 22:00 UK
end 3 seed-p26 27 28 29 30 31 32 33 rc 2 22:00 UK
start 1 liveness-p26 22:00 UK
end 1 liveness-p26 rc 0 22:00 UK
# night driver end 22:00 UK
# night driver start 22:01 UK host igneum-build-6 jobs 8
start 1 seed-p26 22:01 UK
end 1 seed-p26 rc 0 22:02 UK
start 1 seed-p27 22:02 UK
end 1 seed-p27 rc 0 22:02 UK
start 1 seed-p28 22:02 UK
end 1 seed-p28 rc 0 22:03 UK
start 1 seed-p29 22:03 UK
end 1 seed-p29 rc 0 22:04 UK
start 1 seed-p30 22:04 UK
end 1 seed-p30 rc 0 22:05 UK
start 1 seed-p31 22:05 UK
end 1 seed-p31 rc 0 22:06 UK
start 1 seed-p32 22:06 UK
end 1 seed-p32 rc 0 22:07 UK
start 1 seed-p33 22:07 UK
end 1 seed-p33 rc 0 22:08 UK
# night driver end 22:08 UK

View file

@ -0,0 +1,42 @@
# addrsite: program 2b406490ba8d3c91 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 3 262144 261881 0x0796afa2 2 0.000008
0 1 3 262144 261869 0x01cee15a 2 0.000008
# worst cell: iteration 0 site 6 address 0x0f26b8e6 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 3 1 8388608 2097152 2080650 0x0741db04 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 0.99994 2.85 24
1 3 1 8388608 2097152 2080597 0x029d5b9c 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 0.99992 1.78 12
2 7 2 4194304 2097152 2064742 0x0121006a 3 0.000001 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00017 -2.28 24
3 7 2 4194304 2097152 2064903 0x03f3960e 4 0.000002 1.0000 1.0000 0.7125 1.0000 1.0000 0.2500 1.00025 -1.90 12
4 10 0 16777216 2097152 2089002 0x002c876d 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00002 -2.20 5
5 10 0 16777216 2097152 2088876 0x07df131c 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99996 1.78 11
6 17 1 8388608 2097152 2080848 0x0884b4b7 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00004 -2.05 7
7 17 1 8388608 2097152 2081059 0x0d8689c5 4 0.000002 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00014 -2.04 4
8 18 1 8388608 2097152 2080725 0x0977d37e 3 0.000001 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 0.99998 2.78 23
9 18 1 8388608 2097152 2080924 0x0b418382 4 0.000002 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00007 2.18 12
10 19 1 8388608 2097152 2080842 0x08d357f6 3 0.000001 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 1.00004 -1.92 4
11 19 1 8388608 2097152 2080982 0x0df9e9cd 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00010 1.58 0
12 20 1 8388608 2097152 2081066 0x025615ff 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00014 -2.18 12
13 20 1 8388608 2097152 2080599 0x01ff4b28 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 0.99992 -1.92 1
14 23 2 4194304 2097152 2064627 0x0a245421 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00012 3.51 14
15 23 2 4194304 2097152 2064463 0x0a5c53c6 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00004 -2.44 2
16 26 1 8388608 2097152 2080876 0x058fa156 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00005 2.43 7
17 26 1 8388608 2097152 2080706 0x04338f74 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 0.99997 2.00 12
18 27 0 16777216 2097152 2089001 0x095e38fe 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00002 2.48 12
19 27 0 16777216 2097152 2088914 0x06fa25cf 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99998 -2.19 27
20 28 1 8388608 2097152 2080721 0x029a3077 3 0.000001 1.0000 1.0000 0.6156 1.0000 0.5000 0.1250 0.99998 -2.11 26
21 28 1 8388608 2097152 2081033 0x001ea1b6 4 0.000002 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00013 2.67 15
22 36 2 4194304 2097152 2064724 0x0cfd1910 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00016 -1.69 7
23 36 2 4194304 2097152 2064729 0x0e8d39a5 4 0.000002 1.0000 1.0000 0.7134 1.0000 1.0000 0.2500 1.00017 2.12 18
24 39 1 8388608 2097152 2080666 0x07f5b296 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 0.99995 -1.47 3
25 39 1 8388608 2097152 2080855 0x03721473 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00004 2.67 18
26 40 2 4194304 2097152 2064757 0x0d652b7d 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00018 2.01 5
27 40 2 4194304 2097152 2064796 0x0e2a2c8c 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00020 1.88 7
28 52 0 16777216 2097152 2089053 0x02e3b79a 4 0.000002 1.0000 1.0000 0.5597 1.0000 0.2500 0.0625 1.00004 3.61 20
29 52 0 16777216 2097152 2089018 0x00cf2ad8 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00003 1.53 23
30 56 2 4194304 2097152 2064646 0x06d6a083 4 0.000002 1.0000 1.0000 0.7125 1.0000 1.0000 0.2500 1.00013 1.94 8
31 56 2 4194304 2097152 2064990 0x05536f11 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00029 2.82 23
# F8 form over the live stream: top 0.1 percent of items hold 0.003129 of reads; flat control 0.003073 (ratio 1.0183x), windowed control 0.003129 (ratio 1.0003x; the gate 1.2x); min site distinct ratio 0.99992 (floors 0.98 and 0.995); worst index bit inside its window 3.61 sigma at site 28 bit 20 (the band 6)
# program: reads 67108864, distinct items 16434319, worst site 3 address 0x03f3960e in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4196, 64 MiB 0.1328; the per-site ideal caches summed: 1.0000, 1.0000, 0.6354; 50.6 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program c38b57d654ad08d4 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 3 262144 261997 0x07d1eebf 2 0.000008
0 1 3 262144 262019 0x0e939f6a 2 0.000008
# worst cell: iteration 0 site 2 address 0x01c78316 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 3 0 16777216 2097152 2089066 0x038a399f 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00005 2.10 6
1 3 0 16777216 2097152 2089052 0x00223010 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00004 -2.32 1
2 5 1 8388608 2097152 2080951 0x031a0ba8 4 0.000002 1.0000 1.0000 0.6148 1.0000 0.5000 0.1250 1.00009 -2.01 1
3 5 1 8388608 2097152 2080827 0x01cef2a6 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00003 1.85 25
4 6 0 16777216 2097152 2088908 0x06f84932 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99998 -1.71 12
5 6 0 16777216 2097152 2089038 0x0a9f3c2e 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00004 1.74 16
6 8 2 4194304 2097152 2064774 0x06a7b797 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00019 2.13 23
7 8 2 4194304 2097152 2065283 0x0540406b 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00044 -2.06 24
8 18 0 16777216 2097152 2088890 0x0bf8b2ea 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99997 -2.90 16
9 18 0 16777216 2097152 2088889 0x0ef39ae7 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99997 -1.77 20
10 20 0 16777216 2097152 2088949 0x092b13a6 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99999 2.27 3
11 20 0 16777216 2097152 2089093 0x062cbd71 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00006 -1.74 26
12 39 1 8388608 2097152 2080772 0x045ba978 4 0.000002 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00000 -2.34 14
13 39 1 8388608 2097152 2080878 0x00133859 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00005 2.22 9
14 45 1 8388608 2097152 2081020 0x0f39bd80 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00012 -2.29 2
15 45 1 8388608 2097152 2080852 0x09dc13e3 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00004 2.11 0
16 47 1 8388608 2097152 2080863 0x09e38573 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00005 -1.93 13
17 47 1 8388608 2097152 2080695 0x0ccd34c5 3 0.000001 1.0000 1.0000 0.6157 1.0000 0.5000 0.1250 0.99996 2.01 20
18 48 0 16777216 2097152 2088968 0x0ec9cce7 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00000 2.79 23
19 48 0 16777216 2097152 2089007 0x07a0a4f2 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00002 1.83 7
20 50 1 8388608 2097152 2080975 0x05fd559e 3 0.000001 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00010 -2.56 19
21 50 1 8388608 2097152 2080734 0x0286bedb 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 0.99998 2.80 1
22 51 0 16777216 2097152 2089049 0x0121e88c 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00004 -2.09 9
23 51 0 16777216 2097152 2088846 0x0732038a 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 0.99995 2.45 19
24 53 0 16777216 2097152 2088905 0x0b3dfd67 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99997 -1.75 9
25 53 0 16777216 2097152 2088998 0x0872ca75 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00002 -2.30 5
26 54 1 8388608 2097152 2080735 0x00baa42d 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 0.99998 -2.13 6
27 54 1 8388608 2097152 2080896 0x0566331d 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00006 2.38 25
28 59 2 4194304 2097152 2064408 0x0e2a3d91 4 0.000002 1.0000 1.0000 0.7133 1.0000 1.0000 0.2500 1.00001 2.85 13
29 59 2 4194304 2097152 2064617 0x0f88d3d4 3 0.000001 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00011 2.61 7
30 63 1 8388608 2097152 2080907 0x03195a58 4 0.000002 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00007 2.18 5
31 63 1 8388608 2097152 2080916 0x030e7e56 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00007 -2.03 6
# F8 form over the live stream: top 0.1 percent of items hold 0.003348 of reads; flat control 0.003079 (ratio 1.0873x), windowed control 0.003344 (ratio 1.0010x; the gate 1.2x); min site distinct ratio 0.99995 (floors 0.98 and 0.995); worst index bit inside its window -2.90 sigma at site 8 bit 16 (the band 6)
# program: reads 67108864, distinct items 16328481, worst site 2 address 0x031a0ba8 in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4343, 64 MiB 0.1396; the per-site ideal caches summed: 1.0000, 1.0000, 0.6033; 50.8 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program 96e4f7fdccef6fd1 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 4 262144 262014 0x0fef6e9b 2 0.000008
0 1 4 262144 262012 0x0c0fc40d 2 0.000008
# worst cell: iteration 0 site 7 address 0x03149070 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 4 0 16777216 2097152 2088962 0x0f297121 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00000 -2.85 15
1 4 0 16777216 2097152 2088985 0x0ed393d0 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00001 -3.21 1
2 8 1 8388608 2097152 2080764 0x030525f1 4 0.000002 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00000 3.54 3
3 8 1 8388608 2097152 2080858 0x067bb746 3 0.000001 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00004 -2.62 18
4 9 2 4194304 2097152 2064518 0x0dd0a987 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00006 -2.41 18
5 9 2 4194304 2097152 2064686 0x0ec38ef5 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00015 -2.48 7
6 11 2 4194304 2097152 2064652 0x003f4555 4 0.000002 1.0000 1.0000 0.7133 1.0000 1.0000 0.2500 1.00013 -2.27 0
7 11 2 4194304 2097152 2064759 0x03c88d86 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00018 2.18 5
8 12 0 16777216 2097152 2088812 0x0b0da342 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 0.99993 1.96 10
9 12 0 16777216 2097152 2089058 0x068f7410 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00005 -2.50 13
10 23 0 16777216 2097152 2088888 0x0089f2ab 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99997 1.50 15
11 23 0 16777216 2097152 2088888 0x06daaad0 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99997 -1.89 0
12 24 1 8388608 2097152 2080872 0x043fe3db 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00005 -1.85 15
13 24 1 8388608 2097152 2080950 0x01ffb71c 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00009 -3.46 6
14 26 1 8388608 2097152 2080924 0x0ceac1e0 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00007 1.83 4
15 26 1 8388608 2097152 2080753 0x0f54ef61 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 0.99999 -1.66 23
16 27 2 4194304 2097152 2064761 0x06ea3773 4 0.000002 1.0000 1.0000 0.7126 1.0000 1.0000 0.2500 1.00018 -1.84 3
17 27 2 4194304 2097152 2064907 0x04b668aa 4 0.000002 1.0000 1.0000 0.7133 1.0000 1.0000 0.2500 1.00025 -1.92 5
18 30 1 8388608 2097152 2080959 0x02a62f63 3 0.000001 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00009 -2.76 20
19 30 1 8388608 2097152 2080936 0x03b294e3 4 0.000002 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00008 2.59 12
20 37 0 16777216 2097152 2089043 0x07e38f1d 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00004 -3.09 0
21 37 0 16777216 2097152 2088987 0x07cc45d0 3 0.000001 1.0000 1.0000 0.5597 1.0000 0.2500 0.0625 1.00001 2.34 1
22 39 2 4194304 2097152 2064545 0x00823b70 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00008 2.16 5
23 39 2 4194304 2097152 2064803 0x00354b28 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00020 2.46 22
24 44 0 16777216 2097152 2089015 0x0f9cd92e 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00003 2.14 16
25 44 0 16777216 2097152 2088808 0x0237ee9c 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99993 -3.99 11
26 52 2 4194304 2097152 2065077 0x0b35596e 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00034 2.05 4
27 52 2 4194304 2097152 2064762 0x09ecc32b 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00018 2.29 10
28 53 1 8388608 2097152 2080801 0x0b3620c0 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00002 2.45 9
29 53 1 8388608 2097152 2080894 0x0a454d53 3 0.000001 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 1.00006 -1.99 14
30 63 2 4194304 2097152 2064520 0x034a2155 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00007 -2.38 25
31 63 2 4194304 2097152 2064832 0x02c50431 4 0.000002 1.0000 1.0000 0.7126 1.0000 1.0000 0.2500 1.00022 1.66 14
# F8 form over the live stream: top 0.1 percent of items hold 0.003499 of reads; flat control 0.003071 (ratio 1.1396x), windowed control 0.003498 (ratio 1.0005x; the gate 1.2x); min site distinct ratio 0.99993 (floors 0.98 and 0.995); worst index bit inside its window -3.99 sigma at site 25 bit 11 (the band 6)
# program: reads 67108864, distinct items 16340448, worst site 2 address 0x030525f1 in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4400, 64 MiB 0.1434; the per-site ideal caches summed: 1.0000, 1.0000, 0.6346; 50.1 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program 3f922ac24b46d2c2 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 1 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 3 262144 261878 0x0c2ec6c7 2 0.000008
0 1 3 262144 261865 0x0ef15836 3 0.000011
# worst cell: iteration 0 site 1 address 0x0ef15836 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 3 1 8388608 2097152 2080901 0x0b8c7476 3 0.000001 1.0000 1.0000 0.6148 1.0000 0.5000 0.1250 1.00006 2.12 3
1 3 1 8388608 2097152 2080842 0x0e0e9857 3 0.000001 1.0000 1.0000 0.6156 1.0000 0.5000 0.1250 1.00004 -2.70 13
2 6 0 16777216 2097152 2088910 0x0ccf2db5 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 0.99998 2.21 22
3 6 0 16777216 2097152 2088975 0x067df852 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00001 2.42 23
4 9 0 16777216 2097152 2088942 0x0b41129a 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 0.99999 1.71 0
5 9 0 16777216 2097152 2088972 0x07e0c715 3 0.000001 1.0000 1.0000 0.5603 1.0000 0.2500 0.0625 1.00001 -2.30 24
6 11 0 16777216 2097152 2088998 0x0b5b69b9 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00002 2.44 17
7 11 0 16777216 2097152 2088921 0x0e92f974 4 0.000002 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99998 1.98 14
8 12 0 16777216 2097152 2088931 0x0d9e4e72 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 0.99999 -1.66 5
9 12 0 16777216 2097152 2088899 0x043a0980 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99997 -1.73 13
10 19 1 8388608 2097152 2081053 0x0d78029b 4 0.000002 1.0000 1.0000 0.6148 1.0000 0.5000 0.1250 1.00014 1.94 1
11 19 1 8388608 2097152 2080725 0x09ff33fa 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 0.99998 1.97 8
12 21 1 8388608 2097152 2080850 0x085bed84 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00004 2.29 20
13 21 1 8388608 2097152 2080735 0x0cfb8ada 4 0.000002 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 0.99998 -1.89 25
14 28 0 16777216 2097152 2089104 0x010e3e04 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00007 2.81 26
15 28 0 16777216 2097152 2089028 0x0ff2d25e 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00003 2.24 16
16 34 2 4194304 2097152 2064689 0x0226eb19 3 0.000001 1.0000 1.0000 0.7134 1.0000 1.0000 0.2500 1.00015 2.50 12
17 34 2 4194304 2097152 2064744 0x02f7f431 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00017 -2.07 3
18 37 2 4194304 2097152 2064562 0x04069af3 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00009 -2.93 23
19 37 2 4194304 2097152 2064860 0x077eea20 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00023 -2.24 19
20 50 2 4194304 2097152 2064569 0x0b2e4e25 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00009 2.76 6
21 50 2 4194304 2097152 2064719 0x0a183716 4 0.000002 1.0000 1.0000 0.7134 1.0000 1.0000 0.2500 1.00016 -2.06 23
22 53 2 4194304 2097152 2064699 0x0739628d 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00015 -1.62 21
23 53 2 4194304 2097152 2064379 0x068d23d5 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00000 -1.92 15
24 55 0 16777216 2097152 2089025 0x04daf1b2 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00003 -1.69 2
25 55 0 16777216 2097152 2089136 0x0f760a24 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00008 3.00 18
26 57 1 8388608 2097152 2081024 0x01e33a42 4 0.000002 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00012 1.65 10
27 57 1 8388608 2097152 2080955 0x033c7675 4 0.000002 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00009 2.57 4
28 59 2 4194304 2097152 2064717 0x0ec174b6 3 0.000001 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00016 2.24 2
29 59 2 4194304 2097152 2064609 0x0e2fdb21 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00011 2.69 12
30 62 1 8388608 2097152 2080947 0x0ae4acab 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00009 1.96 10
31 62 1 8388608 2097152 2080771 0x0d5adff3 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00000 -1.68 7
# F8 form over the live stream: top 0.1 percent of items hold 0.003169 of reads; flat control 0.003069 (ratio 1.0326x), windowed control 0.003168 (ratio 1.0004x; the gate 1.2x); min site distinct ratio 0.99997 (floors 0.98 and 0.995); worst index bit inside its window 3.00 sigma at site 25 bit 18 (the band 6)
# program: reads 67108864, distinct items 16398093, worst site 7 address 0x0e92f974 in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4241, 64 MiB 0.1350; the per-site ideal caches summed: 1.0000, 1.0000, 0.6251; 50.5 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program edd13a08477407cf class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 2 262144 261596 0x0e92237a 3 0.000011
0 1 2 262144 261624 0x0e452649 3 0.000011
# worst cell: iteration 0 site 0 address 0x0e92237a in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 2 2 4194304 2097152 2064660 0x0e3a012d 4 0.000002 1.0000 1.0000 0.7135 1.0000 1.0000 0.2500 1.00013 -2.13 19
1 2 2 4194304 2097152 2064792 0x0efd0e64 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00020 -1.88 10
2 3 0 16777216 2097152 2089026 0x089fe2f1 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00003 -2.04 19
3 3 0 16777216 2097152 2088866 0x0f538658 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99996 2.06 2
4 5 1 8388608 2097152 2081083 0x0113a588 4 0.000002 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 1.00015 2.59 26
5 5 1 8388608 2097152 2080739 0x00b80889 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 0.99999 -1.31 1
6 7 2 4194304 2097152 2064766 0x06e15152 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00019 -1.63 1
7 7 2 4194304 2097152 2064743 0x075b8ab1 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00017 1.80 0
8 10 2 4194304 2097152 2064536 0x0aa9d2e5 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00007 -1.82 14
9 10 2 4194304 2097152 2064775 0x0a458569 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00019 -2.15 3
10 12 2 4194304 2097152 2064772 0x047b5d50 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00019 1.72 6
11 12 2 4194304 2097152 2064471 0x072c3ae9 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00004 -2.31 18
12 14 0 16777216 2097152 2089071 0x07f185e5 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00005 2.53 14
13 14 0 16777216 2097152 2089027 0x0551ac9e 4 0.000002 1.0000 1.0000 0.5604 1.0000 0.2500 0.0625 1.00003 1.99 3
14 35 1 8388608 2097152 2081160 0x071cdd6f 4 0.000002 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00019 -1.66 12
15 35 1 8388608 2097152 2080869 0x028dc39f 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00005 -2.47 4
16 41 0 16777216 2097152 2088900 0x070d37d0 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99997 2.48 12
17 41 0 16777216 2097152 2089041 0x05e5c1d2 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00004 2.13 24
18 42 0 16777216 2097152 2089192 0x0f074fdc 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00011 1.85 11
19 42 0 16777216 2097152 2089007 0x05de0df0 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00002 -2.08 25
20 49 2 4194304 2097152 2064790 0x08b805dd 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00020 1.78 15
21 49 2 4194304 2097152 2064415 0x08429932 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00002 -2.19 18
22 50 0 16777216 2097152 2088881 0x03d794a9 4 0.000002 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99996 1.81 2
23 50 0 16777216 2097152 2088771 0x0906f3bb 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 0.99991 2.30 16
24 54 2 4194304 2097152 2064447 0x01174ec0 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00003 -2.38 19
25 54 2 4194304 2097152 2064637 0x00f5480b 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00012 1.97 15
26 56 0 16777216 2097152 2088993 0x0248a45d 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00002 2.31 22
27 56 0 16777216 2097152 2089061 0x0e415537 4 0.000002 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00005 2.14 18
28 58 1 8388608 2097152 2080959 0x03cc4951 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00009 -1.96 24
29 58 1 8388608 2097152 2080841 0x0780a964 4 0.000002 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00004 -2.22 19
30 62 0 16777216 2097152 2089002 0x034a75de 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00002 -2.32 5
31 62 0 16777216 2097152 2089002 0x0f5d6282 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00002 -2.03 6
# F8 form over the live stream: top 0.1 percent of items hold 0.003348 of reads; flat control 0.003069 (ratio 1.0910x), windowed control 0.003355 (ratio 0.9981x; the gate 1.2x); min site distinct ratio 0.99991 (floors 0.98 and 0.995); worst index bit inside its window 2.59 sigma at site 4 bit 26 (the band 6)
# program: reads 67108864, distinct items 16327902, worst site 0 address 0x0e3a012d in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4343, 64 MiB 0.1395; the per-site ideal caches summed: 1.0000, 1.0000, 0.6278; 50.7 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program e1409749e795c382 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 1 262144 261603 0x0f8c1753 3 0.000011
0 1 1 262144 261651 0x0d5543d7 3 0.000011
# worst cell: iteration 0 site 0 address 0x0f8c1753 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 1 2 4194304 2097152 2064417 0x0d3d1622 4 0.000002 1.0000 1.0000 0.7128 1.0000 1.0000 0.2500 1.00002 3.14 14
1 1 2 4194304 2097152 2064840 0x0fa5865f 4 0.000002 1.0000 1.0000 0.7134 1.0000 1.0000 0.2500 1.00022 -2.46 6
2 3 1 8388608 2097152 2080966 0x03d01c00 4 0.000002 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00010 -2.56 14
3 3 1 8388608 2097152 2080827 0x01743ea9 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00003 2.27 10
4 4 1 8388608 2097152 2080757 0x07072358 3 0.000001 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 0.99999 -1.68 10
5 4 1 8388608 2097152 2080892 0x02f59100 4 0.000002 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00006 -2.12 23
6 7 1 8388608 2097152 2080928 0x039d6050 4 0.000002 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00008 -3.16 18
7 7 1 8388608 2097152 2080806 0x04c9f0c0 4 0.000002 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00002 -3.23 21
8 11 1 8388608 2097152 2080660 0x0f16f53b 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 0.99995 2.46 21
9 11 1 8388608 2097152 2080780 0x0db21bbc 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00001 3.16 20
10 12 0 16777216 2097152 2088897 0x066eced5 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99997 -2.05 11
11 12 0 16777216 2097152 2088940 0x0a429328 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 0.99999 -2.17 25
12 13 0 16777216 2097152 2088856 0x083b252d 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99995 -3.06 8
13 13 0 16777216 2097152 2088909 0x00cf618b 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 0.99998 2.43 25
14 21 0 16777216 2097152 2089005 0x0987e15e 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00002 -2.48 1
15 21 0 16777216 2097152 2089048 0x0521f8d9 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00004 2.42 26
16 28 0 16777216 2097152 2089052 0x076ce703 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00004 -1.85 0
17 28 0 16777216 2097152 2088783 0x0294ce2e 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99992 2.21 23
18 41 1 8388608 2097152 2080761 0x0aa1f1bb 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00000 -2.71 6
19 41 1 8388608 2097152 2080520 0x0e3e5fbc 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 0.99988 -2.07 17
20 43 2 4194304 2097152 2064966 0x0aff5e6c 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00028 -3.05 3
21 43 2 4194304 2097152 2064713 0x0947d9e2 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00016 -2.94 10
22 47 0 16777216 2097152 2088775 0x09c797b7 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99991 -2.99 11
23 47 0 16777216 2097152 2088930 0x0cd8eb21 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99999 2.00 17
24 54 1 8388608 2097152 2080730 0x0a57503c 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 0.99998 3.06 0
25 54 1 8388608 2097152 2080989 0x0c0438a7 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00011 -1.78 23
26 56 2 4194304 2097152 2064734 0x0939f6e7 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00017 -1.76 5
27 56 2 4194304 2097152 2064767 0x089d01aa 4 0.000002 1.0000 1.0000 0.7135 1.0000 1.0000 0.2500 1.00019 1.85 15
28 61 1 8388608 2097152 2081039 0x09fd07dd 3 0.000001 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00013 -2.61 14
29 61 1 8388608 2097152 2080997 0x0d5cf9e2 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00011 2.21 5
30 62 0 16777216 2097152 2089098 0x06ff173a 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00007 2.65 14
31 62 0 16777216 2097152 2088898 0x0b984754 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99997 -2.51 25
# F8 form over the live stream: top 0.1 percent of items hold 0.003432 of reads; flat control 0.003075 (ratio 1.1164x), windowed control 0.003435 (ratio 0.9992x; the gate 1.2x); min site distinct ratio 0.99988 (floors 0.98 and 0.995); worst index bit inside its window -3.23 sigma at site 7 bit 21 (the band 6)
# program: reads 67108864, distinct items 16295937, worst site 0 address 0x0d3d1622 in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4417, 64 MiB 0.1425; the per-site ideal caches summed: 1.0000, 1.0000, 0.6128; 50.5 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program 0717ad9158d5937f class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 2 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 2 262144 261895 0x08695fc3 3 0.000011
0 1 2 262144 261887 0x0955348b 2 0.000008
# worst cell: iteration 0 site 0 address 0x08695fc3 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 2 1 8388608 2097152 2081067 0x0d4f9faf 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 1.00014 -2.72 25
1 2 1 8388608 2097152 2081036 0x0ed453f1 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00013 -1.92 3
2 14 1 8388608 2097152 2080837 0x03443ba9 3 0.000001 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 1.00003 1.81 6
3 14 1 8388608 2097152 2080665 0x01575a10 3 0.000001 1.0000 1.0000 0.6154 1.0000 0.5000 0.1250 0.99995 -2.30 14
4 20 2 4194304 2097152 2064959 0x0cd645f0 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00028 -2.07 5
5 20 2 4194304 2097152 2064678 0x0c6a1d56 4 0.000002 1.0000 1.0000 0.7132 1.0000 1.0000 0.2500 1.00014 -2.29 13
6 29 0 16777216 2097152 2088928 0x03b55570 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99998 3.40 2
7 29 0 16777216 2097152 2089054 0x06afe3b6 3 0.000001 1.0000 1.0000 0.5597 1.0000 0.2500 0.0625 1.00004 -3.05 16
8 31 1 8388608 2097152 2081166 0x0a04bf02 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00019 -2.47 20
9 31 1 8388608 2097152 2080744 0x0e56cd9d 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 0.99999 -1.94 15
10 32 2 4194304 2097152 2064477 0x0e061843 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00005 2.82 18
11 32 2 4194304 2097152 2064673 0x0df8ef99 4 0.000002 1.0000 1.0000 0.7133 1.0000 1.0000 0.2500 1.00014 -2.17 8
12 33 0 16777216 2097152 2089016 0x0f28266b 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00003 -2.04 26
13 33 0 16777216 2097152 2089185 0x07578dbd 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00011 -2.69 5
14 39 1 8388608 2097152 2080978 0x0211cb12 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00010 -2.03 6
15 39 1 8388608 2097152 2081059 0x061d30a0 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00014 2.14 16
16 42 2 4194304 2097152 2064856 0x0746f9ef 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00023 -2.12 0
17 42 2 4194304 2097152 2064582 0x07aac484 3 0.000001 1.0000 1.0000 0.7134 1.0000 1.0000 0.2500 1.00010 -1.97 10
18 43 1 8388608 2097152 2080783 0x0d8fccc6 4 0.000002 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00001 -2.22 4
19 43 1 8388608 2097152 2080755 0x0b1fc588 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 0.99999 -2.48 14
20 44 0 16777216 2097152 2089111 0x03453f54 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00007 1.76 5
21 44 0 16777216 2097152 2089070 0x0751e392 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00005 -1.92 18
22 47 1 8388608 2097152 2080841 0x0313f4d1 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00004 1.46 3
23 47 1 8388608 2097152 2080811 0x0561317b 4 0.000002 1.0000 1.0000 0.6149 1.0000 0.5000 0.1250 1.00002 3.14 1
24 48 2 4194304 2097152 2064886 0x050e620b 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00024 2.87 1
25 48 2 4194304 2097152 2064825 0x0704c911 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00021 1.89 6
26 49 0 16777216 2097152 2089046 0x04c89672 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00004 1.73 8
27 49 0 16777216 2097152 2088824 0x031c13c0 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99993 2.76 7
28 51 0 16777216 2097152 2089054 0x06747e52 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00004 2.00 7
29 51 0 16777216 2097152 2089115 0x018b83fc 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00007 2.42 5
30 52 0 16777216 2097152 2088883 0x07e795d6 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99996 -2.45 9
31 52 0 16777216 2097152 2089172 0x0e17768c 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00010 2.22 2
# F8 form over the live stream: top 0.1 percent of items hold 0.003378 of reads; flat control 0.003071 (ratio 1.1000x), windowed control 0.003377 (ratio 1.0004x; the gate 1.2x); min site distinct ratio 0.99993 (floors 0.98 and 0.995); worst index bit inside its window 3.40 sigma at site 6 bit 2 (the band 6)
# program: reads 67108864, distinct items 16303463, worst site 4 address 0x0cd645f0 in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4390, 64 MiB 0.1410; the per-site ideal caches summed: 1.0000, 1.0000, 0.6190; 50.7 s
Can't render this file because it has a wrong number of fields in line 3.

View file

@ -0,0 +1,42 @@
# addrsite: program 9857a41ce42f4677 class mx8-erad810f22d+sh256x27+state+reg64c+fold+rw attempt 0 generator v6 day 2026-10-03 dataset 2^28 words (memory-hard) headers 4 warps 2048 nonces/header 65536 threads 32
# per (iteration, site) cell: the most read address and its share (A03's form); cells over 0.1 percent listed
it site instr reads distinct top_addr top_count top_share
0 0 4 262144 261854 0x03886725 2 0.000008
0 1 4 262144 261876 0x06d3ba58 2 0.000008
# worst cell: iteration 0 site 14 address 0x03846806 in 3 reads, share 0.000011
# per site, pooled over the 8 iterations (hit rates: an ideal cache of the site's top K items, K = bytes / 64; exp = min(1, K / window items))
site instr win window_items reads distinct top_addr top_count top_share hit_1GiB hit_256MiB hit_64MiB exp_1GiB exp_256MiB exp_64MiB distinct_ratio bit_z_max bit
0 4 1 8388608 2097152 2080828 0x034e20ad 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 1.00003 2.61 5
1 4 1 8388608 2097152 2080697 0x0082ff20 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 0.99997 2.86 26
2 6 2 4194304 2097152 2064740 0x0f425fde 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00017 2.45 3
3 6 2 4194304 2097152 2064712 0x0d43bd52 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00016 -1.82 5
4 7 1 8388608 2097152 2080884 0x099e7c18 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00006 2.38 20
5 7 1 8388608 2097152 2080853 0x0e58403c 3 0.000001 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 1.00004 -3.95 5
6 8 0 16777216 2097152 2088995 0x012d4547 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00002 2.05 6
7 8 0 16777216 2097152 2089049 0x08a3d7fc 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 1.00004 1.96 24
8 10 0 16777216 2097152 2088976 0x0ba1a02e 3 0.000001 1.0000 1.0000 0.5597 1.0000 0.2500 0.0625 1.00001 -2.65 6
9 10 0 16777216 2097152 2088946 0x060bcdb9 3 0.000001 1.0000 1.0000 0.5603 1.0000 0.2500 0.0625 0.99999 -2.50 17
10 13 0 16777216 2097152 2088889 0x05e3d58e 4 0.000002 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99997 1.28 5
11 13 0 16777216 2097152 2089025 0x0b78defd 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00003 -1.84 26
12 14 1 8388608 2097152 2080873 0x04877c20 3 0.000001 1.0000 1.0000 0.6150 1.0000 0.5000 0.1250 1.00005 1.45 24
13 14 1 8388608 2097152 2081038 0x003a2c13 3 0.000001 1.0000 1.0000 0.6151 1.0000 0.5000 0.1250 1.00013 2.52 0
14 21 2 4194304 2097152 2064428 0x01e0e6f5 4 0.000002 1.0000 1.0000 0.7130 1.0000 1.0000 0.2500 1.00002 -2.45 7
15 21 2 4194304 2097152 2064800 0x028d9855 4 0.000002 1.0000 1.0000 0.7127 1.0000 1.0000 0.2500 1.00020 1.68 5
16 26 2 4194304 2097152 2064895 0x036bf80b 4 0.000002 1.0000 1.0000 0.7129 1.0000 1.0000 0.2500 1.00025 1.95 19
17 26 2 4194304 2097152 2064720 0x01d12723 4 0.000002 1.0000 1.0000 0.7131 1.0000 1.0000 0.2500 1.00016 1.82 10
18 30 0 16777216 2097152 2088921 0x08a5d6a0 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99998 -2.74 5
19 30 0 16777216 2097152 2088982 0x02d7209d 3 0.000001 1.0000 1.0000 0.5596 1.0000 0.2500 0.0625 1.00001 2.31 19
20 41 1 8388608 2097152 2080644 0x04f6d097 4 0.000002 1.0000 1.0000 0.6155 1.0000 0.5000 0.1250 0.99994 2.59 14
21 41 1 8388608 2097152 2080991 0x03743b6f 4 0.000002 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00011 -2.05 6
22 42 0 16777216 2097152 2088965 0x0a107c86 3 0.000001 1.0000 1.0000 0.5602 1.0000 0.2500 0.0625 1.00000 1.89 21
23 42 0 16777216 2097152 2088980 0x0bed59ae 3 0.000001 1.0000 1.0000 0.5598 1.0000 0.2500 0.0625 1.00001 2.68 23
24 43 0 16777216 2097152 2088957 0x043578b0 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 1.00000 2.73 12
25 43 0 16777216 2097152 2088906 0x0cc002e5 3 0.000001 1.0000 1.0000 0.5600 1.0000 0.2500 0.0625 0.99997 1.78 9
26 48 1 8388608 2097152 2080828 0x0b9e1d33 3 0.000001 1.0000 1.0000 0.6152 1.0000 0.5000 0.1250 1.00003 -1.88 12
27 48 1 8388608 2097152 2080665 0x08abccb4 3 0.000001 1.0000 1.0000 0.6153 1.0000 0.5000 0.1250 0.99995 1.96 25
28 49 0 16777216 2097152 2088834 0x0761a1b4 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 0.99994 2.50 1
29 49 0 16777216 2097152 2088962 0x0c8f7caa 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00000 -1.91 18
30 62 0 16777216 2097152 2088884 0x0d7a8fad 3 0.000001 1.0000 1.0000 0.5601 1.0000 0.2500 0.0625 0.99996 -2.31 0
31 62 0 16777216 2097152 2089107 0x0fc73850 3 0.000001 1.0000 1.0000 0.5599 1.0000 0.2500 0.0625 1.00007 2.92 16
# F8 form over the live stream: top 0.1 percent of items hold 0.003416 of reads; flat control 0.003074 (ratio 1.1112x), windowed control 0.003417 (ratio 0.9996x; the gate 1.2x); min site distinct ratio 0.99994 (floors 0.98 and 0.995); worst index bit inside its window -3.95 sigma at site 5 bit 5 (the band 6)
# program: reads 67108864, distinct items 16348197, worst site 2 address 0x0f425fde in 4 reads (share 0.000002); one cache over the program's reads: 1 GiB 1.0000, 256 MiB 0.4358, 64 MiB 0.1410; the per-site ideal caches summed: 1.0000, 1.0000, 0.6059; 50.8 s
Can't render this file because it has a wrong number of fields in line 3.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -41,7 +41,7 @@ Built 8 October 2026, 18:3x BST (the founder's order: no feature left out, no st
| 35 | D4. A five-year coexistence model (p. 13) | Profit-maximising operator simulation: mine, internal prove, external prove, off; under a proving demand spike, a token price fall, a major prover leaving, a specialised entrant in either market. Pass if pricing and capacity rules restore service without an administrator. | research lane (ad6a2bd47d4a46105) | 21:00 tonight | in flight: operator-simulation.md landed 859b3daa, the four shocks run on floor lane 3 by 20:15 | docs/analysis/class-v6/operator-simulation.md | INC-03, INC-04 |
| 36 | D5. A no-rescue network exercise (p. 19) | Prerequisite: proof verification enforced in consensus (verifier_in_consensus, proof_rule_active_from) live on the exercise network. | enforced-proving lane (a6e8f84588b809d62) | landed | PASSED: verifier_in_consensus live on igneum-devnet-4 from block zero (4cdcc488), the seven refusals and the fast-time crossing PASS at 17:22 | docs/spec/proving-enforcement.md | ZKP-01, ZKP-08 |
| 37 | D5. A no-rescue network exercise (p. 19) | No founder-operated mining, proving, aggregation or mandatory distribution infrastructure. | node lane (a283f5f0d364ceef0) | days two and three | open: the three ex-testnet seeds held for it | | OPS-01 |
| 38 | D5. A no-rescue network exercise (p. 19) | Cross epoch boundaries, interrupt signing, partition the network, remove major operators, hostile proof submissions, independently written clients. | finality lane (aca0f5ed924a2a99b) | days two and three | in flight: the partition row landed ec9ea053d (rule v4); the rest of the scenario table owed | docs/spec/finality-guarantees.md | FIN-02, FIN-03, FIN-04, FIN-08, ROT-01 |
| 38 | D5. A no-rescue network exercise (p. 19) | Cross epoch boundaries, interrupt signing, partition the network, remove major operators, hostile proof submissions, independently written clients. | finality lane (aca0f5ed924a2a99b) | days two and three | in flight: the partition row landed ec9ea053d (rule v4); the rest of the scenario table owed; LIVE, 8 October 22:08 UK: igneum-devnet-4 split into at least four chains at the class v5 epoch cuts (a node that captured block X as epoch N's reference validates only epoch-N headers seeded by X; another chain's headers are refused and their weight never counts, so the virtual never moves and the nodes never rejoin; a lock above the fork makes it permanent): the epoch cut acted as a partition and the network did not heal on its own, the D5 property tested live and FAILED on 2.0.1; the fix is software rolled (the IBD catch-up re-syncing bodies on every state wait on the 2.0.2 line by 22:45; the foreign-seed capture built tonight with suites by 02:00), never hands; the reset the founder's decision | docs/spec/finality-guarantees.md | FIN-02, FIN-03, FIN-04, FIN-08, ROT-01 |
| 39 | D5. A no-rescue network exercise (p. 19) | A withholding concentrated prover: replacement operators, usable inputs, reassignment, explicit behaviour during proof delays. | enforced-proving lane (a6e8f84588b809d62) | days two and three | open | | CAP-07, INC-08 |
| 40 | Pools, software and participation (launch requirements) (p. 14) | Vote keys stay with the miner at protocol level: the member's retained voting key committed into its work, payment aggregation separate, verifiable, pool identity substitution resisted. | pool design seat (a3832b1c3b274b310) | tomorrow 18:00 | in flight: the design on master 637e508b (the header commitment, the key on job and share); the code the pool branches rebase first | docs/design/pool-vote-key-commitment.md | UX-05, FIN-05 |
| 41 | Pools, software and participation (launch requirements) (p. 14) | Non-custodial payouts, practical minimum payouts, local work verification, low-bandwidth participation (P2Pool as precedent, not code). | pool design seat (a3832b1c3b274b310) | tomorrow 18:00 | open: designed in the same file | | UX-04 |

View file

@ -133,8 +133,8 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
### bench:pc1-packs
- Command: `tools/ca3-v4-amend/pc1-ca4-packs.ps1 on PC 1 (RTX 5090, the signed-jobs channel, --cards-off, the Power Helper lock at 1,300 MHz, nvidia-smi at 1 Hz, 250 x 2^24 per row, the kit's CUDA worker --bench)`
- Box class: PC 1 bench
- Command: `tools/ca3-v4-amend/pc1-ca4-packs.ps1 on the project's own rig (RTX 5090, the signed-jobs channel, --cards-off, the Power Helper lock at 1,300 MHz, nvidia-smi at 1 Hz, 250 x 2^24 per row, the kit's CUDA worker --bench)`
- Box class: the project's own rig bench
- Fixtures: F0, F1
- Cases:
- GPU-02 Reproduce Ember clock-lock savings: partial: the paired stock and locked rows on the same board, host and workload (the rate held, 2.37 against 3.26 microjoules per hash on the class v5 pack); the historical 34 to 41 percent claim's full configuration set is owed
@ -144,8 +144,8 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
### bench:pc1-amd
- Command: `tools/ca3-v4-amend/pc1-amd-cardin-bench.ps1 on PC 1 (RX 7600, OpenCL, gfx1102, 30 dispatches of 2^24 per size, rate only)`
- Box class: PC 1 bench
- Command: `tools/ca3-v4-amend/pc1-amd-cardin-bench.ps1 on the project's own rig (RX 7600, OpenCL, gfx1102, 30 dispatches of 2^24 per size, rate only)`
- Box class: the project's own rig bench
- Fixtures: F0, F1
- Cases:
- GPU-01 Cover the declared commodity population: partial: the 8 GB AMD cell, fingerprints and rates at 1, 2, 4 and 5.5 GiB; one cell of P02's twelve
@ -243,7 +243,7 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
- Box class: harness (network run on the 2.0 devnet plus Sepolia reads)
- Fixtures: none
- Cases:
- VER-03 Prove successful payment rather than inclusion: partial: a payment receipt is labelled payment only when the receipt is proven against the segment statement's receipts commitment under the finality certificate, inclusion-only receipts read inclusion, a tampered receipt and a flipped status fail; run on the Devnet 3 fixtures, the 2.0 devnet re-run waits for its first paid segment whose last block carries a transaction
- VER-03 Prove successful payment rather than inclusion: partial: a payment receipt is labelled payment only when the receipt is proven against the segment statement's receipts commitment under the finality certificate, inclusion-only receipts read inclusion, a tampered receipt and a flipped status fail; run on the the earlier devnet fixtures, the 2.0 devnet re-run waits for its first paid segment whose last block carries a transaction
- VER-04 Bound cross-chain oracle trust and replay: partial: the oracle's trust() names the deployer-installed table and the unchecked aggregator signature, a second hash at a stored certificate index is refused, a root claim at an unknown index is refused, another chain id is refused (tools/reference-apps/oracle/test.mjs on Sepolia); Review B F04: the Sepolia verifiers apply the two-thirds rule only, carry no lock-kind field, and an under-threshold (recovery-rule) certificate fails closed in submitCertificate, so no stored root is a recovery lock (the DEX lane's docs/bridge/light-client-bridge.md paragraph); the claimed-option review of the trust model is the reviewer's
- VER-05 Reconstruct required state without founder storage: partial: the public node and the reference reader on build-1 executed the 2.0 devnet from genesis with no snapshot (unit ExecStart without --igneum-exec-snapshot), and the pages fetch headers, certificates, coinbase bodies and account proofs from the public read RPC only; the archive and availability model beyond the 2,048-block state ring is the OPS no-founder exercise
- VER-06 Detect withholding, corruption and stale data: partial: the read service never serves a certificate from another network, a withheld header in the path and a corrupted proof node are detected, stale data prints its lock age beside every balance, and a client told no certificate never falls back to a trusted RPC balance; detection on the fault network F4 is not run
@ -336,8 +336,8 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
### bench:amd-intel-energy
- Command: `the AMD-and-Intel energy lane jobs on the signed-jobs channel: run-ae-pc2-b580-energy-20261008 (PC 2, Arc B580, the class v6 kit worker --memprobe and --bench-pack on hl-v6-foldrw and hl-v6-all, Level Zero energy counter) and run-ae-pc1-7600-energy-20261008 (PC 1, RX 7600, the same with ADLX watts at stock, plimit -30, gmax -500 + plimit -30); scripts in docs/analysis/class-v6/amd-intel-energy/`
- Box class: PC 1 and PC 2 bench (OpenCL)
- Command: `the AMD-and-Intel energy lane jobs on the signed-jobs channel: run-ae-pc2-b580-energy-20261008 (PC 2, Arc B580, the class v6 kit worker --memprobe and --bench-pack on hl-v6-foldrw and hl-v6-all, Level Zero energy counter) and run-ae-pc1-7600-energy-20261008 (the project's own rig, RX 7600, the same with ADLX watts at stock, plimit -30, gmax -500 + plimit -30); scripts in docs/analysis/class-v6/amd-intel-energy/`
- Box class: the project's own rig and PC 2 bench (OpenCL)
- Fixtures: F0, F1
- Cases:
- GPU-03 Measure the real 64-register GPU cost: partial: the 64-register window on AMD and Intel, rate per unit of work (RX 7600 0 percent, Arc B580 -0.3 percent, kernel throughput, quiet) with the B580 fingerprints equal on both packs and the offline RDNA allocation (160 VGPRs, no spill); energy owed (the 7600 job queued, the B580 counter unsupported unelevated); team-run, not under the standard's paired protocol or a wall meter
@ -367,7 +367,7 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
### pc:install-update
- Command: `signed jobs and relay runs on PC 1 (ae432dc7) and PC 2 (1ccfe586): the installer over the running app (rule 14: installed versions, the process set, the first upload), the OTA path (update-now, the update-return read-back line), and the no-click resume after the install (relay run mining-on-after-200.ps1)`
- Command: `signed jobs and relay runs on the project's own rig (ae432dc7) and PC 2 (1ccfe586): the installer over the running app (rule 14: installed versions, the process set, the first upload), the OTA path (update-now, the update-return read-back line), and the no-click resume after the install (relay run mining-on-after-200.ps1)`
- Box class: PC (the two Windows PCs; nothing on the Mac)
- Fixtures: F2
- Cases:
@ -392,16 +392,39 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
- R2-F03-R02 Same job context produces identical accepted work in node, CPU reference, CUDA, Metal, OpenCL and pool.: partial until every reader has run: bit-for-bit agreement per nonce across node, CPU reference, CUDA, OpenCL, Metal and pool on one job context
- R2-F03-R03 Cross every scheduled transition with old/new client behavior documented and identical rule identities.: partial: the day-boundary transition in phase 2 (the one transition every live network crosses hourly at 60x); a class rotation is the same test on a research object until a v6 floor is set
### canary:fresh-install
- Command: `the rule 33 fresh-install canary on a release tip (the founder, 8 October 2026): install from the published artefact on a non-AVX-512 box with an empty datadir, sync genesis to tip, five minutes mining with zero refusals and an accepted block, one shard claimed, proved and paid or queued, a bounded quit, every line read back; the record tools/ci/canary/<sha>.json (one file per sha, an artefacts list: fleet, windows, mac, hive) read by tools/ci/canary-check.sh <sha> [--artefact kind], which publish-manifest.sh and publish-public.sh refuse without`
- Box class: release (a non-AVX-512 box with an empty datadir)
- Fixtures: F0
- Cases:
- INT-07 One v6 object agrees in node, pool, CPU verifier and each supported GPU host across activation.: partial: V6-12's clean-install half (one published object installed fresh, synced, mined, proved and paid on one host per artefact); the cross-host agreement half (node, pool, CPU verifier, each GPU host across activation) is harness:same-work's
### review:k-lane-shadow-k
- Command: `floor lane 2's placed and routed cores on ASAP7 in tools/chip-model/rtl (the rows in docs/analysis/class-v6/floor/shadow-k.md); the register landing 50ff1611f recorded ADV-06 against it before the recorder existed`
- Box class: none
- Fixtures: none
- Cases:
- ADV-06 Separate process advantage from specialisation: partial: the placed gated cores and the adversary's forms are modelled in shadow-k.md; the independent review remains
### kit:class-v6-fingerprints
- Command: `KITS_BOX_SCRIPT=kits-v6-on-box.sh tools/class-v5/kits-remote.sh --box 1 (the kit zip with its emulation check), then the kit's workers on every platform: the box's CPU emulation (--check, 96 of 96 vector lanes), the fleet's CUDA 4090 (--check and --bench at 2^24, base nonce 0), the Mac's Metal (proto-metal/packbench.swift --pack) and Apple OpenCL (proto-opencl/host.c --pack --bench-pack), PC 1's RTX 5090 and RX 7600 (tools/class-v5/pc1-v6-bench.ps1), PC 2's Arc B580 (tools/class-v5/arc-v6-bench.ps1); the fingerprint of the 2^24 outputs at base nonce 0 equal on every platform for the all pack and for its known-failed partner, the two distinct`
- Box class: build box + pods + Mac + PC 1 + PC 2
- Fixtures: F0, F2
- Cases:
- R2-F03-R02 Same job context produces identical accepted work in node, CPU reference, CUDA, Metal, OpenCL and pool.: partial: the worker half (CPU reference, CUDA, Metal, OpenCL) on the same program packs; the node's and the pool's accepted work on the same job context are the CI steward's and the pool lane's cells; PASS only when every listed platform reads one fingerprint and the node and pool halves are green
## Automated cases with no harness in the matrix (NOT RUN, the reason)
- GOV-02 Approve thresholds before results: the approval is recorded in the registry's approval field; the automated half (thresholds frozen before any run_status) is the gate rule landing by 21:00
- GOV-04 Preserve raw and negative evidence: the evidence vault F9 (raw and negative evidence preserved) is the gate rule landing by 21:00: a PASS must carry its evidence file
- GOV-08 Invalidate stale evidence and control public status: the stale-evidence rule (evidence older than the manifest sha reads NOT RUN) is the gate rule landing by 21:00
- GPU-04 Find the memory-clock operating ladder: the memory-clock ladder has no harness tonight: PC 1 mines nothing under the Devnet 3 off order
- GPU-04 Find the memory-clock operating ladder: the memory-clock ladder has no harness tonight: the project's own rig mines nothing under the the earlier devnet off order
- GPU-06 Measure accepted work under ordinary connectivity: accepted work under ordinary connectivity needs the fault network F4
- GPU-07 Survive sustained thermal and power operation: the sustained thermal and power soak has no harness tonight: PC 1 mines nothing under the Devnet 3 off order
- GPU-07 Survive sustained thermal and power operation: the sustained thermal and power soak has no harness tonight: the project's own rig mines nothing under the the earlier devnet off order
- POW-05 Prevent amortised cheap winning attempts: amortised cheap winning attempts are the attack lanes' grind and era harnesses (tools/attack/f7-era, f9-grind), not in the release matrix; their rows come from those lanes
- ADV-06 Separate process advantage from specialisation: process-advantage separation is the adversary lanes' chip study
- ROT-03 Test miner-voted bring-forward governance: miner-voted bring-forward needs a vote harness on the fault network F4
- ROT-04 Resist seed selection and faster evaluators: seed-selection resistance is the census harness (the class v6 invention lane), not yet in the matrix
- EVM-01 Match the selected EVM semantics: no EVM conformance-vector harness is mapped tonight; the exec suite does not run the reference test vectors
@ -488,7 +511,6 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
- INT-04 Corrupt existing pool state, disk-full and reorg cause safe recovery, not silent empty balances.: INT-04 (R1 integration gate): the gate's harness is the owner lane's (pool lane (a1c484c48a62948c2)); not yet named in the map
- INT-05 The supplied finality implementation matches the approved anchor rule after >window healing.: INT-05 (R1 integration gate): the gate's harness is the owner lane's (node lane (a283f5f0d364ceef0)); not yet named in the map
- INT-06 Recovery tests state and preserve their weaker fault bound; interfaces never label it as a stronger guarantee.: INT-06 (R1 integration gate): the gate's harness is the owner lane's (node lane (a283f5f0d364ceef0)); not yet named in the map
- INT-07 One v6 object agrees in node, pool, CPU verifier and each supported GPU host across activation.: INT-07 (R1 integration gate): the gate's harness is the owner lane's (CI steward with the hash lane (a690540514aa453d7) and the worker lane (a9e87343f008e0edd)); not yet named in the map
- INT-08 Census, production acceptance, schedule counters and live-dataset tests use the identical frozen contract.: INT-08 (R1 integration gate): the gate's harness is the owner lane's (CI steward with the hash lane (a690540514aa453d7) and the worker lane (a9e87343f008e0edd)); not yet named in the map
- INT-09 Eight- and twelve-GiB epoch transitions recover deliberately without relying on repeated OOM/watchdog cycles.: INT-09 (R1 integration gate): the gate's harness is the owner lane's (app lane); not yet named in the map
- INT-10 Metal/CUDA/OpenCL exact dataset geometry agrees; unsupported packs reject before launch.: INT-10 (R1 integration gate): the gate's harness is the owner lane's (CI steward with the hash lane (a690540514aa453d7) and the worker lane (a9e87343f008e0edd)); not yet named in the map
@ -544,4 +566,4 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover
## Count
171 automated cases: 81 mapped to a cell, 147 NOT RUN with a reason.
171 automated cases: 83 mapped to a cell, 145 NOT RUN with a reason.

View file

@ -52,7 +52,7 @@
"run_status": "NOT RUN",
"evidence_path": "docs/plans/igneum-2.0-f0-manifest.md; build-4:/srv/builds/igneum-wt-f03-201/vendor/igneum-node/packaging/pow-freeze.txt; build-4:/srv/builds/igneum-wt-f03-201",
"run_id": "f03-manifest-20261008-01",
"updated": "2026-10-08T20:51:07.788Z",
"updated": "2026-10-08T21:11:46.383Z",
"evidence_record": {
"requirement_id": "GOV-01",
"decision": "NOT RUN",
@ -73,7 +73,7 @@
},
"claim_impact": "F03's first rung: one manifest, one build, no unpublished vendor tree; the same-work rung (R02) and the transition rung (R03) stay NOT RUN until the readers run on the job context",
"reviewer": "",
"at": "2026-10-08T20:51:07.788Z"
"at": "2026-10-08T21:11:46.383Z"
},
"in_progress_since": "2026-10-08T19:32:50.856Z",
"approvals": {
@ -103,7 +103,7 @@
},
"claim_impact": "F03's first rung: one manifest, one build, no unpublished vendor tree; the same-work rung (R02) and the transition rung (R03) stay NOT RUN until the readers run on the job context",
"reviewer": "",
"at": "2026-10-08T20:51:07.788Z"
"at": "2026-10-08T21:11:46.383Z"
}
}
},
@ -949,10 +949,10 @@
"run_status": "NOT RUN",
"evidence_path": "docs/analysis/class-v6/floor/sm-sparse.md",
"run_id": "team-2026-10-08",
"updated": "2026-10-08T20:10:24.556Z",
"updated": "2026-10-08T21:00:32.846Z",
"evidence_record": {
"reason": "the memory-clock ladder has no harness tonight: PC 1 mines nothing under the Devnet 3 off order",
"at": "2026-10-08T20:10:24.556Z",
"reason": "the memory-clock ladder has no harness tonight: the project's own rig mines nothing under the the earlier devnet off order",
"at": "2026-10-08T21:00:32.846Z",
"method": "static",
"requirement_id": "GPU-04",
"decision": "NOT RUN",
@ -1197,10 +1197,10 @@
"run_status": "NOT RUN",
"evidence_path": "docs/analysis/class-v6/floor/sm-sparse.md",
"run_id": "team-2026-10-08",
"updated": "2026-10-08T20:10:24.556Z",
"updated": "2026-10-08T21:00:32.846Z",
"evidence_record": {
"reason": "the sustained thermal and power soak has no harness tonight: PC 1 mines nothing under the Devnet 3 off order",
"at": "2026-10-08T20:10:24.556Z",
"reason": "the sustained thermal and power soak has no harness tonight: the project's own rig mines nothing under the the earlier devnet off order",
"at": "2026-10-08T21:00:32.846Z",
"method": "static",
"requirement_id": "GPU-07",
"decision": "NOT RUN",
@ -1331,7 +1331,7 @@
"run_status": "NOT RUN",
"evidence_path": "docs/analysis/review-2026-10-08-b/f10/emu-test.log; build-1:/srv/artefacts/tas/same-work-20261008-01/job-context.json; build-1:/srv/artefacts/tas/same-work-20261008-01/references/ref-D.txt; build-1:/srv/artefacts/tas/same-work-20261008-01/references/ref-D1.txt",
"run_id": "same-work-20261008-01",
"updated": "2026-10-08T21:27:53.422Z",
"updated": "2026-10-08T21:28:29.457Z",
"evidence_record": {
"requirement_id": "POW-01",
"decision": "NOT RUN",
@ -1352,7 +1352,7 @@
},
"claim_impact": "POW-01's CUDA half across a dataset-day switch on the frozen object: CUDA against the CPU reference bit for bit on three ranges with the day switch at nonce 1572864. NOT same-work evidence: the node engine refuses this seed/stream pair (IgneumEngine::epoch_for's class v5 check wants the stream's block af89be5d... to equal the epoch seed edc4fa84...), so the node and pool readers cannot read it; the coordinator's ruling 22:0x UK keeps it as the CUDA and CPU-only row",
"reviewer": "",
"at": "2026-10-08T21:27:53.422Z"
"at": "2026-10-08T21:28:29.457Z"
},
"in_progress_since": "2026-10-08T20:07:26.255Z",
"approvals": {
@ -1407,7 +1407,7 @@
},
"claim_impact": "POW-01's CUDA half across a dataset-day switch on the frozen object: CUDA against the CPU reference bit for bit on three ranges with the day switch at nonce 1572864. NOT same-work evidence: the node engine refuses this seed/stream pair (IgneumEngine::epoch_for's class v5 check wants the stream's block af89be5d... to equal the epoch seed edc4fa84...), so the node and pool readers cannot read it; the coordinator's ruling 22:0x UK keeps it as the CUDA and CPU-only row",
"reviewer": "",
"at": "2026-10-08T21:27:53.422Z"
"at": "2026-10-08T21:28:29.457Z"
}
}
},
@ -1438,21 +1438,21 @@
"manual_page": 24,
"owner_lane": "hash lane (a690540514aa453d7)",
"run_status": "NOT RUN",
"evidence_path": "docs/analysis/review-2026-10-08-b/f10/packfile-test.log;docs/analysis/review-2026-10-08-b/f10/geometry-check-mini.log; docs/analysis/class-v6/family-gate.md",
"run_id": "family-gate-20261008b",
"updated": "2026-10-08T20:38:55.360Z",
"evidence_path": "docs/analysis/review-2026-10-08-b/f10/packfile-test.log;docs/analysis/review-2026-10-08-b/f10/geometry-check-mini.log; docs/analysis/class-v6/family-gate.md; docs/analysis/class-v6/rows/live-dataset-census-1a938abe4.md",
"run_id": "census-v6-live-20261008-2210",
"updated": "2026-10-08T21:20:19.390Z",
"evidence_record": {
"requirement_id": "POW-02",
"decision": "NOT RUN",
"decision": "PASS",
"method": "native",
"cell": "harness:family-gate",
"manifest_sha": "ac86d7910",
"run_id": "family-gate-20261008b",
"evidence": "docs/analysis/class-v6/family-gate.md",
"cell": "census:class-v6",
"manifest_sha": "1a938abe4",
"run_id": "census-v6-live-20261008-2210",
"evidence": "docs/analysis/class-v6/rows/live-dataset-census-1a938abe4.md",
"in_progress": false,
"coverage": "partial: the acceptance rule's measured rates on drawn classes (the per-candidate rejection, the attempt histogram, the exhaustion count against the independent-attempt arithmetic, the (c'') and (c''') floors' refuse rates and the pre-floor ratio spread per width), the per-site largest-bucket and index-bit statistics at the rule's own 2^20 sample with the seven known-failed seeds (p4, p8, p10, p34, p212, p225, p15), and the F8-form census at 2^20 on the F8 seed set where the attack-f8 mirror validates (0 of 96 warps mismatching); the semantics, termination and memory-bound half and the independent re-implementation are the suite's and the hash lane's; the effect-size limits are the family-gate.md thresholds, predeclared in its section 3",
"coverage": "partial: the fold's index statistics and the grammar bounds on 256 seeds plus the F8 set; the malformed programs are owed to harness:parser-malformed",
"release_identity": {
"commit": "ac86d7910",
"commit": "1a938abe4",
"lockfile": "",
"binary": "",
"network_object": "",
@ -1461,7 +1461,7 @@
},
"claim_impact": "",
"reviewer": "",
"at": "2026-10-08T20:38:55.360Z"
"at": "2026-10-08T21:20:19.390Z"
},
"in_progress_since": "2026-10-08T20:07:26.255Z",
"approvals": {
@ -1516,6 +1516,28 @@
"claim_impact": "",
"reviewer": "",
"at": "2026-10-08T20:38:55.360Z"
},
"census:class-v6": {
"requirement_id": "POW-02",
"decision": "PASS",
"method": "native",
"cell": "census:class-v6",
"manifest_sha": "1a938abe4",
"run_id": "census-v6-live-20261008-2210",
"evidence": "docs/analysis/class-v6/rows/live-dataset-census-1a938abe4.md",
"in_progress": false,
"coverage": "partial: the fold's index statistics and the grammar bounds on 256 seeds plus the F8 set; the malformed programs are owed to harness:parser-malformed",
"release_identity": {
"commit": "1a938abe4",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
},
"claim_impact": "",
"reviewer": "",
"at": "2026-10-08T21:20:19.390Z"
}
}
},
@ -1546,30 +1568,30 @@
"manual_page": 24,
"owner_lane": "adversary lane (a1a9876a88f5a72fc)",
"run_status": "FAIL",
"evidence_path": "docs/analysis/class-v6/connected-state.md; docs/analysis/class-v6; docs/analysis/class-v6/multi-family-adversary.md",
"run_id": "adversary-20261008-placed-8lane",
"updated": "2026-10-08T20:41:20.327Z",
"evidence_path": "docs/analysis/class-v6/connected-state.md; docs/analysis/class-v6/multi-family-adversary.md",
"run_id": "kills-20261008",
"updated": "2026-10-08T21:00:32.906Z",
"evidence_record": {
"requirement_id": "POW-03",
"decision": "NOT RUN",
"method": "model",
"cell": "adversary:mf-placed",
"manifest_sha": "3a8874fef",
"run_id": "adversary-20261008-placed-8lane",
"evidence": "docs/analysis/class-v6/multi-family-adversary.md",
"in_progress": true,
"coverage": "partial: the live state held in an SRAM macro per 8 lanes with a time-multiplexed single port and operand isolation, the complete-system cost in section 6; the liveness trace itself is the connected-state lane's tool",
"decision": "FAIL",
"method": "GPU",
"cell": "experiment:connected-state",
"manifest_sha": "7cfa422a",
"run_id": "kills-20261008",
"evidence": "docs/analysis/class-v6/connected-state.md",
"in_progress": false,
"coverage": "the experiment ran and its claim failed: live state does not make the work unavoidable for a chip; the master's register row 18 reads FAIL, published, never PASSED",
"release_identity": {
"commit": "3a8874fef",
"commit": "7cfa422a",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
},
"claim_impact": "",
"claim_impact": "the claims the two experiments carried are withdrawn: live state as an ASIC barrier (connected state), a cheaper mixed-FP32 lane",
"reviewer": "",
"at": "2026-10-08T20:41:20.327Z"
"at": "2026-10-08T21:00:32.906Z"
},
"approvals": {
"scope_approved": null,
@ -1607,7 +1629,7 @@
"cell": "experiment:connected-state",
"manifest_sha": "7cfa422a",
"run_id": "kills-20261008",
"evidence": "docs/analysis/class-v6",
"evidence": "docs/analysis/class-v6/connected-state.md",
"in_progress": false,
"coverage": "the experiment ran and its claim failed: live state does not make the work unavoidable for a chip; the master's register row 18 reads FAIL, published, never PASSED",
"release_identity": {
@ -1620,7 +1642,7 @@
},
"claim_impact": "the claims the two experiments carried are withdrawn: live state as an ASIC barrier (connected state), a cheaper mixed-FP32 lane",
"reviewer": "",
"at": "2026-10-08T20:10:24.624Z"
"at": "2026-10-08T21:00:32.906Z"
},
"adversary:mf-placed": {
"requirement_id": "POW-03",
@ -1943,9 +1965,9 @@
"manual_page": 26,
"owner_lane": "hash lane (a690540514aa453d7)",
"run_status": "FAIL",
"evidence_path": "docs/analysis/class-v6/rows/pow-07-fp32-unreachable.md; docs/analysis/class-v6",
"evidence_path": "docs/analysis/class-v6/rows/pow-07-fp32-unreachable.md; docs/analysis/class-v6/mixed-fp32.md; docs/analysis/class-v6/rows/pow-07-fp32-unreachable.md",
"run_id": "kills-20261008",
"updated": "2026-10-08T20:10:24.624Z",
"updated": "2026-10-08T21:00:32.906Z",
"evidence_record": {
"requirement_id": "POW-07",
"decision": "FAIL",
@ -1953,7 +1975,7 @@
"cell": "experiment:mixed-fp32",
"manifest_sha": "7cfa422a",
"run_id": "kills-20261008",
"evidence": "docs/analysis/class-v6",
"evidence": "docs/analysis/class-v6/mixed-fp32.md; docs/analysis/class-v6/rows/pow-07-fp32-unreachable.md",
"in_progress": false,
"coverage": "the branch ran and its claim failed: the FP32 branch costs the card more energy and widens the chip edge; the master's register row 12 reads FAIL, published; the branch is excluded and unreachable on master (the grep evidence stays)",
"release_identity": {
@ -1966,7 +1988,7 @@
},
"claim_impact": "the claims the two experiments carried are withdrawn: live state as an ASIC barrier (connected state), a cheaper mixed-FP32 lane",
"reviewer": "",
"at": "2026-10-08T20:10:24.624Z"
"at": "2026-10-08T21:00:32.906Z"
},
"approvals": {
"scope_approved": null,
@ -2008,7 +2030,7 @@
"cell": "experiment:mixed-fp32",
"manifest_sha": "7cfa422a",
"run_id": "kills-20261008",
"evidence": "docs/analysis/class-v6",
"evidence": "docs/analysis/class-v6/mixed-fp32.md; docs/analysis/class-v6/rows/pow-07-fp32-unreachable.md",
"in_progress": false,
"coverage": "the branch ran and its claim failed: the FP32 branch costs the card more energy and widens the chip edge; the master's register row 12 reads FAIL, published; the branch is excluded and unreachable on master (the grep evidence stays)",
"release_identity": {
@ -2021,7 +2043,7 @@
},
"claim_impact": "the claims the two experiments carried are withdrawn: live state as an ASIC barrier (connected state), a cheaper mixed-FP32 lane",
"reviewer": "",
"at": "2026-10-08T20:10:24.624Z"
"at": "2026-10-08T21:00:32.906Z"
}
}
},
@ -2587,21 +2609,21 @@
"manual_page": 28,
"owner_lane": "k lane (a3c9601a6d4686fe1)",
"run_status": "NOT RUN",
"evidence_path": "docs/analysis/class-v6/multi-family-adversary.md; docs/analysis/class-v6/floor/shadow-k.md; docs/analysis/class-v6/multi-family-adversary.md",
"run_id": "adversary-20261008-placed-8lane",
"updated": "2026-10-08T20:41:20.327Z",
"evidence_path": "docs/analysis/class-v6/multi-family-adversary.md; docs/analysis/class-v6/floor/shadow-k.md; docs/analysis/class-v6/floor/shadow-k.md",
"run_id": "floor-k-20261008-rows-repeat",
"updated": "2026-10-08T21:09:38.300Z",
"evidence_record": {
"requirement_id": "ADV-05",
"decision": "NOT RUN",
"method": "model",
"cell": "adversary:mf-placed",
"manifest_sha": "3a8874fef",
"run_id": "adversary-20261008-placed-8lane",
"evidence": "docs/analysis/class-v6/multi-family-adversary.md",
"manifest_sha": "86e5b0fb",
"run_id": "floor-k-20261008-rows-repeat",
"evidence": "docs/analysis/class-v6/floor/shadow-k.md",
"in_progress": true,
"coverage": "partial: the SRAM macros, ports, wiring, clocking and the complete-board terms are modelled in sections 2.3, 5 and 6 with the unmodelled items carried as uncertainty; the calibration against an existing hardware block is the k lane's bare-lane row beside it, owed as a named comparison",
"release_identity": {
"commit": "3a8874fef",
"commit": "86e5b0fb",
"lockfile": "",
"binary": "",
"network_object": "",
@ -2610,7 +2632,7 @@
},
"claim_impact": "",
"reviewer": "",
"at": "2026-10-08T20:41:20.327Z"
"at": "2026-10-08T21:09:38.300Z"
},
"in_progress_since": "2026-10-08 18:3x UK",
"approvals": {
@ -2647,13 +2669,13 @@
"decision": "NOT RUN",
"method": "model",
"cell": "adversary:mf-placed",
"manifest_sha": "3a8874fef",
"run_id": "adversary-20261008-placed-8lane",
"evidence": "docs/analysis/class-v6/multi-family-adversary.md",
"manifest_sha": "86e5b0fb",
"run_id": "floor-k-20261008-rows-repeat",
"evidence": "docs/analysis/class-v6/floor/shadow-k.md",
"in_progress": true,
"coverage": "partial: the SRAM macros, ports, wiring, clocking and the complete-board terms are modelled in sections 2.3, 5 and 6 with the unmodelled items carried as uncertainty; the calibration against an existing hardware block is the k lane's bare-lane row beside it, owed as a named comparison",
"release_identity": {
"commit": "3a8874fef",
"commit": "86e5b0fb",
"lockfile": "",
"binary": "",
"network_object": "",
@ -2662,7 +2684,7 @@
},
"claim_impact": "",
"reviewer": "",
"at": "2026-10-08T20:41:20.327Z"
"at": "2026-10-08T21:09:38.300Z"
}
}
},
@ -2695,24 +2717,29 @@
"owner_lane": "k lane (a3c9601a6d4686fe1)",
"run_status": "NOT RUN",
"evidence_path": "docs/analysis/class-v6/floor/shadow-k.md",
"run_id": "team-2026-10-08",
"updated": "2026-10-08T20:10:24.556Z",
"run_id": "floor-k-20261008-rows-repeat",
"updated": "2026-10-08T21:09:38.300Z",
"evidence_record": {
"reason": "process-advantage separation is the adversary lanes' chip study",
"at": "2026-10-08T20:10:24.556Z",
"method": "static",
"requirement_id": "ADV-06",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "model",
"cell": "review:k-lane-shadow-k",
"manifest_sha": "86e5b0fb",
"run_id": "floor-k-20261008-rows-repeat",
"evidence": "docs/analysis/class-v6/floor/shadow-k.md",
"in_progress": false,
"coverage": "partial: the placed gated cores and the adversary's forms are modelled in shadow-k.md; the independent review remains",
"release_identity": {
"commit": "",
"commit": "86e5b0fb",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
}
},
"claim_impact": "",
"reviewer": "",
"at": "2026-10-08T21:09:38.300Z"
},
"in_progress_since": "2026-10-08 18:3x UK",
"approvals": {
@ -2743,6 +2770,28 @@
"run_id": "team-2026-10-08",
"evidence": "docs/analysis/class-v6/floor/shadow-k.md",
"in_progress": true
},
"review:k-lane-shadow-k": {
"requirement_id": "ADV-06",
"decision": "NOT RUN",
"method": "model",
"cell": "review:k-lane-shadow-k",
"manifest_sha": "86e5b0fb",
"run_id": "floor-k-20261008-rows-repeat",
"evidence": "docs/analysis/class-v6/floor/shadow-k.md",
"in_progress": false,
"coverage": "partial: the placed gated cores and the adversary's forms are modelled in shadow-k.md; the independent review remains",
"release_identity": {
"commit": "86e5b0fb",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
},
"claim_impact": "",
"reviewer": "",
"at": "2026-10-08T21:09:38.300Z"
}
}
},
@ -9941,34 +9990,32 @@
"owner": "Desktop product + pool leads; independent usability study",
"manual_page": 58,
"owner_lane": "shipper (ae892a8b0f78fe31c)",
"run_status": "NOT RUN",
"evidence_path": "build-1:/srv/artefacts/tas/201-7cfa422a-aa0e0f45/node-7cfa422a/box4-miner.log",
"run_id": "201-7cfa422a-aa0e0f45",
"updated": "2026-10-08T19:32:50.856Z",
"run_status": "FAIL",
"evidence_path": "docs/release/evidence/ux-shipper-2026-10-08.md",
"run_id": "incident-u64-coinbase-2026-10-08",
"updated": "2026-10-08T21:21:37.484Z",
"evidence_record": {
"cell": "suite:miner",
"manifest_sha": "7cfa422a",
"coverage": {
"UX-06": "partial: the miner's own template selection tests",
"UX-04": "partial: payout label and share accounting tests; custody is the pool lane's row",
"POW-01": "partial: the pack re-check seam against the pack's 96 vectors (recheck_pack); the million-vector campaign is harness:p01-vectors"
},
"at": "2026-10-08T19:32:50.856Z",
"method": "native",
"requirement_id": "UX-06",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"decision": "FAIL",
"method": "team-reported",
"cell": "suite:miner",
"manifest_sha": "4cdcc488",
"run_id": "incident-u64-coinbase-2026-10-08",
"evidence": "docs/release/evidence/ux-shipper-2026-10-08.md",
"in_progress": false,
"coverage": "partial: the miner's own template selection tests",
"release_identity": {
"commit": "7cfa422a",
"commit": "4cdcc488",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
}
},
"claim_impact": "no miner could take the work templates the network gave it above 18.4 IGN of merged subsidy",
"reviewer": "",
"at": "2026-10-08T21:21:37.484Z"
},
"in_progress_since": "2026-10-08T19:32:50.856Z",
"approvals": {
"scope_approved": null,
"implementation_complete": null,
@ -9977,30 +10024,26 @@
},
"evidence_records": {
"suite:miner": {
"cell": "suite:miner",
"manifest_sha": "7cfa422a",
"coverage": {
"UX-06": "partial: the miner's own template selection tests",
"UX-04": "partial: payout label and share accounting tests; custody is the pool lane's row",
"POW-01": "partial: the pack re-check seam against the pack's 96 vectors (recheck_pack); the million-vector campaign is harness:p01-vectors"
},
"at": "2026-10-08T19:32:50.856Z",
"method": "native",
"requirement_id": "UX-06",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"decision": "FAIL",
"method": "team-reported",
"cell": "suite:miner",
"manifest_sha": "4cdcc488",
"run_id": "incident-u64-coinbase-2026-10-08",
"evidence": "docs/release/evidence/ux-shipper-2026-10-08.md",
"in_progress": false,
"coverage": "partial: the miner's own template selection tests",
"release_identity": {
"commit": "7cfa422a",
"commit": "4cdcc488",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
},
"run_id": "201-7cfa422a-aa0e0f45",
"evidence": "build-1:/srv/artefacts/tas/201-7cfa422a-aa0e0f45/node-7cfa422a/box4-miner.log",
"in_progress": true
"claim_impact": "no miner could take the work templates the network gave it above 18.4 IGN of merged subsidy",
"reviewer": "",
"at": "2026-10-08T21:21:37.484Z"
}
}
},
@ -11984,14 +12027,16 @@
"finding_title": "The bundle contains a v6 candidate, not a demonstrated integrated v6 release",
"finding_priority": "P0 - freeze/integration blocker",
"owner_lane": "CI steward, hash lane (ProgramClass::V6 on freeze), pool lane",
"run_status": "NOT RUN",
"run_status": "PASS",
"base_test_ids": [
"GOV-01",
"GOV-03",
"POW-01",
"ROT-02"
],
"updated": "2026-10-08T20:51:07.788Z",
"run_id": "f03-manifest-20261008-01",
"evidence_path": "build-1:/srv/artefacts/tas/f03-manifest-20261008-01/build-from-manifest-c30ab32c-build4.log; build-4:/srv/builds/igneum-wt-f03-201; tools/ci/build-from-manifest.sh; tools/ci/release-manifest-check.sh",
"updated": "2026-10-08T21:11:46.383Z",
"evidence_record": {
"requirement_id": "R2-F03-R01",
"decision": "PASS",
@ -12012,27 +12057,9 @@
},
"claim_impact": "F03's first rung: one manifest, one build, no unpublished vendor tree; the same-work rung (R02) and the transition rung (R03) stay NOT RUN until the readers run on the job context",
"reviewer": "",
"at": "2026-10-08T20:51:07.788Z"
"at": "2026-10-08T21:11:46.383Z"
},
"evidence_records": {
"record": {
"reason": "R2-F03 (P0, the external review): the regression's harness is the owner lane's (CI steward, hash lane (ProgramClass::V6 on freeze), pool lane); not yet named in the map",
"at": "2026-10-08T20:10:24.556Z",
"method": "static",
"requirement_id": "R2-F03-R01",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"release_identity": {
"commit": "",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
},
"in_progress": false
},
"harness:release-manifest": {
"requirement_id": "R2-F03-R01",
"decision": "PASS",
@ -12053,7 +12080,7 @@
},
"claim_impact": "F03's first rung: one manifest, one build, no unpublished vendor tree; the same-work rung (R02) and the transition rung (R03) stay NOT RUN until the readers run on the job context",
"reviewer": "",
"at": "2026-10-08T20:51:07.788Z"
"at": "2026-10-08T21:11:46.383Z"
}
},
"approvals": {
@ -12061,9 +12088,7 @@
"implementation_complete": null,
"evidence_reproduced": null,
"claim_authorised": null
},
"run_id": "f03-manifest-20261008-01",
"evidence_path": "build-1:/srv/artefacts/tas/f03-manifest-20261008-01/build-from-manifest-c30ab32c-build4.log; build-4:/srv/builds/igneum-wt-f03-201; tools/ci/build-from-manifest.sh; tools/ci/release-manifest-check.sh"
}
},
{
"id": "R2-F03-R02",
@ -12096,7 +12121,9 @@
"POW-01",
"ROT-02"
],
"updated": "2026-10-08T21:27:53.523Z",
"run_id": "same-work-20261008-03",
"evidence_path": "docs/design/class-v5-stored-state.md; build-1:/srv/artefacts/packs/packs-class-v6-20261008T202808Z.zip; build-1:/srv/builds/_log/v5-class/kits-20261008T202808Z/emu-check.log; build-1:/srv/artefacts/tas/same-work-20261008-03/job-context.json; build-1:/srv/artefacts/tas/same-work-20261008-03/state-epoch2.igsd1",
"updated": "2026-10-08T21:28:29.555Z",
"evidence_record": {
"requirement_id": "R2-F03-R02",
"decision": "NOT RUN",
@ -12117,26 +12144,30 @@
},
"claim_impact": "the same-work test's live-chain half (the coordinator's third row, 22:1x UK): the readers on the chain's own class v5 object at epoch 2 across the day switch 20734 to 20735; the node and pool readers run it on their release-line engines, the row those two can PASS without the class v6 branch",
"reviewer": "",
"at": "2026-10-08T21:27:53.523Z"
"at": "2026-10-08T21:28:29.555Z"
},
"evidence_records": {
"record": {
"reason": "R2-F03 (P0, the external review): the regression's harness is the owner lane's (CI steward, hash lane (ProgramClass::V6 on freeze), pool lane); not yet named in the map",
"at": "2026-10-08T20:10:24.556Z",
"method": "static",
"kit:class-v6-fingerprints": {
"requirement_id": "R2-F03-R02",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"method": "GPU",
"cell": "kit:class-v6-fingerprints",
"manifest_sha": "ef0f2ed8",
"run_id": "kit-class-v6-20261008-01",
"evidence": "docs/design/class-v5-stored-state.md; build-1:/srv/artefacts/packs/packs-class-v6-20261008T202808Z.zip; build-1:/srv/builds/_log/v5-class/kits-20261008T202808Z/emu-check.log",
"in_progress": true,
"coverage": "partial: the worker half (CPU reference, CUDA, Metal, OpenCL) on the same program packs; the node's and the pool's accepted work on the same job context are the CI steward's and the pool lane's cells; PASS only when every listed platform reads one fingerprint and the node and pool halves are green",
"release_identity": {
"commit": "",
"commit": "ef0f2ed8",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
},
"in_progress": false
"claim_impact": "",
"reviewer": "",
"at": "2026-10-08T21:18:18.084Z"
},
"harness:same-work": {
"requirement_id": "R2-F03-R02",
@ -12158,17 +12189,16 @@
},
"claim_impact": "the same-work test's live-chain half (the coordinator's third row, 22:1x UK): the readers on the chain's own class v5 object at epoch 2 across the day switch 20734 to 20735; the node and pool readers run it on their release-line engines, the row those two can PASS without the class v6 branch",
"reviewer": "",
"at": "2026-10-08T21:27:53.523Z"
"at": "2026-10-08T21:28:29.555Z"
}
},
"in_progress_since": "2026-10-08T21:18:18.084Z",
"approvals": {
"scope_approved": null,
"implementation_complete": null,
"evidence_reproduced": null,
"claim_authorised": null
},
"run_id": "same-work-20261008-03",
"evidence_path": "build-1:/srv/artefacts/tas/same-work-20261008-03/job-context.json; build-1:/srv/artefacts/tas/same-work-20261008-03/state-epoch2.igsd1"
}
},
{
"id": "R2-F03-R03",
@ -12201,7 +12231,7 @@
"POW-01",
"ROT-02"
],
"updated": "2026-10-08T21:27:53.523Z",
"updated": "2026-10-08T21:28:29.555Z",
"evidence_record": {
"requirement_id": "R2-F03-R03",
"decision": "NOT RUN",
@ -12222,27 +12252,9 @@
},
"claim_impact": "the same-work test's live-chain half (the coordinator's third row, 22:1x UK): the readers on the chain's own class v5 object at epoch 2 across the day switch 20734 to 20735; the node and pool readers run it on their release-line engines, the row those two can PASS without the class v6 branch",
"reviewer": "",
"at": "2026-10-08T21:27:53.523Z"
"at": "2026-10-08T21:28:29.555Z"
},
"evidence_records": {
"record": {
"reason": "R2-F03 (P0, the external review): the regression's harness is the owner lane's (CI steward, hash lane (ProgramClass::V6 on freeze), pool lane); not yet named in the map",
"at": "2026-10-08T20:10:24.556Z",
"method": "static",
"requirement_id": "R2-F03-R03",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"release_identity": {
"commit": "",
"lockfile": "",
"binary": "",
"network_object": "",
"activation": "",
"profile_hashes": ""
},
"in_progress": false
},
"harness:same-work": {
"requirement_id": "R2-F03-R03",
"decision": "NOT RUN",
@ -12263,7 +12275,7 @@
},
"claim_impact": "the same-work test's live-chain half (the coordinator's third row, 22:1x UK): the readers on the chain's own class v5 object at epoch 2 across the day switch 20734 to 20735; the node and pool readers run it on their release-line engines, the row those two can PASS without the class v6 branch",
"reviewer": "",
"at": "2026-10-08T21:27:53.523Z"
"at": "2026-10-08T21:28:29.555Z"
}
},
"approvals": {
@ -15307,25 +15319,32 @@
"owner": "CI steward with the hash lane (a690540514aa453d7) and the worker lane (a9e87343f008e0edd)",
"manual_page": null,
"owner_lane": "CI steward with the hash lane (a690540514aa453d7) and the worker lane (a9e87343f008e0edd)",
"run_status": "NOT RUN",
"run_status": "BLOCKED",
"master_status": "PROPOSED / NOT RUN",
"updated": "2026-10-08T20:10:24.556Z",
"run_id": "canary-20261008-01",
"evidence_path": "tools/ci/canary-check.sh; packaging/ota/publish-manifest.sh; packaging/ota/publish-public.sh",
"updated": "2026-10-08T21:00:32.846Z",
"evidence_record": {
"reason": "INT-07 (R1 integration gate): the gate's harness is the owner lane's (CI steward with the hash lane (a690540514aa453d7) and the worker lane (a9e87343f008e0edd)); not yet named in the map",
"at": "2026-10-08T20:10:24.556Z",
"method": "static",
"requirement_id": "INT-07",
"decision": "NOT RUN",
"reviewer": "",
"claim_impact": "",
"decision": "BLOCKED",
"method": "team-reported",
"cell": "canary:fresh-install",
"manifest_sha": "c30ab32c",
"run_id": "canary-20261008-01",
"evidence": "tools/ci/canary-check.sh; packaging/ota/publish-manifest.sh; packaging/ota/publish-public.sh",
"in_progress": false,
"coverage": "partial: V6-12's clean-install half (one published object installed fresh, synced, mined, proved and paid on one host per artefact); the cross-host agreement half (node, pool, CPU verifier, each GPU host across activation) is harness:same-work's",
"release_identity": {
"commit": "",
"commit": "c30ab32c (release-2.0.1 final tip; 2.0.2 open at c608b341)",
"lockfile": "",
"binary": "",
"network_object": "",
"binary": "the shipped 2.0.1 entries on aa0e0f45's binaries",
"network_object": "igneum-devnet-4, chain id 4465",
"activation": "",
"profile_hashes": ""
}
},
"claim_impact": "INT-07's clean-install half reads BLOCKED until a release tip carries a PASS fresh-install canary record; no published entry may move before one does (rule 33)",
"reviewer": "",
"at": "2026-10-08T21:00:32.846Z"
},
"evidence_records": {
"record": {
@ -15345,6 +15364,28 @@
"profile_hashes": ""
},
"in_progress": false
},
"canary:fresh-install": {
"requirement_id": "INT-07",
"decision": "BLOCKED",
"method": "team-reported",
"cell": "canary:fresh-install",
"manifest_sha": "c30ab32c",
"run_id": "canary-20261008-01",
"evidence": "tools/ci/canary-check.sh; packaging/ota/publish-manifest.sh; packaging/ota/publish-public.sh",
"in_progress": false,
"coverage": "partial: V6-12's clean-install half (one published object installed fresh, synced, mined, proved and paid on one host per artefact); the cross-host agreement half (node, pool, CPU verifier, each GPU host across activation) is harness:same-work's",
"release_identity": {
"commit": "c30ab32c (release-2.0.1 final tip; 2.0.2 open at c608b341)",
"lockfile": "",
"binary": "the shipped 2.0.1 entries on aa0e0f45's binaries",
"network_object": "igneum-devnet-4, chain id 4465",
"activation": "",
"profile_hashes": ""
},
"claim_impact": "INT-07's clean-install half reads BLOCKED until a release tip carries a PASS fresh-install canary record; no published entry may move before one does (rule 33)",
"reviewer": "",
"at": "2026-10-08T21:00:32.846Z"
}
},
"approvals": {

View file

@ -25,3 +25,7 @@ Registry: docs/plans/igneum-2.0-test-registry.json, suite UX. Owner lane: the sh
- The shipped igneum-miner (the 4cdcc488 and ef0f2ed8 pairs) refused every block template whose coinbase exceeded a u64: on the founder's Mac mini at 19:41 "! template error: amount high word 2 (low word 2140158083214006468) on a network at 8 decimals, where every amount fits a u64", then "NODE SLOW: no template from the node in 29 pass(es)", 0 MH/s; rpc/core/src/error.rs:131. Cause: igneum/miner/src/main.rs installed the network's base unit (install_unit_from) only for `inspect`; `mine`, `watch`, `export-pack` and the prepare path read amounts at the 8-decimal width, so a merged coinbase above 18.4 IGN was refused.
- The fleet at 19:44: the refusal on 40 of 43 mining boxes (hub-1 323 refusals, 120 NODE SLOW); hub-1's selected chain down to 2 to 4 miner keys over its last 300 EVM blocks (27 at 19:40) and 22 blocks in 14 minutes; 0 blocks per minute at 19:54: the cause of the solo branch and the vote split after the 19:15 outage.
- The fix: release-2.0.0-node 7cfa422a (every miner command installs the base unit before any amount is read; the known-failed test with the mini's exact refusal; 777214af's first form did not compile). The clearing evidence is the fixed miner's live canary on build-1's seed (templates parsing, a MINER SUMMARY with a rate, a template whose coinbase exceeds a u64 joined), recorded as its own batch when the node lane prints it.
## UX-06 clearing run canary-miner-fix-7cfa422a (PASS, 20:05 to 21:48 BST)
- The fixed miner (release-2.0.0-node 7cfa422a: every miner command installs the network's base unit before reading an amount) on build-1's seed, 20:05:11 to 20:06:11: 49 templates taken in 60 s, no "template error", no "amount high word", no NODE SLOW; `MINER SUMMARY 'mfix-canary' engine=igneum-pow found=0 rejected=0 fee=0 over 60.0s = 0.00 blocks/s, 0.006 MH/s, 1 template switches`; `VOTER SUMMARY votes_sent=20 votes_accepted=20 locks_seen=12 last_lock_index=270`.
- The fleet on the 2.0.1 kit: lp-4090-11 from 20:31 (zero refusals in 320 s, the first accepted block 1aa32e55… at 20:33:33, 186 accepted in 320 s); stages A and B (65 kept nodes) by 20:56:53; hub-1's miner at 21:43 (102 accepted in 343 s); the first lock after the roll, checkpoint 620 at 21:34:33 (80.8 percent of active).

View file

@ -68,7 +68,8 @@ Labels: the five served labels are TEAM-REPORTED, MODELLED, PROPOSED, PENDING an
| randomx.html | +14 -17. Generated from the litepaper's randomx section (50f517120) | Same as litepaper#randomx; rebuilt from litepaper#randomx: the dataset row reads the dataset policy (site-2.0-audit) | Same as litepaper#randomx: the 2 GB dataset row | measured, proposed, approximate | None |
| receipt.html | +27 -46. "Devnet 3" becomes "the devnet"; the testnet chain entry gone | The two receipt kinds (transaction-inclusion and payment), the proof boundary, data availability, the three boundaries, the positioning line (5e5ba9b8a); both sentences start in capitals; the unlabelled 30 to 90 s finality figure dropped (site-2.0-audit) | Two sentences start in lower case, "the devnet, no value" | The receipt kind on every result; no five-label word. No label: "about 30 to 90 s after it executes" | None |
| scenes.html | +11 -14. Chrome only; the body is unchanged | The legend reads finalised checkpoint and the Forge note finalised; the four words paragraph added (site-2.0-audit) | The legend reads pending, included, excluded, proven, locked checkpoint, and "everything under it is final" | No label | None |
| scorecard.html | +314, new (9bdee3727); in the sitemap (1281d01fb) | The whole page: twelve gates from the plan's section 23, evidence required, do not substitute, the Today label; the release evidence packet; the wording ladder | None | TEAM-REPORTED 4, MODELLED 3, PROPOSED 2, PENDING 5, EXCLUDED 3 | The reference-population sentences land at 21:00; the Sustained proving cell needs economics to serve the 24-hour reading as history; no square og PNG |
| prize.html | New: the disclosure prize terms page, from the scorecard shell; in the nav Learn panel, the sitemap, the share cards and the capture list | The terms: what it pays for (a placed or measured adversarial implementation that beats the served bracket under the one acceptance rule, or a reproduced shortcut in the served kit), what it does not pay for (confirmations, synthesis-only results, work outside the budget, excluded classes), judged in-house, the finding served either way, reports to hello@igneum.network | None | No label: the amount line reads "set by the founder and served here when set" | The amount |
| scorecard.html | +314, new (9bdee3727); in the sitemap (1281d01fb) | The whole page: twelve gates from the plan's section 23, evidence required, do not substitute, the Today label; the release evidence packet; the wording ladder | None | TEAM-REPORTED 4, MODELLED 3, PROPOSED 2, PENDING 5, EXCLUDED 3 | the Sustained proving cell needs economics to serve the 24-hour reading as history; no square og PNG |
| swap.html | +37 -40. "Devnet 3" becomes "the devnet"; chain igneum-devnet-4; the addresses pointer becomes "docs/contracts"; the wallet version requirement gone | The intro: "on Igneum, with proven execution" | None found | No label: "Every swap is a devnet block" | `docs/contracts/` holds devnet-3.json and sepolia.json, no igneum-devnet-4 file; the swap og card PNG still prints "Devnet 3" |
| tx.html | +24 -26. Title and crumb; network "The devnet"; chips and lock state "finalised" and "not yet finalised" | The four words and definitions (5c8fdfa29, b45bf6d45); the source line names one node on the build box; the fee sentence reads 80 percent to the miner and 20 percent to the developer registrations, none to the provers, as on economics (site-2.0-audit) | "Read from node1-dn3 on the build box since 12:25 UTC on 8 October 2026"; "The priority fee splits 80/20 between the including miner and the proving pool", which economics no longer states | No label | The explorer og card PNG still prints "Devnet 3" |
| wallet.html | +15 -19. "0.1.5" becomes "the current build"; download v0.1.6; the testnet notice gone | Nothing | Screenshots from mock state of 7 October 2026 | One "Measured" heading; otherwise no label | None beyond the label |
@ -78,6 +79,4 @@ Labels: the five served labels are TEAM-REPORTED, MODELLED, PROPOSED, PENDING an
- The share cards: explorer, swap, faucet and oracle PNGs were not re-rendered after their text changed in `site/og/pages.mjs` and still print the devnet number (the explorer card serves /explorer, /block, /address, /tx and /proving); the home card still prints the pre-reset line; scorecard has no square card. Rendering runs on a build box, never on the Mac.
- /oracle states the deployed Sepolia contract's chain ids 4463 and 4464 until it is redeployed.
- The miner page's hero screenshot is an older build.
- /prize does not exist yet (due by 12:00 tomorrow); it gets a line here when it lands.
- The reference-population sentences land at 21:00 (scorecard, facts page, litepaper#roadmap).
- The 4 GiB dataset step is PROPOSED pending the founder's word (litepaper#mining, the facts page row 7, miner, app, randomx).
- /prize serves its terms without an amount; the amount line fills when the founder sets it.

View file

@ -489,7 +489,11 @@ pub fn is_class_v4_shape(class: &LoadClass) -> bool {
// class v5 (docs/design/class-v5-stored-state.md) is judged under the same rules: its state flag is set aside;
// class v6 lane 1's index fold and re-weight table are set aside too (the address path and the op table are
// not the shape)
&& LoadClass { era: None, shadow: None, state: false, fold: false, rw: 0, ..*class } == LoadClass { shadow: None, ..V4_CLASS }
// the window and layer 8 off are set aside too (lane D's finding of 8 October 2026, 19:1x UK: a +nowin or +reg64c
// program was judged by the class v2 parts alone on the chain's path; the harness's own predicate hid it)
// and the era's drawn width (lane D's second finding, 20:0x UK: an era whose width set has more than one width
// writes the drawn width into `mix`, and the rule must judge every width of the family, not the pinned one alone)
&& LoadClass { era: None, shadow: None, state: false, fold: false, rw: 0, nowin: false, reg64: false, reg64_chain: false, mix: V4_CLASS.mix, ..*class } == LoadClass { shadow: None, ..V4_CLASS }
}
/// One pass of the dataflow freshness over the base program then the shadow block (the order of one iteration),
@ -849,6 +853,12 @@ pub fn check_dynamic(p: &Program) -> Result<AcceptReport, Reject> {
check_distinct_indices_v4(p)?;
}
}
// the reg64 window's liveness rule (the window's acceptance tool, wired 8 October 2026, 19:5x UK): keyed on the
// window flag so no other class's verdict moves; the arithmetic-only window is refused at its first dead register,
// the full chain passes (129 one-warp interpretations on the closed form, under a second)
if p.class.reg64 {
check_window_liveness(p)?;
}
let half = (ACCEPT_HASHES / 2) as u32;
let mut bias_max = 0u32;
for (bit, &ones) in acc.bit_ones.iter().enumerate() {

View file

@ -91,10 +91,21 @@ pub fn hex(bytes: &[u8]) -> String {
/// Bytes from hex (either case). `None` on odd length or a bad digit.
pub fn unhex(s: &str) -> Option<Vec<u8>> {
if s.len() % 2 != 0 {
// on bytes, never on char boundaries (the fuzz of 8 October 2026 found a multi-byte character inside the text
// panicked the slice; a non-ASCII byte is a bad digit)
let b = s.as_bytes();
if b.len() % 2 != 0 {
return None;
}
(0..s.len()).step_by(2).map(|i| u8::from_str_radix(&s[i..i + 2], 16).ok()).collect()
let digit = |c: u8| -> Option<u8> {
match c {
b'0'..=b'9' => Some(c - b'0'),
b'a'..=b'f' => Some(c - b'a' + 10),
b'A'..=b'F' => Some(c - b'A' + 10),
_ => None,
}
};
b.chunks(2).map(|c| Some(digit(c[0])? << 4 | digit(c[1])?)).collect()
}
impl Epoch {

View file

@ -255,7 +255,11 @@ fn program_class_header_lines(p: &Program) -> String {
return String::new();
}
let mut s = String::new();
if p.program_class() == ProgramClass::V5 {
if p.program_class() == ProgramClass::V6 {
s.push_str("// Program class v6 (the Igneum 2.0 D1 object, docs/design/class-v6-rotating-family.md): generator version 6, class v5's\n");
s.push_str("// stored-state dataset with the index fold, the re-weight table and the 64-register window (the v6 flags in the class\n");
s.push_str("// string); a worker that runs another class refuses this pack, and a job line names the class it wants (class=v6 era=<hex>).\n");
} else if p.program_class() == ProgramClass::V5 {
s.push_str("// Program class v5 (proof of stored state and of following, docs/design/class-v5-stored-state.md): generator version 5,\n");
s.push_str("// class v4 over a dataset whose every item is keyed by the window's execution state (IGNEUM_STATE_* below, leaves.bin);\n");
s.push_str("// a worker that runs another class refuses this pack, and a job line names the class it wants (class=v5 era=<hex>).\n");
@ -352,7 +356,7 @@ fn class_header_lines(p: &Program) -> String {
s.push_str(&format!("#define IGNEUM_LOAD_WIDTH_COUNTS {{ {}, {}, {} }} // loads of 4, 16, 64 bytes per program
", c[0], c[1], c[2]));
s.push_str(&format!("#define IGNEUM_BYTES_PER_HASH {}
", p.bytes_per_hash()));
", p.bytes_per_hash_executed()));
s.push_str(&format!("#define IGNEUM_FOLD_ROT {FOLD_ROT}
"));
s.push_str(&format!("#define IGNEUM_FOLD_MUL {}
@ -503,8 +507,16 @@ fn shadow_block(p: &Program, dialect: CoreDialect) -> String {
));
let ty = if dialect == CoreDialect::Cuda { "uint32_t" } else { "uint" };
s.push_str(&format!(" for ({ty} sh = 0u; sh < {reps}u; ++sh) {{\n"));
let prefix = dialect == CoreDialect::Cuda && p.address_mix() && reg64_prefix();
for (k, ins) in p.shadow.iter().enumerate() {
if prefix {
// F05 prefix form: the shadow's writes move S too (the fold reads the live registers)
s.push_str(&format!(" t_ = {};\n", reg64_term(ins.dst as usize)));
}
s.push_str(&format!(" {} // s{k} {}\n", shadow_instr_line(dialect, ins), ins.op.name()));
if prefix {
s.push_str(&format!(" S ^= t_ ^ {};\n", reg64_term(ins.dst as usize)));
}
}
s.push_str(" }\n");
s
@ -1161,13 +1173,60 @@ fn reg_decl(p: &Program, ty: &str) -> String {
return format!(" {ty} r0, r1, r2, r3, r4, r5, r6, r7;\n");
}
let names: Vec<String> = (0..p.registers()).map(|k| format!("r{k}")).collect();
let m = if p.address_mix() { format!("\n {ty} m; // reg64 full chain: the address mix of all 64 registers before every load") } else { String::new() };
let m = if p.address_mix() {
if ty == "uint32_t" && reg64_prefix() {
format!("\n {ty} m, S, p_, t_; // reg64 full chain in the F05 prefix form: S the running xor of the rotated registers, p_ the prefix, t_ the old term")
} else {
format!("\n {ty} m; // reg64 full chain: the address mix of all 64 registers before every load")
}
} else {
String::new()
};
format!(" {ty} {}; // reg64: 64 live registers per lane (two 32-register windows){m}\n", names.join(", "))
}
/// reg64 full chain: the mix statement before a load, `m = r0; m = rotl_imm(m, 1u) ^ r1; ... ^ r63;` over the 63
/// registers other than the load's source `src` (the verifier's `addr_src`, the same chain), one line; the same
/// text in the three dialects (`rotl_imm` is defined in each).
/// Review B's F05 (8 October 2026): the CUDA texts carry the reg64 address mix in its closed prefix form when this
/// switch is on (`igneum-pow export --reg64-prefix`): `S` is the xor of `a[k] = rotl(r[k], (63 - k) mod 32)` over
/// the 64 registers, kept per lane and updated after every write; a load's source is
/// `r[s] ^ ror(P_s, 1) ^ (S ^ P_s ^ a[s])` with `P_s` the xor of the first `s` terms. The same hash, the same vectors
/// (`verify::reg64_address_source`); a measurement text for the fleet, never the definition. OpenCL and Metal keep
/// the fold.
static REG64_PREFIX: std::sync::atomic::AtomicBool = std::sync::atomic::AtomicBool::new(false);
pub fn set_reg64_prefix(on: bool) {
REG64_PREFIX.store(on, std::sync::atomic::Ordering::Relaxed);
}
pub fn reg64_prefix() -> bool {
REG64_PREFIX.load(std::sync::atomic::Ordering::Relaxed)
}
/// `rotl(rK, (63 - k) mod 32)` as text; a rotation of 0 is the register itself (`rotl_imm` takes 1..31).
fn reg64_term(k: usize) -> String {
let n = (63 - k) % 32;
if n == 0 { format!("r{k}") } else { format!("rotl_imm(r{k}, {n}u)") }
}
/// The prefix-form mix statement before a load of source `src` (the F05 text): `m = ror(P, 1) ^ S ^ P ^ a[src]`.
fn reg64_prefix_mix_line(src: u8) -> String {
let s = src as usize;
let prefix: Vec<String> = (0..s).map(reg64_term).collect();
let p = if prefix.is_empty() { "0u".to_string() } else { prefix.join(" ^ ") };
format!("p_ = {p}; m = rotr_var(p_, 1u) ^ S ^ p_ ^ {};", reg64_term(s))
}
/// The prefix form's running total after the register init: `S = a[0] ^ ... ^ a[63]`.
fn reg64_prefix_init(p: &Program) -> String {
if !p.class.reg64 || !p.address_mix() || !reg64_prefix() {
return String::new();
}
let terms: Vec<String> = (0..p.registers()).map(reg64_term).collect();
format!(" // F05 prefix form: the running xor of every rotated register\n S = {};\n", terms.join(" ^ "))
}
fn reg64_mix_line(p: &Program, src: u8) -> String {
let mut s = String::new();
for k in 0..p.registers() {
@ -1223,8 +1282,13 @@ fn cuda_instr_lines(p: &Program, geom: DatasetGeom) -> String {
let d = format!("r{}", ins.dst);
let a = format!("r{}", ins.src);
let b = format!("r{}", ins.src2);
let prefix = address_mix && reg64_prefix();
if address_mix && ins.op == Op::Load {
s.push_str(&format!(" {}\n", reg64_mix_line(p, ins.src)));
s.push_str(&format!(" {}\n", if prefix { reg64_prefix_mix_line(ins.src) } else { reg64_mix_line(p, ins.src) }));
}
if prefix {
// the old term of the destination, so S can drop it after the write
s.push_str(&format!(" t_ = {};\n", reg64_term(ins.dst as usize)));
}
let line = match ins.op {
// Metal select(A, B, c) returns c ? B : A, so the true branch is imm2 here as well.
@ -1252,6 +1316,9 @@ fn cuda_instr_lines(p: &Program, geom: DatasetGeom) -> String {
Op::Hot => hot_stmt(CoreDialect::Cuda, &d, &a),
};
s.push_str(&format!(" {line} // {k} {}\n", ins.op.name()));
if prefix {
s.push_str(&format!(" S ^= t_ ^ {};\n", reg64_term(ins.dst as usize)));
}
}
s
}
@ -1371,6 +1438,7 @@ pub fn cuda_kernel_geom(p: &Program, memhard: Option<&MixParams>, geom: DatasetG
s.push_str(&init_line(p, "uint32_t", i));
}
s.push_str(&reg64_init(p));
s.push_str(&reg64_prefix_init(p));
s.push_str(&format!("\n for (uint32_t it = 0u; it < {ITERATIONS}u; ++it) {{\n uint32_t sel = r0;\n"));
s.push_str(&cuda_instr_lines(p, geom));
s.push_str(&shadow_block(p, CoreDialect::Cuda));
@ -1536,6 +1604,7 @@ pub fn cuda_kernel_bound_geom(p: &Program, memhard: Option<&MixParams>, geom: Da
));
}
s.push_str(&reg64_init(p));
s.push_str(&reg64_prefix_init(p));
s.push_str(&format!("\n for (uint32_t it = 0u; it < {ITERATIONS}u; ++it) {{\n uint32_t sel = r0;\n"));
s.push_str(&cuda_instr_lines(p, geom));
s.push_str(&shadow_block(p, CoreDialect::Cuda));
@ -1947,7 +2016,10 @@ pub fn program_header(p: &Program, day: &str, ds: &DatasetSource) -> String {
s.push_str("#define IGNEUM_LANES 32\n");
s.push_str(&format!("#define IGNEUM_ITERATIONS {ITERATIONS}\n"));
s.push_str(&format!("#define IGNEUM_INSTR_COUNT {INSTR_COUNT}\n"));
s.push_str(&format!("#define IGNEUM_LOADS_PER_HASH {}\n", p.loads_per_hash()));
if p.class.reg64 {
s.push_str("// the executed counts per nonce (review B's V6-02): twice the drawn program's under the 64-register window\n");
}
s.push_str(&format!("#define IGNEUM_LOADS_PER_HASH {}\n", p.loads_per_hash_executed()));
s.push_str(&format!("#define IGNEUM_WIDE_LOADS_PER_HASH {}\n", p.wide_loads_per_hash()));
s.push_str(&format!("#define IGNEUM_OP_MIX {}\n", jstr(&p.op_mix())));
s.push_str(&program_class_header_lines(p));
@ -2189,7 +2261,7 @@ pub fn program_json(p: &Program, day: &str, ds: &DatasetSource) -> String {
s.push_str(" \"registers\": 8,\n");
s.push_str(&format!(" \"iterations\": {ITERATIONS},\n"));
s.push_str(&format!(" \"instruction_count\": {INSTR_COUNT},\n"));
s.push_str(&format!(" \"loads_per_hash\": {},\n", p.loads_per_hash()));
s.push_str(&format!(" \"loads_per_hash\": {},\n", p.loads_per_hash_executed()));
if p.program_class() != ProgramClass::V2 {
s.push_str(&format!(" \"program_class\": {},\n", jstr(p.program_class().name())));
if p.program_class() == ProgramClass::V4 {
@ -2239,7 +2311,7 @@ pub fn program_json(p: &Program, day: &str, ds: &DatasetSource) -> String {
s.push_str(&format!(" \"load_slots\": {},\n", p.class.load_slots));
s.push_str(&format!(" \"load_mix_percent_4_16_64\": [{}, {}, {}],\n", p.class.mix[0], p.class.mix[1], p.class.mix[2]));
s.push_str(&format!(" \"load_width_counts_4_16_64\": [{}, {}, {}],\n", c[0], c[1], c[2]));
s.push_str(&format!(" \"bytes_per_hash\": {},\n", p.bytes_per_hash()));
s.push_str(&format!(" \"bytes_per_hash\": {},\n", p.bytes_per_hash_executed()));
if p.has_scratch() {
s.push_str(&format!(" \"scratch_ops_per_hash\": {},\n", p.scratch_ops_per_hash()));
s.push_str(&format!(" \"scratch_kib_per_warp\": {},\n", p.class.scratch_kb));
@ -2610,19 +2682,42 @@ pub fn export_pack(epoch: &Epoch, day: &str, source: &str) -> Pack {
v.hot_fnv = h.fnv1a64();
}
let is_mh = memhard.is_some();
let mut files = vec![
("program.json".to_string(), program_json(p, day, ds)),
("vectors.json".to_string(), vectors_json_geom(p, day, geom, &bases, &outs, &v, source, is_mh)),
let texts: Vec<(String, String)> = vec![
("kernel.cu".to_string(), cuda_kernel_geom(p, memhard, geom)),
("kernel.cl".to_string(), opencl_kernel_geom(p, memhard, geom)),
("program.h".to_string(), program_header(p, day, ds)),
("vectors.h".to_string(), vectors_header(p, &bases, &outs, &v, mask, source, is_mh)),
("program.metal".to_string(), metal_program_geom(p, geom, LoadSource::Stored)),
// Header-bound kernels (3 October 2026, bind.rs): new files, the seven above are unchanged.
("program_bound.metal".to_string(), metal_program_bound_geom(p, geom)),
("kernel_bound.cu".to_string(), cuda_kernel_bound_geom(p, memhard, geom)),
("kernel_bound.cl".to_string(), opencl_kernel_bound_geom(p, memhard, geom)),
];
// A06 (the external review of 8 October 2026): the pack authenticates its kernel texts by hash, not by metadata:
// identity.json carries the program id, the dataset and era identities and the BLAKE2b-256 of every kernel file.
// A file of its own, so every pinned pack's twelve files stay byte for byte (the readers ignore it).
let hashes: Vec<String> = texts.iter().map(|(n, t)| format!(" {}: \"{}\"", jstr(n), hex_bytes(&crate::blake2b::blake2b_256(&[t.as_bytes()])))).collect();
let identity = format!(
"{{\n \"program_id\": \"{:#018x}\",\n \"load_class\": {},\n \"generator\": {},\n \"day\": {},\n \"dataset_bytes\": {},\n \"kernel_blake2b256\": {{\n{}\n }},\n \"rule\": \"the external review's A06 (8 October 2026): a pack's program, dataset and work identities are distinct, and its kernel texts are authenticated by the hash of their bytes, never by the metadata beside them\"\n}}\n",
p.program_id(),
jstr(&p.class.name()),
p.generator,
jstr(day),
(ds.geom.words as u128) * 4,
hashes.join(",\n")
);
// the pack's file order as the pinned packs carry it, identity.json second
let mut texts = texts.into_iter();
let kernel_cu = texts.next().unwrap();
let kernel_cl = texts.next().unwrap();
let mut files = vec![
("program.json".to_string(), program_json(p, day, ds)),
("identity.json".to_string(), identity),
("vectors.json".to_string(), vectors_json_geom(p, day, geom, &bases, &outs, &v, source, is_mh)),
kernel_cu,
kernel_cl,
("program.h".to_string(), program_header(p, day, ds)),
("vectors.h".to_string(), vectors_header(p, &bases, &outs, &v, mask, source, is_mh)),
];
files.extend(texts);
if let Some(mp) = memhard {
files.push(("memhard.h".to_string(), cuda_memhard_header(p, mp)));
files.push(("memhard.metal".to_string(), metal_memhard_for(p, mp)));

View file

@ -255,6 +255,11 @@ pub struct LoadClass {
/// optimiser split [`NONLOAD_WEIGHTS_RW`] (sum 83, `or` never drawn); 2 the census lane's neighbouring table
/// [`NONLOAD_WEIGHTS_RW2`] (sum 75). The draw rolls against the table's own sum ([`LoadClass::nonload_weights`]).
pub rw: u8,
/// D2 experiment "layer 8 off" (the coordinator's order, 8 October 2026, 18:12 UK; a research class behind `+nowin`):
/// the era layout's window-layer draw is removed, every load site reads the whole dataset (`win = 0`, `off = 0`).
/// The program stream still consumes the two window draws per instruction, so the base program's instructions are
/// the class's without the flag; only the windows move. `false` for every other class.
pub nowin: bool,
/// The 64-register window (the hash lane's reg64 measurement, 8 October 2026, a research class behind `+reg64`
/// and `--reg64`): each lane holds 64 live 32-bit registers. r0..r7 are seeded as today, r8..r63 derived from them
/// (`r[k] = r[k & 7] * 0x9E3779B9 + k`); the 64 drawn instructions run twice per iteration in an interleaved
@ -455,13 +460,13 @@ impl LoadClass {
impl LoadClass {
/// Generator version 2 as adopted on 4 October 2026: 16 loads of one word. The lottery hash.
pub const V2: LoadClass =
LoadClass { mix: [100, 0, 0], load_slots: LOAD_SLOTS as u8, scratch: None, scratch_kb: 0, mixer_mult: 1, growth: false, era: None, hot: None, derive_len: 0, shadow: None, state: false, wide8: false, fold: false, rw: 0, reg64: false, reg64_chain: false };
LoadClass { mix: [100, 0, 0], load_slots: LOAD_SLOTS as u8, scratch: None, scratch_kb: 0, mixer_mult: 1, growth: false, era: None, hot: None, derive_len: 0, shadow: None, state: false, wide8: false, fold: false, rw: 0, nowin: false, reg64: false, reg64_chain: false };
/// The construction decided for program class v3 on 5 October 2026 (Counter ASIC 2.0, `docs/plans/mixer-x4.md`):
/// version 2 loads (16 slots of one word, no scratch, no width roll, so the program stream is version 2's), the
/// mixer applied 4 times per round, and the cache growth rule. Name "mx4".
pub const MX4: LoadClass =
LoadClass { mix: [100, 0, 0], load_slots: LOAD_SLOTS as u8, scratch: None, scratch_kb: 0, mixer_mult: 4, growth: true, era: None, hot: None, derive_len: 0, shadow: None, state: false, wide8: false, fold: false, rw: 0, reg64: false, reg64_chain: false };
LoadClass { mix: [100, 0, 0], load_slots: LOAD_SLOTS as u8, scratch: None, scratch_kb: 0, mixer_mult: 4, growth: true, era: None, hot: None, derive_len: 0, shadow: None, state: false, wide8: false, fold: false, rw: 0, nowin: false, reg64: false, reg64_chain: false };
/// The era class over `base` (`docs/plans/era-layout.md`): the parameters drawn by [`era_draw`]; when `allowed`
/// has more than one width the drawn width becomes the class mix (every load that width), otherwise the base
@ -634,6 +639,21 @@ impl LoadClass {
LoadClass { rw, ..self }
}
/// D2 "layer 8 off": the class with the window-layer draw removed (every load site reads the whole dataset).
pub fn with_nowin(self) -> LoadClass {
LoadClass { nowin: true, ..self }
}
/// The class v6 object's draw rules (the external review of 8 October 2026, A02 and A08, fixed by construction for
/// every class carrying a v6 flag: the index fold, a re-weight table, the register window or layer 8 off): five
/// of the non-load slots are shuffles whose masks are the five lane dimensions 1, 2, 4, 8, 16 in a drawn order, so
/// every accepted program mixes all 32 lanes by construction; and a `mad` never names its destination as its
/// second source (`d = a * d + d` is `d * (a + 1)`, not a bijection in `d` when `a` is odd). Every other class
/// draws as before.
pub fn is_v6(&self) -> bool {
self.fold || self.rw != 0 || self.reg64 || self.nowin
}
/// The non-load op table this class draws from, in draw order, and its sum (the roll's range). The plain table
/// for every class without the re-weight flag, so their streams are byte for byte what they were.
pub fn nonload_weights(&self) -> (&'static [(Op, u64); 10], u64) {
@ -677,6 +697,10 @@ impl LoadClass {
pub fn parse(s: &str) -> Option<LoadClass> {
// class v6 lane 1: "<class>+fold" (the index fold) and "<class>+rw" / "<class>+rw2" (the re-weight table) over
// any class, in any order, outermost of all
// D2 "layer 8 off": "<class>+nowin" over any class, in any order with the other suffixes
if let Some(base) = s.strip_suffix("+nowin") {
return Some(LoadClass::parse(base)?.with_nowin());
}
if let Some(base) = s.strip_suffix("+fold") {
return Some(LoadClass::parse(base)?.with_fold());
}
@ -829,6 +853,10 @@ impl LoadClass {
if self.fold {
return format!("{}+fold", LoadClass { fold: false, ..*self }.name());
}
if self.nowin {
// D2 "layer 8 off": "+nowin" sits inside "+fold" and "+rw" and outside "+reg64" and "+state"
return format!("{}+nowin", LoadClass { nowin: false, ..*self }.name());
}
if self.reg64 {
// "<class>+reg64" / "+reg64c": the 64-register window is a suffix on any class, outermost
let base = LoadClass { reg64: false, reg64_chain: false, ..*self }.name();
@ -935,6 +963,10 @@ pub const GENERATOR_VERSION_V4: u32 = 4;
/// Generator version of a class v5 program (proof of stored state and of following, 7 October 2026, PROPOSED:
/// `program_id(5, seed, attempt)`; `docs/design/class-v5-stored-state.md`).
pub const GENERATOR_VERSION_V5: u32 = 5;
/// Class v6 (the Igneum 2.0 D1 object, 8 October 2026; review B's F03): the class v5 draw with the v6 rules (the index fold, the
/// re-weight table, the 64-register window with the full chain, the five shuffle dimensions and the mad operand rule by
/// construction, layer 8 off when the flag says so), generator 6.
pub const GENERATOR_VERSION_V6: u32 = 6;
/// The program class of an epoch (Counter ASIC 2.0, 5 October 2026, `docs/plans/counter-asic-2-rollout.md`): one
/// height switch in the node, `program_class_v3_activation_daa`, rounded up to an epoch boundary, decides which
@ -951,6 +983,8 @@ pub enum ProgramClass {
/// Class v5 (`docs/design/class-v5-stored-state.md`, behind `program_class_v5_activation_daa`): class v4's program
/// over a dataset whose every item is keyed by the window's execution state ([`V5_CLASS`]), generator 5.
V5,
/// Class v6 (the Igneum 2.0 D1 object; review B's F03, 8 October 2026): [`V6_CLASS`], generator 6.
V6,
}
/// The load class of program class v3, decided 5 October 2026 (Counter ASIC 2.0, `docs/plans/counter-asic-2-status.md`
@ -973,6 +1007,9 @@ pub const V4_CLASS: LoadClass = LoadClass { shadow: Some(ShadowClass { instrs: V
/// program draw, the shadow block, the era draw and the ladder rung are class v4's, draw for draw; only the item
/// derivation and the program id change.
pub const V5_CLASS: LoadClass = LoadClass { state: true, ..V4_CLASS };
/// The class v6 object ("mx8+sh256x27+state+reg64c+fold+rw"): class v5 with the index fold, the k lane's re-weight table
/// and the 64-register window with the full chain; layer 8 off is the fifth flag, drawn by the chain's family flags.
pub const V6_CLASS: LoadClass = LoadClass { fold: true, rw: 1, reg64: true, reg64_chain: true, ..V5_CLASS };
/// The shadow block size of class v4 at every rung of the latency ladder (`docs/design/latency-ladder.md`): 256
/// instructions. The ladder moves the pass count alone.
@ -1037,6 +1074,8 @@ pub fn era_generator_of(base: &LoadClass) -> u32 {
match ProgramClass::of_load_class(base) {
Some(ProgramClass::V4) => GENERATOR_VERSION_V4,
Some(ProgramClass::V5) => GENERATOR_VERSION_V5,
Some(ProgramClass::V6) => GENERATOR_VERSION_V6,
_ if base.is_v6() => GENERATOR_VERSION_V6,
_ if base.state => GENERATOR_VERSION_V5,
_ => GENERATOR_VERSION_V3,
}
@ -1067,6 +1106,7 @@ impl ProgramClass {
ProgramClass::V3 => V3_CLASS,
ProgramClass::V4 => V4_CLASS,
ProgramClass::V5 => V5_CLASS,
ProgramClass::V6 => V6_CLASS,
}
}
@ -1077,12 +1117,13 @@ impl ProgramClass {
ProgramClass::V3 => GENERATOR_VERSION_V3,
ProgramClass::V4 => GENERATOR_VERSION_V4,
ProgramClass::V5 => GENERATOR_VERSION_V5,
ProgramClass::V6 => GENERATOR_VERSION_V6,
}
}
/// Whether the class's dataset is keyed by the window's execution state (class v5).
pub fn has_state(&self) -> bool {
*self == ProgramClass::V5
matches!(self, ProgramClass::V5 | ProgramClass::V6)
}
/// The class of a generator version: 2, 3 and 4 are the three classes, anything else is no class this crate runs.
@ -1092,6 +1133,7 @@ impl ProgramClass {
GENERATOR_VERSION_V3 => Some(ProgramClass::V3),
GENERATOR_VERSION_V4 => Some(ProgramClass::V4),
GENERATOR_VERSION_V5 => Some(ProgramClass::V5),
GENERATOR_VERSION_V6 => Some(ProgramClass::V6),
_ => None,
}
}
@ -1103,6 +1145,7 @@ impl ProgramClass {
ProgramClass::V3 => "v3",
ProgramClass::V4 => "v4",
ProgramClass::V5 => "v5",
ProgramClass::V6 => "v6",
}
}
@ -1112,6 +1155,7 @@ impl ProgramClass {
"v3" => Some(ProgramClass::V3),
"v4" => Some(ProgramClass::V4),
"v5" => Some(ProgramClass::V5),
"v6" => Some(ProgramClass::V6),
_ => None,
}
}
@ -1125,6 +1169,7 @@ impl ProgramClass {
/// is v3, [`V4_CLASS`] is v4; a measurement class (a width, a derivation length, another shadow size) is none.
pub fn of_load_class(class: &LoadClass) -> Option<ProgramClass> {
let base = LoadClass { era: None, reg64: false, reg64_chain: false, ..*class };
let v6base = LoadClass { era: None, nowin: false, ..*class };
if base == LoadClass::V2 {
Some(ProgramClass::V2)
} else if base == V3_CLASS {
@ -1133,6 +1178,8 @@ impl ProgramClass {
Some(ProgramClass::V4)
} else if base == V5_CLASS {
Some(ProgramClass::V5)
} else if v6base == V6_CLASS {
Some(ProgramClass::V6)
} else {
None
}
@ -1194,9 +1241,25 @@ impl Program {
}
out
}
/// The drawn program's memory operations per nonce (16 load slots times the eight iterations on every class):
/// the count the acceptance rule and the draw's bookkeeping read (the acceptance judges the drawn program's
/// sites). The hash EXECUTES [`Program::loads_per_hash_executed`] of them, twice this under the 64-register
/// window; the served figures and the pack's headers name the executed count (review B's V6-02).
pub fn loads_per_hash(&self) -> usize {
self.instrs.iter().filter(|i| i.op.is_load()).count() * ITERATIONS
}
/// Memory operations the hash EXECUTES per nonce (review B's V6-02, 8 October 2026): the scheduled statements
/// (the drawn program's loads, twice under the 64-register window) times the eight iterations; asserted to
/// agree with the drawn count except by the window's factor of two. The emitters alone read it (program.h,
/// program.json): the acceptance reads the drawn count, so no verdict moves with the served figure (the first
/// form of this change, 0266c9ec0, routed the executed count into the acceptance and moved every reg64 verdict).
pub fn loads_per_hash_executed(&self) -> usize {
let drawn = self.loads_per_hash();
let executed = self.scheduled().iter().filter(|i| i.op.is_load()).count() * ITERATIONS;
assert!(executed == drawn || (self.class.reg64 && executed == 2 * drawn), "the executed load count {executed} disagrees with the drawn {drawn}");
executed
}
pub fn wide_loads_per_hash(&self) -> usize {
self.instrs.iter().filter(|i| i.op == Op::WLoad).count() * ITERATIONS
}
@ -1204,9 +1267,21 @@ impl Program {
self.instrs.iter().any(|i| i.op == Op::WLoad)
}
/// Dataset bytes read per hash: 4 per one-word load, 16 and 64 for the wider loads of the experiment.
/// Dataset bytes the drawn program's loads demand per nonce (the acceptance's and the draw's figure).
pub fn bytes_per_hash(&self) -> usize {
self.instrs.iter().filter(|i| i.op == Op::Load).map(|i| i.width as usize * 4).sum::<usize>() * ITERATIONS
}
/// Dataset bytes the hash's EXECUTED loads demand per nonce (review B's V6-02): the scheduled loads' widths in
/// words times 4, times the eight iterations; a demand figure, not the memory's transactions (a 4-byte load is
/// a 32-byte sector on NVIDIA and a 64-byte line on AMD; the served text names the model it quotes). The
/// emitters alone read it.
pub fn bytes_per_hash_executed(&self) -> usize {
let drawn = self.bytes_per_hash();
let executed = self.scheduled().iter().filter(|i| i.op == Op::Load).map(|i| i.width as usize * 4).sum::<usize>() * ITERATIONS;
assert!(executed == drawn || (self.class.reg64 && executed == 2 * drawn), "the executed byte demand {executed} disagrees with the drawn {drawn}");
executed
}
/// Scratch read-modify-writes per hash (variant 5): each reads 16 bytes and writes 16 bytes.
pub fn scratch_ops_per_hash(&self) -> usize {
self.instrs.iter().filter(|i| i.op == Op::Scratch).count() * ITERATIONS
@ -1328,6 +1403,7 @@ impl Program {
GENERATOR_VERSION_V3 => ProgramClass::V3,
GENERATOR_VERSION_V4 => ProgramClass::V4,
GENERATOR_VERSION_V5 => ProgramClass::V5,
GENERATOR_VERSION_V6 => ProgramClass::V6,
_ => ProgramClass::V2,
}
}
@ -1458,6 +1534,14 @@ pub fn program_id_class_recipe(generator: u32, seed: &[u32; 8], attempt: u32, cl
// class v6 lane 1: the index fold moves every era load address
r.lit(b"fold/");
}
if class.nowin {
// D2 "layer 8 off": the window layer is part of the construction
r.lit(b"nowin/");
}
if class.is_v6() {
// the v6 draw rules (A02 five shuffle dimensions, A08 the mad operand rule) are part of the construction
r.lit(b"v6draw/");
}
if class.rw != 0 {
// class v6 lane 1: the re-weight table moves the op draw
r.lit(b"rw/");
@ -1626,6 +1710,23 @@ pub fn candidate_from_words_class(
for &slot in &p[..slots] {
is_load[slot as usize] = true;
}
// class v6 (A02, by construction): five of the non-load slots are shuffles over the five lane dimensions in a
// drawn order; drawn from the stream after the load slots, so no other class's stream moves
let mut is_shfl = [false; INSTR_COUNT];
let mut shfl_masks = [1u8, 2, 4, 8, 16];
if class.is_v6() {
let rest = &mut p[slots..];
for i in 0..5 {
let j = i + rng.below((rest.len() - i) as u64) as usize;
rest.swap(i, j);
is_shfl[rest[i] as usize] = true;
}
for i in 0..5 {
let j = i + rng.below((5 - i) as u64) as usize;
shfl_masks.swap(i, j);
}
}
let mut shfl_next = 0usize;
// Variant 5: the first k drawn load slots (a uniform k-subset, the draw order is random) are scratch ops.
let mut is_scratch = [false; INSTR_COUNT];
for &slot in &p[..class.scratch_slots()] {
@ -1652,7 +1753,7 @@ pub fn candidate_from_words_class(
// class v6 lane 1: the index fold and the re-weight table are set aside too (the address path and the table are not
// the shape; a +fold or +rw program draws its sources under the same rule)
let source_rule_v4 = matches!(class.shadow, Some(ShadowClass { instrs: V4_SHADOW_INSTRS, .. }))
&& LoadClass { era: None, shadow: None, state: false, fold: false, rw: 0, ..class } == LoadClass { shadow: None, ..V4_CLASS };
&& LoadClass { era: None, shadow: None, state: false, fold: false, rw: 0, nowin: false, reg64: false, reg64_chain: false, mix: V4_CLASS.mix, ..class } == LoadClass { shadow: None, ..V4_CLASS };
// the op table and the roll's range: the plain table at 75 for every class without the re-weight flag
let (weights, weights_sum) = class.nonload_weights();
let mut fresh = [false; 8];
@ -1682,6 +1783,9 @@ pub fn candidate_from_words_class(
Op::Load
};
}
if is_shfl[k] {
op = Op::Shfl;
}
let dst = rng.below(8);
let src = if op.is_load() {
let mut eligible = [0u64; 8];
@ -1710,12 +1814,21 @@ pub fn candidate_from_words_class(
a
}
};
let b = rng.below(8);
let mut b = rng.below(8);
// class v6 (A08, by construction): a mad's second source is never its destination
if class.is_v6() && op == Op::Mad && b == dst {
b = (b + 1) & 7;
}
let imm = rng.next() as u32;
let imm2 = rng.next() as u32;
let rot = 1 + rng.below(31) as u32;
let bit = rng.below(32);
let mask = 1u8 << rng.below(5);
let mut mask = 1u8 << rng.below(5);
// class v6 (A02): the reserved shuffle slots take the five dimensions in the drawn order
if is_shfl[k] {
mask = shfl_masks[shfl_next];
shfl_next += 1;
}
// Version 2 loads take no width roll, so a mixer class with version 2 loads draws the version 2 program
let width = if class.takes_width_roll() { class.width_for_roll(rng.below(100)) } else { 1 };
let width = if op == Op::Load { width } else { 1 };
@ -1723,7 +1836,8 @@ pub fn candidate_from_words_class(
let (win, off) = if class.era.is_some() {
let k = rng.below(3) as u8;
let o = (rng.next() as u32 & ((1u32 << k) - 1)) as u8;
if op == Op::Load {
// D2 "layer 8 off": the draws are consumed (the stream is the class's) and every site reads the whole dataset
if op == Op::Load && !class.nowin {
(k, o)
} else {
(0, 0)
@ -1963,6 +2077,7 @@ pub fn generate_from_seed_bytes_program_class(seed_string: &str, seed_bytes: &[u
(ProgramClass::V3, Some(era)) => return generate_era(seed_string, seed_bytes, V3_CLASS, era, &V3_ALLOWED),
(ProgramClass::V4, Some(era)) => return generate_era_generator(seed_string, seed_bytes, V4_CLASS, era, &V3_ALLOWED, GENERATOR_VERSION_V4),
// Class v5: the same draw inside V5_CLASS (V4_CLASS plus the state flag, which the draw does not read), generator 5.
(ProgramClass::V6, Some(era)) => return generate_era_generator(seed_string, seed_bytes, V6_CLASS, era, &V3_ALLOWED, GENERATOR_VERSION_V6),
(ProgramClass::V5, Some(era)) => return generate_era_generator(seed_string, seed_bytes, V5_CLASS, era, &V3_ALLOWED, GENERATOR_VERSION_V5),
_ => {}
}
@ -1980,11 +2095,11 @@ pub fn generate_from_seed_bytes_program_class(seed_string: &str, seed_bytes: &[u
/// and class v4 at rung 0, is [`generate_from_seed_bytes_program_class`] byte for byte. The base program, the 16 loads
/// and the era draw do not move with the rung: only the pass count of the shadow block does.
pub fn generate_from_seed_bytes_program_class_shadow(seed_string: &str, seed_bytes: &[u8], class: ProgramClass, era_bytes: Option<&[u8]>, shadow_reps: u16) -> Program {
if !matches!(class, ProgramClass::V4 | ProgramClass::V5) || shadow_reps == 0 || shadow_reps == V4_SHADOW_REPS {
if !matches!(class, ProgramClass::V4 | ProgramClass::V5 | ProgramClass::V6) || shadow_reps == 0 || shadow_reps == V4_SHADOW_REPS {
return generate_from_seed_bytes_program_class(seed_string, seed_bytes, class, era_bytes);
}
// class v5 at a rung: class v4's rung with the state flag, generator 5
let (base, generator) = if class == ProgramClass::V5 { (v5_class_at(shadow_reps), GENERATOR_VERSION_V5) } else { (v4_class_at(shadow_reps), GENERATOR_VERSION_V4) };
let (base, generator) = if class == ProgramClass::V6 { (LoadClass { fold: true, rw: 1, reg64: true, reg64_chain: true, ..v5_class_at(shadow_reps) }, GENERATOR_VERSION_V6) } else if class == ProgramClass::V5 { (v5_class_at(shadow_reps), GENERATOR_VERSION_V5) } else { (v4_class_at(shadow_reps), GENERATOR_VERSION_V4) };
match era_bytes {
Some(era) => generate_era_generator(seed_string, seed_bytes, base, era, &V3_ALLOWED, generator),
None => {
@ -2330,14 +2445,15 @@ mod tests {
assert_eq!(v3.program_id(), program_id(GENERATOR_VERSION_V3, &v3.seed, v3.attempt));
assert_ne!(v3.program_id(), program_id(GENERATOR_VERSION, &v3.seed, v3.attempt));
assert_ne!(v3.program_id(), v2.program_id());
for c in [ProgramClass::V2, ProgramClass::V3, ProgramClass::V4, ProgramClass::V5] {
for c in [ProgramClass::V2, ProgramClass::V3, ProgramClass::V4, ProgramClass::V5, ProgramClass::V6] {
assert_eq!(ProgramClass::parse(c.name()), Some(c));
assert_eq!(ProgramClass::from_generator(c.generator_version()), Some(c));
assert_eq!(ProgramClass::from_u8(c.as_u8()), Some(c));
}
assert_eq!(ProgramClass::from_generator(1), None);
assert_eq!(ProgramClass::from_generator(6), None);
assert_eq!(ProgramClass::parse("v6"), None);
assert_eq!(ProgramClass::from_generator(6), Some(ProgramClass::V6), "class v6 is generator 6 (review B's F03, 8 October 2026)");
assert_eq!(ProgramClass::from_generator(7), None);
assert_eq!(ProgramClass::parse("v7"), None);
assert_eq!(ProgramClass::default(), ProgramClass::V2);
assert_eq!(ProgramClass::V2.load_class(), LoadClass::V2);
assert!(!ProgramClass::V2.has_era() && ProgramClass::V3.has_era() && ProgramClass::V4.has_era() && ProgramClass::V5.has_era());

View file

@ -122,7 +122,8 @@ fn usage() -> ! {
\x20 --era-widths 4[,16,32,64] the width set the era draws from, in bytes (default 4: pinned; more lets the era draw it; 32 only with the w32 class)\n\
\x20 --dataset-words N research class ds55: the dataset at N words (a multiple of 65,536 in 2^28 ..= 2^31; 1476395008 = 5.5 GiB); a non-power-of-two uses idx = (src * N) >> 32 in every load (spec 01 section 1.13.3), a power of two is --dataset-log2\n\\
\x20 --reg64 the 64-register window per lane over the class (research; the same as --class <class>+reg64; CUDA, OpenCL and Metal texts)\n\
\x20 --reg64-chain reg64 with the full-chain address mix: every load's address consumes all 64 registers (the same as --class <class>+reg64c)"
\x20 --reg64-chain reg64 with the full-chain address mix: every load's address consumes all 64 registers (the same as --class <class>+reg64c)\n\
\x20 --reg64-prefix export: the CUDA texts carry the reg64 chain in its closed prefix form (review B's F05; the same hash and vectors, a measurement text)"
);
std::process::exit(2)
}
@ -189,6 +190,7 @@ fn parse() -> Args {
a.reg64 = true;
a.reg64_chain = true;
}
"--reg64-prefix" => igneum_pow::emit::set_reg64_prefix(true),
_ => usage(),
}
}
@ -229,10 +231,29 @@ fn main() {
// gate G2 (5 October 2026, ported from branch ca2-era for the class v4 gate run): `--count N` prints
// "nonce hash" for N consecutive 64-bit nonces from --nonce, one epoch build, to re-hash a worker's
// found lines (the same prehash, target ff..ff)
for k in 0..a.count {
let n = a.nonce.wrapping_add(k);
println!("{n} {:016x}", e.hash_bound(&prehash, n));
// one warp per 32 nonces (the P01 campaign, 8 October 2026: a million nonces per pack in minutes, not
// hours; the per-nonce form hashed the whole aligned group for every nonce)
let end = a.nonce.wrapping_add(a.count);
let mut n = a.nonce;
let mut out = String::with_capacity(1 << 16);
use std::io::Write;
let stdout = std::io::stdout();
let mut lock = stdout.lock();
while n != end {
let base = n & !31;
let warp = e.hash_warp_bound(&prehash, base);
let mut m = n;
while m != end && (m & !31) == base {
out.push_str(&format!("{m} {:016x}\n", warp[(m & 31) as usize]));
m = m.wrapping_add(1);
}
n = m;
if out.len() > (1 << 15) {
lock.write_all(out.as_bytes()).unwrap();
out.clear();
}
}
lock.write_all(out.as_bytes()).unwrap();
return;
}
let init = igneum_pow::bind::block_init_words(&prehash, a.nonce);

View file

@ -199,14 +199,14 @@ pub fn verify_pack_texts_chain(
// carries IGNEUM_STATE_ROOT_HEX (and the shadow block of v4) and no other generator does.
let state_root_hex = define_str(program_h, "IGNEUM_STATE_ROOT_HEX");
match (class, state_root_hex.is_some()) {
(ProgramClass::V5, false) => return Err(PackFault::Disagree("IGNEUM_GENERATOR 5 (class v5) without IGNEUM_STATE_ROOT_HEX: not a class v5 pack".into())),
(ProgramClass::V5, true) => {}
(ProgramClass::V5 | ProgramClass::V6, false) => return Err(PackFault::Disagree("IGNEUM_GENERATOR 5 or 6 (a state class) without IGNEUM_STATE_ROOT_HEX: not a class v5 pack".into())),
(ProgramClass::V5 | ProgramClass::V6, true) => {}
(_, true) => return Err(PackFault::Disagree(format!("IGNEUM_GENERATOR {generator} with class v5 state lines: a program over state leaves is generator 5 (export the pack as class v5)"))),
_ => {}
}
match (class, shadow > 0) {
(ProgramClass::V4, false) => return Err(PackFault::Disagree("IGNEUM_GENERATOR 4 (class v4) without IGNEUM_SHADOW_INSTRS: not a class v4 pack".into())),
(ProgramClass::V5, false) => return Err(PackFault::Disagree("IGNEUM_GENERATOR 5 (class v5) without IGNEUM_SHADOW_INSTRS: not a class v5 pack".into())),
(ProgramClass::V5 | ProgramClass::V6, false) => return Err(PackFault::Disagree("IGNEUM_GENERATOR 5 or 6 (a state class) without IGNEUM_SHADOW_INSTRS: not a class v5 pack".into())),
// the class v4 stream sub-version (AP-F8-1 amendment, 7 October 2026): a generator 4 pack from before the
// load-source rule carries no IGNEUM_PROGRAM_SUBVERSION and its program id is another stream's; refused
(ProgramClass::V4, true) if define_u32(program_h, "IGNEUM_PROGRAM_SUBVERSION") != Some(u32::from(crate::generator::PROGRAM_SUBVERSION_V4)) => {

View file

@ -1172,3 +1172,91 @@ mod tests {
assert!(!e.verify_block(0, w[0] - 1));
}
}
/// Review B's F05 (8 October 2026): the reg64 full-chain address source in closed form. The reference fold
/// (`m = r[k0]; m = rotl(m, 1) ^ r[k1]; ...` over the 63 registers other than `s`, in index order) equals
/// `r[s] ^ ror(P_s, 1) ^ (S ^ P_s ^ a[s])` with `a[k] = rotl(r[k], (63 - k) mod 32)`, `S` the xor of every `a[k]`
/// and `P_s` the xor of `a[k]` for `k < s`: a prefix-xor structure answers every load from one `S` and one prefix,
/// which is the incremental form a chip would keep. The verifier keeps the fold as the definition; this form is the
/// test's and the fleet's measurement's.
pub fn reg64_address_source(r: &[u32; 64], s: usize) -> u32 {
let a = |k: usize| r[k].rotate_left(((63 - k) % 32) as u32);
let mut total = 0u32;
let mut prefix = 0u32;
for k in 0..64 {
total ^= a(k);
if k < s {
prefix ^= a(k);
}
}
r[s] ^ prefix.rotate_right(1) ^ (total ^ prefix ^ a(s))
}
/// The reference fold of [`reg64_address_source`] on one lane's registers, as `interpret_warp_core` computes it.
pub fn reg64_address_source_reference(r: &[u32; 64], s: usize) -> u32 {
let mut m = 0u32;
let mut started = false;
for (k, &v) in r.iter().enumerate() {
if k == s {
continue;
}
m = if started { m.rotate_left(1) ^ v } else { v };
started = true;
}
r[s] ^ m
}
#[cfg(test)]
mod reg64_mix_tests {
use super::*;
/// Review B's F05, known-failed first: a form with one rotation off (every term rotated as if it sat after the
/// source) disagrees with the reference on some source; the closed form agrees on every source register over
/// 256 register states drawn from a fixed stream and over the states a real program leaves in its registers.
#[test]
fn reg64_closed_form_equals_the_reference_fold_on_every_source() {
let wrong = |r: &[u32; 64], s: usize| -> u32 {
let a = |k: usize| r[k].rotate_left(((63 - k) % 32) as u32);
let total: u32 = (0..64).map(a).fold(0, |x, y| x ^ y);
r[s] ^ total ^ a(s)
};
let mut x = 0x9e37_79b9_7f4a_7c15u64;
let mut next = || {
x = x.wrapping_add(0x9e37_79b9_7f4a_7c15);
let mut z = x;
z = (z ^ (z >> 30)).wrapping_mul(0xbf58_476d_1ce4_e5b9);
z = (z ^ (z >> 27)).wrapping_mul(0x94d0_49bb_1331_11eb);
(z ^ (z >> 31)) as u32
};
let mut wrong_differs = false;
for _ in 0..256 {
let mut r = [0u32; 64];
for v in r.iter_mut() {
*v = next();
}
for s in 0..64 {
assert_eq!(reg64_address_source(&r, s), reg64_address_source_reference(&r, s), "source r{s}");
if wrong(&r, s) != reg64_address_source_reference(&r, s) {
wrong_differs = true;
}
}
}
assert!(wrong_differs, "the known-failed form must disagree somewhere");
// the init rule's registers (r0..r7 seeded, r[k] = r[k & 7] * 0x9e3779b9 + k) and a few real updates
let mut r = [0u32; 64];
for (k, v) in r.iter_mut().enumerate().take(8) {
*v = next() ^ (k as u32);
}
for k in 8..64 {
r[k] = r[k & 7].wrapping_mul(0x9e37_79b9).wrapping_add(k as u32);
}
for step in 0..64 {
let d = (step * 7 + 3) % 64;
r[d] = r[d].wrapping_mul(r[(d + 13) % 64]).wrapping_add(next());
for s in 0..64 {
assert_eq!(reg64_address_source(&r, s), reg64_address_source_reference(&r, s), "step {step} source r{s}");
}
}
}
}

View file

@ -68,8 +68,11 @@ fn power_of_two_path_is_byte_identical_to_the_pinned_pack() {
assert!(!e.dataset.geom.mulshift);
assert_eq!(e.dataset.geom, DatasetGeom::pow2(28));
let out = export_pack(e, &day_label(), SOURCE);
assert_eq!(out.files.len(), 12, "the pack's twelve files");
assert_eq!(out.files.len(), 13, "the pack's thirteen files");
for (name, text) in &out.files {
if name == "identity.json" {
continue; // A06's identity file is new beside the pinned twelve
}
let want = pinned(name);
assert!(text == &want, "mx8-devnet-epoch0/{name} differs from the default path's export");
}
@ -219,7 +222,7 @@ fn ds55_pack_fields_and_vectors() {
assert_eq!(e.program.seed[0], 0x667d_0fbd);
assert_eq!(e.program.seed[1], 0x7b8e_5963);
let out = export_pack(e, &day_label(), SOURCE);
assert_eq!(out.files.len(), 12);
assert_eq!(out.files.len(), 13);
let pj = &out.files.iter().find(|(n, _)| n == "program.json").unwrap().1;
let j: Value = serde_json::from_str(pj).expect("program.json is valid JSON");
assert_eq!(j["program_id"].as_str().unwrap(), "0x73bcbfe8ccf988f1");

View file

@ -0,0 +1,132 @@
//! POW-01 and POW-02's malformed-input half (the Test and Acceptance Standard, 8 October 2026): 10,000 mutated inputs
//! per parser, every one refused cleanly or accepted, never a panic. The parsers: the class string (`LoadClass::parse`,
//! `ProgramClass::parse`), the hex reader (`bind::unhex`), the IGSD1 state stream (`StateStream::decode`), the era
//! string form (`"<n>:<64 hex>"`, the exporter's `parse_era` re-stated here since main.rs keeps it private). The
//! mutations: byte flips, truncation, insertion, duplication and random bytes over a valid seed input, drawn from a
//! fixed SplitMix64 so the run is reproducible; a panic in any parser fails the test (the harness catches none).
use igneum_pow::bind::unhex;
use igneum_pow::generator::{LoadClass, ProgramClass};
use igneum_pow::state::StateStream;
struct Rng(u64);
impl Rng {
fn next(&mut self) -> u64 {
self.0 = self.0.wrapping_add(0x9e3779b97f4a7c15);
let mut z = self.0;
z = (z ^ (z >> 30)).wrapping_mul(0xbf58476d1ce4e5b9);
z = (z ^ (z >> 27)).wrapping_mul(0x94d049bb133111eb);
z ^ (z >> 31)
}
fn below(&mut self, n: usize) -> usize {
(self.next() % (n.max(1) as u64)) as usize
}
}
/// One mutation of `seed`: a flipped byte, a truncation, an insertion, a doubled slice, or random bytes of a random length.
fn mutate(rng: &mut Rng, seed: &[u8]) -> Vec<u8> {
let mut v = seed.to_vec();
match rng.below(6) {
0 => {
if !v.is_empty() {
let i = rng.below(v.len());
v[i] ^= 1 << rng.below(8);
}
}
1 => {
let n = rng.below(v.len() + 1);
v.truncate(n);
}
2 => {
let i = rng.below(v.len() + 1);
v.insert(i, rng.next() as u8);
}
3 => {
if v.len() > 1 {
let a = rng.below(v.len());
let b = a + rng.below(v.len() - a);
let slice = v[a..b].to_vec();
v.splice(a..a, slice);
}
}
4 => {
let n = rng.below(300);
v = (0..n).map(|_| rng.next() as u8).collect();
}
_ => {
if !v.is_empty() {
let i = rng.below(v.len());
v[i] = rng.next() as u8;
}
}
}
v
}
const N: usize = 10_000;
#[test]
fn class_strings_never_panic() {
let seeds = ["mx8+sh256x27+state+reg64c+fold+rw", "mx8+sh256x27+state+nowin", "w32m8g-erad810f22d+sh256x27+state", "v2", "mix50-35-15", "scr4k32+hot64k4a", "mx4", "p4,p16,p64", "w64x4", "mx8+rw2"];
let mut rng = Rng(1);
let (mut some, mut none) = (0, 0);
for k in 0..N {
let s = mutate(&mut rng, seeds[k % seeds.len()].as_bytes());
let text = String::from_utf8_lossy(&s);
match LoadClass::parse(&text) {
Some(c) => {
// an accepted string names back to something the parser accepts again
assert!(LoadClass::parse(&c.name()).is_some(), "{text:?} -> {} does not re-parse", c.name());
some += 1;
}
None => none += 1,
}
let _ = ProgramClass::parse(&text);
}
println!("class strings: {some} accepted, {none} refused of {N}");
assert!(none > N / 2, "the mutations refuse at least half");
}
#[test]
fn hex_and_era_strings_never_panic() {
let hex = "edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07";
let mut rng = Rng(2);
let mut refused = 0;
for _ in 0..N {
let s = mutate(&mut rng, hex.as_bytes());
let text = String::from_utf8_lossy(&s);
if unhex(&text).is_none() {
refused += 1;
}
// the era string "<n>:<64 hex>" as the exporter reads it
let era = format!("{}:{}", rng.below(1000), text);
let parsed = era.split_once(':').and_then(|(n, h)| n.parse::<u64>().ok().zip(unhex(h))).filter(|(_, b)| b.len() == 32);
if let Some((_, b)) = parsed {
assert_eq!(b.len(), 32);
}
}
println!("hex strings: {refused} refused of {N}");
assert!(refused > 0);
}
#[test]
fn state_streams_never_panic() {
// a small valid stream: three records under a fixed root and block
let stream = StateStream { number: 159357, block: [7u8; 32], root: [9u8; 32], records: vec![vec![1, 2, 3], vec![], (0..200u8).collect()] };
let valid = stream.encode();
assert_eq!(StateStream::decode(&valid).map(|s| s.records.len()), Ok(3));
let mut rng = Rng(3);
let (mut ok, mut err) = (0, 0);
for _ in 0..N {
let bytes = mutate(&mut rng, &valid);
match StateStream::decode(&bytes) {
Ok(s) => {
// an accepted stream re-encodes to the bytes it was read from
assert_eq!(s.encode(), bytes, "an accepted stream must round-trip");
ok += 1;
}
Err(_) => err += 1,
}
}
println!("state streams: {ok} accepted, {err} refused of {N}");
assert!(err > N / 2);
}

View file

@ -347,8 +347,8 @@ fn determinism_v3() {
};
println!("determinism {}: two builds equal, against the pinned pack {}", class.name(), dir.display());
for (name, text) in &pa.files {
if name == "vectors.json" || name == "vectors.h" {
continue; // the source string differs ("a" here)
if name == "vectors.json" || name == "vectors.h" || name == "identity.json" {
continue; // the source string differs ("a" here); identity.json is new beside the pinned twelve (A06)
}
let on_disk = std::fs::read_to_string(dir.join(name)).unwrap();
assert_eq!(&on_disk, text, "{name}");

View file

@ -433,7 +433,9 @@ fn check_export(pack: &str) {
if e.dataset.mode() == DatasetMode::MemoryHard {
expected.extend(["memhard.h", "memhard.metal"]);
}
assert_eq!(out.files.iter().map(|(n, _)| n.as_str()).collect::<Vec<_>>(), expected);
let mut with_identity: Vec<&str> = expected.clone();
with_identity.insert(1, "identity.json");
assert_eq!(out.files.iter().map(|(n, _)| n.as_str()).collect::<Vec<_>>(), with_identity);
let mut on_disk: Vec<String> = std::fs::read_dir(pack_dir(pack))
.unwrap()
.map(|d| d.unwrap().file_name().to_string_lossy().to_string())
@ -646,6 +648,9 @@ fn era_emitted_sources_match_and_loads_have_the_era_form() {
let source = era_json(pack, "vectors.json")["source"].as_str().unwrap().to_string();
let out = export_pack(e, &day, &source);
for (name, text) in &out.files {
if name == "identity.json" {
continue; // A06's identity file is new beside the pinned files
}
let want = era_read(pack, name);
assert!(text == &want, "{pack}/{name} differs from the emitter");
}
@ -655,7 +660,7 @@ fn era_emitted_sources_match_and_loads_have_the_era_form() {
.filter(|n| !n.starts_with('.') && n != "seeds.txt")
.collect();
on_disk.sort();
let mut want: Vec<String> = out.files.iter().map(|(n, _)| n.clone()).collect();
let mut want: Vec<String> = out.files.iter().map(|(n, _)| n.clone()).filter(|n| n != "identity.json").collect();
want.sort();
assert_eq!(on_disk, want, "{pack}: the pack holds the export's files and seeds.txt only");
let era = e.program.class.era.unwrap();
@ -869,7 +874,7 @@ fn hot_packs_emitted_sources_and_load_forms() {
let file = |name: &str| -> &str { &out.files.iter().find(|(n, _)| n == name).unwrap().1 };
hassert_same_text(pack, "vectors.json", file("vectors.json"));
hassert_same_text(pack, "vectors.h", file("vectors.h"));
assert_eq!(out.files.len(), 12);
assert_eq!(out.files.len(), 13);
// One form per dialect, exactly 16 - k masked dataset loads and k hot loads in every hash kernel; the fill
// kernel is present once per source that builds the table.
for (file, load, masked, hot) in [
@ -974,6 +979,9 @@ fn v5_pack_is_the_v4_program_over_the_state_leaves() {
let v = v5_json(pack, "vectors.json");
let out = export_pack(e, v["day"].as_str().unwrap(), v["source"].as_str().unwrap());
for (name, text) in &out.files {
if name == "identity.json" {
continue; // A06's identity file is new beside the pinned files
}
assert_eq!(v5_read(pack, name), *text, "{pack}/{name} differs from the export");
}
for (name, bytes) in &out.binaries {
@ -1032,8 +1040,11 @@ fn reg64_plain_path_reexports_the_pinned_devnet_pack_unchanged() {
assert_eq!(e.program.registers(), 8);
assert_eq!(e.program.scheduled(), e.program.instrs, "without the flag the schedule is the drawn program");
let out = export_pack(e, &day_label(pack), PINNED_SOURCE);
assert_eq!(out.files.len(), 12);
assert_eq!(out.files.len(), 13);
for (name, text) in &out.files {
if name == "identity.json" {
continue; // A06's identity file is new beside the pinned twelve
}
assert_same_text(pack, name, text);
}
}
@ -1222,4 +1233,64 @@ fn reg64_liveness_rule_refuses_the_subset_fold_and_passes_the_full_chain() {
let mut chain = epoch_reg64_of_devnet();
chain.program.class = chain.program.class.with_reg64_chain();
assert_eq!(check_window_liveness(&chain.program), Ok(()), "the full chain keeps all 64 registers live across the chain");
// wired into the acceptance (8 October 2026): `accept::check` refuses the arithmetic-only window as a dead register
// and never refuses the chain program for liveness; the plain pack's verdict does not move
use igneum_pow::accept::check;
assert!(matches!(check(&window.program), Err(Reject::DeadWindowRegister { .. })), "the acceptance refuses the arithmetic-only window");
assert!(!matches!(check(&chain.program), Err(Reject::DeadWindowRegister { .. }) | Err(Reject::NotAWindow)), "the chain program is never refused for liveness");
assert!(check(&plain.program).is_ok(), "the pinned devnet program's verdict does not move");
}
/// The external review's A07 (8 October 2026): the bound hash of a nonce is the lane of the aligned 32-nonce group that
/// contains it, in the verifier by construction (`Epoch::hash_bound`), across the group's tail and the low-32 rollover;
/// the high 32 bits of the nonce enter the init words, so two nonces 2^32 apart never share a hash. The launchers
/// refuse a job whose nonce_start is not 32-aligned or whose count is not a multiple of 32 (worker.cpp's job line).
#[test]
fn a07_bound_hash_is_group_aligned_across_tails_and_rollover() {
use igneum_pow::bind::block_init_words;
let e = epoch("mx8-devnet-epoch0");
let prehash = [0x5au8; 32];
for &n in &[0u64, 1, 2, 31, 32, 33, 63, (1u64 << 32) - 1, 1u64 << 32, (1u64 << 32) + 1, u64::MAX - 1, u64::MAX] {
let base = n & !31;
let warp = e.hash_warp_bound(&prehash, base);
assert_eq!(e.hash_bound(&prehash, n), warp[(n & 31) as usize], "nonce {n}: the lane of its aligned group");
assert_eq!(e.hash_warp_bound(&prehash, n), warp, "nonce {n}: the group is the same from any of its nonces");
let distinct: std::collections::HashSet<u64> = warp.iter().copied().collect();
assert!(distinct.len() >= 31, "nonce {n}: the lanes of a group are distinct hashes");
}
assert_ne!(e.hash_bound(&prehash, 2), e.hash_bound(&prehash, 2 + (1u64 << 32)), "the high 32 bits reach the hash");
assert_ne!(block_init_words(&prehash, 2), block_init_words(&prehash, 2 + (1u64 << 32)));
}
/// The external review's A04 (8 October 2026): the acceptance executes the shadow block as the hash does (class v4
/// sub-version 3), so a shadow that zeroes the registers fails acceptance; the pinned program with its own shadow passes.
#[test]
fn a04_a_zeroing_shadow_fails_acceptance() {
use igneum_pow::accept::check;
// a class v4 program (the shadow block is class v4's): the same seed and era as the lib's program_classes test
let era = [7u8; 32];
let p = generate_from_seed_bytes_program_class("igneum-genesis", b"igneum-genesis", ProgramClass::V4, Some(&era));
assert!(check(&p).is_ok(), "the class v4 program of the genesis seed passes");
let mut z = p.clone();
assert!(!z.shadow.is_empty(), "class v4 has a shadow block");
for ins in z.shadow.iter_mut() {
ins.op = Op::Xor;
ins.src = ins.dst;
}
assert!(check(&z).is_err(), "a shadow of xor d, d zeroes every register it touches and must fail");
}
/// The external review's A06 (8 October 2026): the pack's identity.json authenticates every kernel text by BLAKE2b-256.
#[test]
fn a06_program_json_hashes_every_kernel_text() {
let e = epoch("mx8-devnet-epoch0");
let out = export_pack(&e, &day_label("mx8-devnet-epoch0"), "test");
let file = |n: &str| out.files.iter().find(|(f, _)| f == n).map(|(_, t)| t.clone()).unwrap();
let j: Value = serde_json::from_str(&file("identity.json")).unwrap();
let h = j["kernel_blake2b256"].as_object().expect("kernel_blake2b256");
assert_eq!(j["program_id"].as_str().unwrap(), format!("{:#018x}", e.program.program_id()));
for n in ["kernel.cu", "kernel.cl", "program.metal", "program_bound.metal", "kernel_bound.cu", "kernel_bound.cl"] {
let want: String = igneum_pow::blake2b::blake2b_256(&[file(n).as_bytes()]).iter().map(|x| format!("{x:02x}")).collect();
assert_eq!(h[n].as_str().unwrap(), want, "{n}");
}
}

View file

@ -8,7 +8,7 @@ use igneum_pow::accept::{index_bit_sigma, index_bit_sigma_max, ACCEPT_UNITS_DIST
use igneum_pow::emit::export_pack;
use igneum_pow::generator::{
candidate_class, generate_era_generator, LoadClass, Op, Program, ProgramClass, EraParams, INSTR_COUNT, NONLOAD_WEIGHTS,
NONLOAD_WEIGHTS_RW, NONLOAD_WEIGHTS_RW2, NONLOAD_WEIGHTS_RW2_SUM, NONLOAD_WEIGHTS_RW_SUM, V3_ALLOWED, V4_CLASS, V5_CLASS,
NONLOAD_WEIGHTS_RW, NONLOAD_WEIGHTS_RW2, NONLOAD_WEIGHTS_RW2_SUM, NONLOAD_WEIGHTS_RW_SUM, V3_ALLOWED, V3_CLASS, V4_CLASS, V5_CLASS,
};
use igneum_pow::seed::seed_words_from_bytes;
use igneum_pow::verify::{load_index, stride, DatasetGeom, Epoch, INDEX_FOLD_SHIFT};
@ -182,6 +182,123 @@ fn class_v6_all_flags_parse_name_and_id() {
assert!(p.class.era.unwrap().fold);
}
/// 1c. D2 "layer 8 off" (8 October 2026): "+nowin" parses in any order and names back inside "+fold"/"+rw"; the draw
/// keeps every instruction of the class without the flag and sets every load site's window to the whole dataset;
/// the id moves; the era and the stride do not.
#[test]
fn nowin_removes_the_window_layer_and_nothing_else() {
let c = LoadClass::parse("mx8+sh256x27+state+nowin+fold+rw").unwrap();
assert!(c.nowin && c.fold && c.rw == 1 && c.state);
assert_eq!(c.name(), "mx8+sh256x27+state+nowin+fold+rw");
assert_eq!(LoadClass::parse("mx8+sh256x27+state+fold+rw+nowin"), Some(c));
assert_eq!(LoadClass::parse("mx8+sh256x27+state+reg64c+nowin").unwrap().name(), "mx8+sh256x27+state+reg64c+nowin");
assert!(!V5_CLASS.nowin);
let era = f8_bytes("era", 4);
let seed = f8_bytes("program", 4);
// both sides of the pair draw under the v6 rules (the five shuffle slots and the mad operand rule enter the
// stream for every class with a v6 flag), so the pair is the fold class with and without layer 8 off
let plain = candidate_class("p4-attack-f8", &seed, 0, LoadClass::era(V5_CLASS.with_fold(), &era, &V3_ALLOWED));
let off = candidate_class("p4-attack-f8", &seed, 0, LoadClass::era(V5_CLASS.with_fold().with_nowin(), &era, &V3_ALLOWED));
assert_ne!(plain.program_id(), off.program_id(), "the id carries the flag");
assert_eq!(plain.instrs.len(), off.instrs.len());
let mut windows_plain = 0;
for (a, b) in plain.instrs.iter().zip(off.instrs.iter()) {
assert_eq!((a.op, a.dst, a.src, a.src2, a.imm, a.imm2, a.rot, a.bit, a.mask, a.width), (b.op, b.dst, b.src, b.src2, b.imm, b.imm2, b.rot, b.bit, b.mask, b.width), "the instruction is the class's without the flag");
assert_eq!((b.win, b.off), (0, 0), "every site reads the whole dataset");
if a.win != 0 {
windows_plain += 1;
}
}
assert!(windows_plain > 0, "the plain draw has at least one shrunk window on this seed");
assert_eq!(plain.shadow, off.shadow);
assert_eq!(plain.class.era.map(|e| EraParams { fold: e.fold, ..e }), off.class.era.map(|e| EraParams { fold: e.fold, ..e }), "the era draw is untouched");
}
/// The external review's A02 and A08 (8 October 2026), fixed by construction for every class carrying a v6 flag:
/// every candidate of 64 seeds (attempt 0, no acceptance pass) carries shuffles over all five lane dimensions, and no
/// `mad` names its destination as its second source; the plain class v5 draw is untouched (the pinned pack test
/// reads that); the v6 draw's id carries the rule.
#[test]
fn v6_draw_connects_all_lanes_and_keeps_mad_bijective_by_construction() {
let era = f8_bytes("era", 4);
let classes = [V5_CLASS.with_fold(), V5_CLASS.with_rw(1), V5_CLASS.with_nowin(), LoadClass::parse("mx8+sh256x27+state+reg64c+fold+rw").unwrap()];
for c in classes {
assert!(c.is_v6());
for k in 0..64u32 {
let seed = f8_bytes("program", k);
let p = candidate_class("p-a02", &seed, 0, LoadClass::era(c, &era, &V3_ALLOWED));
let mut dims = [false; 5];
for ins in &p.instrs {
if ins.op == Op::Shfl {
dims[ins.mask.trailing_zeros() as usize] = true;
}
if ins.op == Op::Mad {
assert_ne!(ins.src2, ins.dst, "seed {k} class {}: a mad with src2 == dst", c.name());
}
}
assert!(dims.iter().all(|&d| d), "seed {k} class {}: shuffle dimensions {:?}", c.name(), dims);
assert_eq!(p.instrs.len(), 64);
assert_eq!(p.instrs.iter().filter(|i| i.op.is_load()).count(), 16, "the load slots are the class's");
}
}
assert!(!V5_CLASS.is_v6() && !V3_CLASS.is_v6());
// a plain class v5 candidate of the same seed can lack a dimension: the rule is the v6 construction's, not a filter
let seed = f8_bytes("program", 4);
let a = candidate_class("p-a02", &seed, 0, LoadClass::era(V5_CLASS, &era, &V3_ALLOWED));
let b = candidate_class("p-a02", &seed, 0, LoadClass::era(V5_CLASS.with_fold(), &era, &V3_ALLOWED));
assert_ne!(a.program_id(), b.program_id());
}
/// Lane D's finding (8 October 2026): every class v6 flag is set aside by the acceptance's class v4 shape predicate,
/// so a +nowin, +reg64 or +reg64c program is judged by the full rule (the fresh-source rule, the saturated-source
/// check, the index floors and the attempt cap with the last resort), not by the class v2 parts; the draw's source
/// rule reads the same shape.
#[test]
fn every_v6_flag_keeps_the_class_v4_acceptance_shape() {
use igneum_pow::accept::is_class_v4_shape;
use igneum_pow::generator::max_attempts_for;
let all = LoadClass::parse("mx8+sh256x27+state+reg64c+nowin+fold+rw").unwrap();
for c in [V5_CLASS, V5_CLASS.with_nowin(), V5_CLASS.with_reg64(), V5_CLASS.with_reg64().with_reg64_chain(), V5_CLASS.with_fold(), all] {
assert!(is_class_v4_shape(&c), "{}", c.name());
assert!(is_class_v4_shape(&LoadClass::era(c, &f8_bytes("era", 4), &V3_ALLOWED)), "{} under an era", c.name());
assert_eq!(max_attempts_for(&c), max_attempts_for(&V5_CLASS), "{}: the same attempt cap and last resort", c.name());
}
assert!(!is_class_v4_shape(&V3_CLASS) && !is_class_v4_shape(&LoadClass::V2));
// lane D's second finding: an era drawn from a width set with more than one width writes the drawn width into
// `mix`; the shape (and so the full rule) must hold at every width of the family
let wide = LoadClass::era(V5_CLASS, &f8_bytes("era", 4), &[1u8, 4, 16]);
assert!(wide.era.is_some());
assert!(is_class_v4_shape(&wide), "{} (mix {:?})", wide.name(), wide.mix);
assert!(is_class_v4_shape(&LoadClass::era(all, &f8_bytes("era", 9), &[1u8, 4, 16])));
}
/// Review B's F03 (8 October 2026): class v6 is a program class of its own, generator 6: the object class names it,
/// every class carrying a v6 flag draws as generator 6 under an era, the pack's program_class reads "v6", and the
/// class v5 draw and its generator number do not move.
#[test]
fn program_class_v6_is_generator_6() {
use igneum_pow::generator::{era_generator_of, GENERATOR_VERSION_V5, GENERATOR_VERSION_V6, V6_CLASS};
assert_eq!(ProgramClass::parse("v6"), Some(ProgramClass::V6));
assert_eq!(ProgramClass::V6.name(), "v6");
assert_eq!(ProgramClass::V6.generator_version(), GENERATOR_VERSION_V6);
assert_eq!(ProgramClass::from_generator(6), Some(ProgramClass::V6));
assert!(ProgramClass::V6.has_state());
assert_eq!(ProgramClass::V6.load_class(), V6_CLASS);
assert_eq!(V6_CLASS.name(), "mx8+sh256x27+state+reg64c+fold+rw");
assert_eq!(ProgramClass::of_load_class(&V6_CLASS), Some(ProgramClass::V6));
assert_eq!(ProgramClass::of_load_class(&V6_CLASS.with_nowin()), Some(ProgramClass::V6));
assert_eq!(ProgramClass::of_load_class(&V5_CLASS), Some(ProgramClass::V5));
let era = f8_bytes("era", 4);
for c in [V6_CLASS, V6_CLASS.with_nowin(), V5_CLASS.with_fold(), V5_CLASS.with_rw(1), V5_CLASS.with_nowin()] {
assert_eq!(era_generator_of(&LoadClass::era(c, &era, &V3_ALLOWED)), GENERATOR_VERSION_V6, "{}", c.name());
}
assert_eq!(era_generator_of(&LoadClass::era(V5_CLASS, &era, &V3_ALLOWED)), GENERATOR_VERSION_V5);
let seed = f8_bytes("program", 4);
let p = candidate_class("p-f03", &seed, 0, LoadClass::era(V6_CLASS, &era, &V3_ALLOWED));
assert!(p.class.name().starts_with("mx8-era") && p.class.name().ends_with("+sh256x27+state+reg64c+fold+rw"), "{}", p.class.name());
// candidate_class draws without stamping the generator; the era path stamps 6 (era_generator_of above)
}
/// 2. The fold's form: `y = x * M; y ^= y >> 16; y = rotl(y, R)`, and nothing else moves. The plain era's stride is
/// `rotl(x * M, R)` byte for byte.
#[test]
@ -201,14 +318,18 @@ fn fold_form_and_the_plain_stride_unchanged() {
assert!(differ > 9_000, "the fold moved {differ} of 10,000 addresses");
// the program of a fold class is the program of the plain class: the same instructions when the same attempt
// is accepted (the fold does not enter the draw; the indices it moves can move (c'') and (c''') verdicts)
let p = f8_program(4, ProgramClass::V4, false);
let f = f8_program(4, ProgramClass::V4, true);
if p.attempt == f.attempt {
assert_eq!(p.instrs, f.instrs);
assert_eq!(p.shadow, f.shadow);
}
assert_eq!(f.class.name(), format!("{}+fold", p.class.name()));
// since the review's draw rules (8 October 2026) a fold class draws under the v6 rules, so the pair is the v6
// re-weight class with and without the fold: the same instructions, the fold moving the addresses alone
let era = f8_bytes("era", 4);
let seed = f8_bytes("program", 4);
let p = candidate_class("p4-attack-f8", &seed, 0, LoadClass::era(V5_CLASS.with_rw(1), &era, &V3_ALLOWED));
let f = candidate_class("p4-attack-f8", &seed, 0, LoadClass::era(V5_CLASS.with_rw(1).with_fold(), &era, &V3_ALLOWED));
assert_eq!(p.instrs, f.instrs);
assert_eq!(p.shadow, f.shadow);
assert_ne!(p.program_id(), f.program_id());
// the name orders the fold inside the re-weight suffix ("...+state+fold+rw"); both spellings parse to the class
assert!(f.class.name().ends_with("+sh256x27+state+fold+rw"), "{}", f.class.name());
assert_eq!(LoadClass::parse("mx8+sh256x27+state+rw+fold"), Some(V5_CLASS.with_rw(1).with_fold()));
// and load_index reads the fold through the era
let ins = p.instrs.iter().find(|i| i.op == Op::Load).unwrap();
let (pe, fe) = (p.class.era.unwrap(), f.class.era.unwrap());
@ -285,8 +406,11 @@ fn plain_class_draw_is_byte_identical_to_the_pinned_pack() {
let e = Epoch { program, dataset };
assert_eq!(e.program.program_id(), PINNED_ID);
let out = export_pack(&e, &format!("bytes:{DAY_HEX}"), SOURCE);
assert_eq!(out.files.len(), 12, "the pack's twelve files");
assert_eq!(out.files.len(), 13, "the pack's thirteen files");
for (name, text) in &out.files {
if name == "identity.json" {
continue; // A06's identity file is new beside the pinned twelve
}
let want = pinned(name);
assert!(text == &want, "mx8-devnet-epoch0/{name} differs from the default path's export");
}

View file

@ -53,7 +53,7 @@ TOKEN_FILE="$HOME/.config/igneum/dl-token"
SIGNER="$ROOT/app/igneum-app/target/release/igneum-ota-sign"
PRODUCT="app"
VERSION="" MAC="" WIN="" NOTES="" ACTIVATION="" DEADLINE="" MIN_SUPPORTED="" CHANNEL="devnet" BASE="" DEST="" DEPLOY=0 VERIFY_ONLY=0 TRIES=12
RELEASE_SHA="" CANARY_GUARD_SELF_TEST=0 VERSION="" MAC="" WIN="" NOTES="" ACTIVATION="" DEADLINE="" MIN_SUPPORTED="" CHANNEL="devnet" BASE="" DEST="" DEPLOY=0 VERIFY_ONLY=0 TRIES=12
NODE_BIN="" NET_DIGEST="" MOVE_CLOCK="" DIGEST_GUARD_SELF_TEST=0
OVERRIDE="" TUNING_FILE="" NO_TUNING=0 PUBLIC=0
while [ $# -gt 0 ]; do
@ -83,6 +83,8 @@ while [ $# -gt 0 ]; do
--network-digest) NET_DIGEST="$2"; shift 2 ;; # the network's CURRENT digest (a 64-hex, or "log:<file or journal:unit>[@user@host]" read by tools/digest-read.sh on the hub)
--move-clock) MOVE_CLOCK="$2"; shift 2 ;; # "HH:MM UTC, <reason>": the move's clock, when the entry's digest differs by design; logged in the notes
--self-test-digest-guard) DIGEST_GUARD_SELF_TEST=1; shift ;;
--release-sha) RELEASE_SHA="$2"; shift 2 ;; # rule 33 (8 Oct 2026): the release tip's commit; its fresh-install canary record must read PASS (tools/ci/canary-check.sh)
--self-test-canary-guard) CANARY_GUARD_SELF_TEST=1; shift ;;
*) echo "unknown argument: $1" >&2; exit 2 ;;
esac
done
@ -109,6 +111,47 @@ if [ "$DIGEST_GUARD_SELF_TEST" = 1 ]; then
echo "digest guard self-test: a differing digest is refused without a move clock and accepted with one; an equal digest passes; the digest reader parses"
exit 0
fi
# Rule 33 (the founder, 8 October 2026, 21:3x UK, "no more lost time"): a release entry may not publish without a fresh-install
# canary record for its sha (install from the artefact on a non-AVX-512 box with an empty datadir, genesis to tip, five minutes
# mining with zero refusals and an accepted block, one shard claimed, proved and paid or queued, a bounded quit, every line read
# back): tools/ci/canary/<sha>.json read by tools/ci/canary-check.sh. A write to a real downloads folder needs --release-sha and a
# PASS record; a loopback --base-url test write and --verify-only do not publish and are not gated.
canary_guard() { # <release sha> [kind ...] -> 0 pass (the lines printed), 1 refused; a kind (mac, windows) asks for that entry's own artefact block
local sha="$1"; shift; local k
[ -n "$sha" ] || { echo "canary guard: REFUSED: a release entry needs --release-sha <release tip commit> with a fresh-install canary record (rule 33; tools/ci/canary-check.sh --form)"; return 1; }
if [ $# -eq 0 ]; then bash "$TOOLS/ci/canary-check.sh" "$sha" || { echo "canary guard: REFUSED: the entry's sha ${sha:0:12} has no PASS fresh-install canary record (rule 33)"; return 1; }; return 0; fi
for k in "$@"; do bash "$TOOLS/ci/canary-check.sh" "$sha" --artefact "$k" || { echo "canary guard: REFUSED: the $k entry's sha ${sha:0:12} has no PASS fresh-install canary record for its own artefact (rule 33)"; return 1; }; done
}
if [ "$CANARY_GUARD_SELF_TEST" = 1 ]; then
bash "$TOOLS/ci/canary-check.sh" --self-test >/dev/null || exit 1
d=$(mktemp -d); trap 'rm -rf "$d"' EXIT; S=0123456789abcdef0123456789abcdef01234567
canary_guard "" >/dev/null 2>&1 && { echo "canary guard self-test: FAIL: an entry with no --release-sha was accepted"; exit 1; }
CANARY_DIR="$d" canary_guard "$S" >/dev/null 2>&1 && { echo "canary guard self-test: FAIL: a sha with no record was accepted"; exit 1; }
bash "$TOOLS/ci/canary-check.sh" --form | python3 -c "
import json,sys; r=json.load(sys.stdin); r['sha']='$S'; r['artefact']['sha256']='ab'*32; r['box']={'host':'build-4','isa_line':'kit-isa: clean'}
r['sync'].update(tip_height=10, seconds=1); r['quit']['seconds']=1; r['recorded_at']='t'; r['recorded_by']='self-test'; json.dump(r, open('$d/$S.json','w'))"
CANARY_DIR="$d" canary_guard "$S" >/dev/null 2>&1 || { echo "canary guard self-test: FAIL: a sha with a PASS record was refused"; exit 1; }
python3 -c "import json; p='$d/$S.json'; r=json.load(open(p)); r['mining']['refusals']=1; json.dump(r, open(p,'w'))"
CANARY_GUARD_FAILED=0; CANARY_DIR="$d" canary_guard "$S" >/dev/null 2>&1 && { echo "canary guard self-test: FAIL: a record with a refusal was accepted"; exit 1; }
python3 -c "
import json,copy; p='$d/$S.json'; r=json.load(open(p)); blk={k:r[k] for k in ('artefact','box','datadir','sync','mining','shard','quit','lines_read_back')}; blk['mining']['refusals']=0; arts=[]
for kind in ('fleet','windows','mac'):
b=copy.deepcopy(blk); b['kind']=kind; arts.append(b)
arts[1]['mining']['refusals']=3
json.dump({'sha':r['sha'],'artefacts':arts,'verdict':'PASS','recorded_at':'t','recorded_by':'self-test'}, open(p,'w'))"
CANARY_DIR="$d" canary_guard "$S" mac >/dev/null 2>&1 || { echo "canary guard self-test: FAIL: the mac entry was refused though its own block passes"; exit 1; }
CANARY_DIR="$d" canary_guard "$S" windows >/dev/null 2>&1 && { echo "canary guard self-test: FAIL: the windows entry passed on a failing windows block"; exit 1; }
CANARY_DIR="$d" canary_guard "$S" mac windows >/dev/null 2>&1 && { echo "canary guard self-test: FAIL: a mac plus windows publish passed with the windows block failing"; exit 1; }
echo "canary guard self-test: no sha, no record and a failing record are refused; a PASS record passes; an entry publishes on its own artefact's block (mac passes, windows refused on its own failing block); the record check's own self-test passes"
exit 0
fi
case "${BASE:-}" in http://127.0.0.1*|http://localhost*|http://\[::1\]*) CANARY_GATED=0 ;; *) CANARY_GATED=1 ;; esac
if [ "$VERIFY_ONLY" != 1 ] && [ "$CANARY_GATED" = 1 ] && [ -z "${IGNEUM_CANARY_SELF_TEST_SKIP:-}" ]; then
KINDS=""; [ -n "$MAC" ] && KINDS="$KINDS mac"; [ -n "$WIN" ] && KINDS="$KINDS windows"
# shellcheck disable=SC2086
canary_guard "$RELEASE_SHA" $KINDS || exit 1
NOTES="${NOTES:+$NOTES; }release: $RELEASE_SHA (fresh-install canary PASS)"
fi
if [ -n "$NODE_BIN" ] || [ -n "$NET_DIGEST" ]; then
[ -n "$NODE_BIN" ] && [ -n "$NET_DIGEST" ] || { echo "the digest guard needs both --node-bin and --network-digest" >&2; exit 2; }
ENTRY_DIGEST=$(bash "$TOOLS/digest-read.sh" binary "$NODE_BIN") || exit 1

View file

@ -32,10 +32,11 @@ KEY="$CFG/ota-signing-key"; PUB_KEY="$CFG/ota-signing-key.pub"
SIGNER="${IGNEUM_OTA_SIGN:-$ROOT/app/igneum-app/target/release/igneum-ota-sign}" # a built signer elsewhere (another worktree)
HOST="https://dl.igneum.network"
DO_APP=0 DO_WALLET=0 HIVE="" DO_ALIASES=0 DRY=0 DEPLOY=0 VERIFY=0 PRUNE=1 DEST="" BASE="" TRIES=12
RELEASE_SHA="" DO_APP=0 DO_WALLET=0 HIVE="" DO_ALIASES=0 DRY=0 DEPLOY=0 VERIFY=0 PRUNE=1 DEST="" BASE="" TRIES=12
while [ $# -gt 0 ]; do
case "$1" in
--app) DO_APP=1; shift ;;
--release-sha) RELEASE_SHA="$2"; shift 2 ;; # rule 33: the release tip's commit (read from the app manifest's notes when not given); its canary record must read PASS
--wallet) DO_WALLET=1; shift ;;
--hive) HIVE="$2"; shift 2 ;;
--aliases) DO_ALIASES=1; shift ;;
@ -107,6 +108,26 @@ PY
log " $name: $(python3 -c 'import json,sys; m=json.load(open(sys.argv[1])); print(m.get("version"), "+".join(m.get("platforms",{})))' "$out") written, signed, verified; URLs under $BASE_PUB"
}
# Rule 33 (8 October 2026): nothing goes to dl/public/ for a release whose sha has no PASS fresh-install canary record. The app
# manifest carries "release: <sha>" in its notes (publish-manifest.sh --release-sha writes it); --release-sha overrides or supplies it
# for the HiveOS package. tools/ci/canary-check.sh reads tools/ci/canary/<sha>.json.
canary_gate() { # <sha> <what> [kind ...]: each kind (mac, windows, hive) must have its own PASS artefact block; no kind = the whole record
local sha="$1" what="$2"; shift 2; local k; local chk; chk="$(cd "$(dirname "$0")/../.." && pwd)/tools/ci/canary-check.sh"
[ -n "$sha" ] || { echo "canary guard: REFUSED: $what names no release sha (publish the token entry with publish-manifest.sh --release-sha, or pass --release-sha here); rule 33" >&2; return 1; }
if [ $# -eq 0 ]; then bash "$chk" "$sha" | scrub || { echo "canary guard: REFUSED: ${sha:0:12} has no PASS fresh-install canary record; rule 33" >&2; return 1; }; return 0; fi
for k in "$@"; do bash "$chk" "$sha" --artefact "$k" | scrub || { echo "canary guard: REFUSED: $what: the $k entry's sha ${sha:0:12} has no PASS fresh-install canary record for its own artefact; rule 33" >&2; return 1; }; done
}
if [ "$DO_APP" = 1 ] && [ -z "${IGNEUM_CANARY_SELF_TEST_SKIP:-}" ]; then
sha="$RELEASE_SHA"
[ -n "$sha" ] || sha=$(python3 -c 'import json,re,sys; m=json.load(open(sys.argv[1])); x=re.search(r"release: ([0-9a-f]{8,40})", str(m.get("notes",""))); print(x.group(1) if x else "")' "$SRC/igneum-app-latest.json" 2>/dev/null || true)
kinds=$(python3 -c 'import json,sys; m=json.load(open(sys.argv[1])); ks=[]
for p in m.get("platforms",{}):
ks.append("mac" if "mac" in p.lower() or "darwin" in p.lower() else "windows" if "win" in p.lower() else p)
print(" ".join(ks))' "$SRC/igneum-app-latest.json" 2>/dev/null || true)
# shellcheck disable=SC2086
canary_gate "$sha" "the app manifest" $kinds || exit 1
fi
if [ -n "$HIVE" ] && [ -z "${IGNEUM_CANARY_SELF_TEST_SKIP:-}" ]; then canary_gate "$RELEASE_SHA" "the HiveOS package" hive || exit 1; fi
if [ "$DO_APP" = 1 ]; then log "app manifest -> dl/public/"; publish_manifest igneum-app-latest.json; fi
if [ "$DO_WALLET" = 1 ]; then log "wallet manifest -> dl/public/"; publish_manifest igneum-wallet-latest.json; fi
if [ -n "$HIVE" ]; then

View file

@ -0,0 +1,57 @@
/* packfile-fuzz.c: POW-01's malformed-input half for the pack reader (8 October 2026). Copies a pack directory, mutates
* one of its files N times (a flipped byte, a truncation, an inserted byte, a doubled slice, random bytes) and calls
* pf_load on the copy each time; the run passes when every call returns 0 (refused with a message) or 1 (accepted),
* and the process never crashes. One line per 1,000 rounds, a RESULT line at the end.
* cc -O2 -o packfile-fuzz packfile-fuzz.c && ./packfile-fuzz <pack dir> <rounds> <scratch dir>
*/
#include "packfile.h"
#include <sys/stat.h>
static uint64_t rs = 0x1234567;
static uint64_t rnext(void) { rs += 0x9e3779b97f4a7c15ull; uint64_t z = rs; z = (z ^ (z >> 30)) * 0xbf58476d1ce4e5b9ull; z = (z ^ (z >> 27)) * 0x94d049bb133111ebull; return z ^ (z >> 31); }
static size_t below(size_t n) { return n ? (size_t)(rnext() % n) : 0; }
static int copy_file(const char* from, const char* to) {
size_t n = 0; char* b = pf_read_file(from, &n); if (!b) { remove(to); return 0; }
FILE* f = fopen(to, "wb"); if (!f) { free(b); return 0; }
fwrite(b, 1, n, f); fclose(f); free(b); return 1;
}
static void write_mutated(const char* src, const char* dst) {
size_t n = 0; char* b = pf_read_file(src, &n);
if (!b) { remove(dst); return; } /* a pack without this file: the mutation is its absence */
size_t cap = n + 400; char* v = (char*)malloc(cap ? cap : 1); size_t len = n; if (n) memcpy(v, b, n);
switch (below(6)) {
case 0: if (len) v[below(len)] ^= (char)(1 << below(8)); break;
case 1: len = below(len + 1); break;
case 2: { size_t i = below(len + 1); memmove(v + i + 1, v + i, len - i); v[i] = (char)rnext(); len++; } break;
case 3: if (len > 1) { size_t a = below(len), bl = below(len - a); if (bl > 300) bl = 300; memmove(v + a + bl, v + a, len - a); memcpy(v + a, b + a, bl); len += bl; } break;
case 4: len = below(300); for (size_t i = 0; i < len; i++) v[i] = (char)rnext(); break;
default: if (len) v[below(len)] = (char)rnext(); break;
}
FILE* f = fopen(dst, "wb"); if (f) { fwrite(v, 1, len, f); fclose(f); }
free(v); free(b);
}
int main(int argc, char** argv) {
if (argc < 4) { fprintf(stderr, "usage: packfile-fuzz <pack dir> <rounds> <scratch dir>\n"); return 2; }
const char* pack = argv[1]; long rounds = atol(argv[2]); const char* scratch = argv[3];
const char* files[] = { "program.h", "vectors.h", "seeds.txt", "memhard.h" };
mkdir(scratch, 0755);
char from[1024], to[1024];
for (int i = 0; i < 4; i++) { snprintf(from, sizeof from, "%s/%s", pack, files[i]); snprintf(to, sizeof to, "%s/%s", scratch, files[i]); copy_file(from, to); }
PfPack pk; char err[512];
int base = pf_load(pack, &pk, err, sizeof err);
printf("base pack %s: %s%s\n", pack, base ? "accepted" : "refused: ", base ? "" : err);
long accepted = 0, refused = 0;
for (long r = 0; r < rounds; r++) {
int which = (int)below(4);
for (int i = 0; i < 4; i++) { snprintf(from, sizeof from, "%s/%s", pack, files[i]); snprintf(to, sizeof to, "%s/%s", scratch, files[i]); if (i == which) write_mutated(from, to); else copy_file(from, to); }
memset(&pk, 0, sizeof pk); err[0] = 0;
int ok = pf_load(scratch, &pk, err, sizeof err);
if (ok) accepted++; else refused++;
if ((r + 1) % 1000 == 0) printf("round %ld: accepted %ld refused %ld\n", r + 1, accepted, refused);
}
printf("RESULT packfile-fuzz pack=%s rounds=%ld accepted=%ld refused=%ld crashes=0 verdict=PASS\n", pack, rounds, accepted, refused);
return 0;
}

View file

@ -333,11 +333,13 @@ static int pf_load(const char* dir, PfPack* pk, char* err, size_t cap) {
* kernel text, so this loader needs nothing new beyond the number and the class token), generator 5 is class v5
* (proof of stored state, 7 October 2026: class v4 over a dataset keyed by the window's state leaves, leaves.bin,
* which the host uploads for igneum_build; the kernel text carries the leaf read). */
if (pk->generator != 2 && pk->generator != 3 && pk->generator != 4 && pk->generator != 5) {
char m[200]; snprintf(m, sizeof(m), "program pack generator %u is not a generator version this worker runs (2, 3, 4 or 5)", (unsigned)pk->generator);
if (pk->generator != 2 && pk->generator != 3 && pk->generator != 4 && pk->generator != 5 && pk->generator != 6) {
char m[200]; snprintf(m, sizeof(m), "program pack generator %u is not a generator version this worker runs (2, 3, 4, 5 or 6)", (unsigned)pk->generator);
free(prog); return pf_fail(err, cap, m);
}
strcpy(pk->programClass, pk->generator == 5 ? "v5" : pk->generator == 4 ? "v4" : pk->generator == 3 ? "v3" : "v2");
/* generator 6 (class v6, the Igneum 2.0 D1 object, 8 October 2026): class v5's stored-state dataset with the v6 rules in the kernel text;
* the worker runs it as it runs class v5 (the shadow block, the state leaves), the pack's texts carry the rest */
strcpy(pk->programClass, pk->generator == 6 ? "v6" : pk->generator == 5 ? "v5" : pk->generator == 4 ? "v4" : pk->generator == 3 ? "v3" : "v2");
{
/* Counter ASIC 3.0 (6 October 2026): the shadow block marks class v4. A generator 3 pack with IGNEUM_SHADOW_INSTRS
* is a v4 program stamped as v3 (the old export path; it carried the v3 control's program id) and is refused;
@ -345,7 +347,7 @@ static int pf_load(const char* dir, PfPack* pk, char* err, size_t cap) {
uint32_t shadow = 0;
if (!pf_define_u32(prog, "IGNEUM_SHADOW_INSTRS", &shadow)) shadow = 0;
if (pk->generator == 4 && shadow == 0) { free(prog); return pf_fail(err, cap, "program pack generator 4 (class v4) without IGNEUM_SHADOW_INSTRS: not a class v4 pack"); }
if (pk->generator == 5 && shadow == 0) { free(prog); return pf_fail(err, cap, "program pack generator 5 (class v5) without IGNEUM_SHADOW_INSTRS: not a class v5 pack (class v5 is class v4 over the state leaves)"); }
if ((pk->generator == 5 || pk->generator == 6) && shadow == 0) { free(prog); return pf_fail(err, cap, "program pack generator 5 (class v5) without IGNEUM_SHADOW_INSTRS: not a class v5 pack (class v5 is class v4 over the state leaves)"); }
if (pk->generator == 3 && shadow != 0) { /* a generator 2 pack with a shadow is the measurement ladder (a class-bearing id) and loads */
char m[220]; snprintf(m, sizeof(m), "program pack generator %u with a shadow block (IGNEUM_SHADOW_INSTRS %u): a class v4 program is generator 4 (export the pack as class v4)", (unsigned)pk->generator, (unsigned)shadow);
free(prog); return pf_fail(err, cap, m);
@ -365,8 +367,8 @@ static int pf_load(const char* dir, PfPack* pk, char* err, size_t cap) {
pk->stateLeaves = 0; pk->stateLeavesFnv = 0; pk->stateRootHex[0] = 0; pk->stateBlockHex[0] = 0;
strcpy(pk->stateLeavesFile, "leaves.bin");
if (!pf_define_u32(prog, "IGNEUM_STATE_LEAVES", &pk->stateLeaves)) pk->stateLeaves = 0;
if (pk->generator == 5 && pk->stateLeaves == 0) { free(prog); return pf_fail(err, cap, "program pack generator 5 (class v5) without IGNEUM_STATE_LEAVES: no state leaves to key the dataset (export the pack with --state)"); }
if (pk->generator != 5 && pk->stateLeaves != 0) {
if ((pk->generator == 5 || pk->generator == 6) && pk->stateLeaves == 0) { free(prog); return pf_fail(err, cap, "program pack generator 5 (class v5) without IGNEUM_STATE_LEAVES: no state leaves to key the dataset (export the pack with --state)"); }
if (pk->generator != 5 && pk->generator != 6 && pk->stateLeaves != 0) {
char m[200]; snprintf(m, sizeof(m), "program pack generator %u carries IGNEUM_STATE_LEAVES %u: state leaves belong to class v5 (generator 5)", (unsigned)pk->generator, (unsigned)pk->stateLeaves);
free(prog); return pf_fail(err, cap, m);
}

View file

@ -2992,9 +2992,10 @@ final class ServeDataset {
/// Counter ASIC 2.0 and 3.0: the classes this worker runs from a prepared pack only (never from the Swift version 2
/// generator): class v3 (generator 3) and class v4 (generator 4, class v3 plus the latency-shadow block, which is in
/// the pack's own program_bound.metal). Each carries an era seed.
func isPackClass(_ cls: String) -> Bool { cls == "v3" || cls == "v4" || cls == "v5" } // class v5 (7 October 2026): class v4 over the state leaves, from a pack
func isPackClass(_ cls: String) -> Bool { cls == "v3" || cls == "v4" || cls == "v5" || cls == "v6" } // class v5 (7 October 2026): class v4 over the state leaves, from a pack; class v6 (8 October 2026): class v5's stored-state dataset with the v6 rules in the kernel text (packfile.h db63e1e36: run as class v5)
/// The class name of a pack's IGNEUM_GENERATOR (packfile.h's rule).
func packClassOf(generator: UInt32) -> String { generator == 5 ? "v5" : generator == 4 ? "v4" : generator == 3 ? "v3" : "v2" }
func packClassOf(generator: UInt32) -> String { generator == 6 ? "v6" : generator == 5 ? "v5" : generator == 4 ? "v4" : generator == 3 ? "v3" : "v2" }
func isStateClass(_ cls: String) -> Bool { cls == "v5" || cls == "v6" } // the classes keyed by the state leaves
// The resident programs and datasets, shared by the job loop (main thread) and the prepare queue (background).
final class ServeStore {
@ -3085,7 +3086,7 @@ func servePackProgram(_ gpu: GPU, _ store: ServeStore, seedHex: String, seed: [U
}
func refuse(_ why: String) -> NSError { NSError(domain: "pack", code: 2, userInfo: [NSLocalizedDescriptionKey: "pack \(dir): \(why)"]) }
let generator = defineU32("IGNEUM_GENERATOR") ?? 1
guard generator == 2 || generator == 3 || generator == 4 || generator == 5 else { throw refuse("program pack generator \(generator) is not a generator version this worker runs (2, 3, 4 or 5)") }
guard generator == 2 || generator == 3 || generator == 4 || generator == 5 || generator == 6 else { throw refuse("program pack generator \(generator) is not a generator version this worker runs (2, 3, 4, 5 or 6)") }
let packClass = packClassOf(generator: generator)
if let named = defineStr("IGNEUM_PROGRAM_CLASS"), named != packClass { throw refuse("program pack IGNEUM_PROGRAM_CLASS \"\(named)\" does not match IGNEUM_GENERATOR \(generator)") }
// Counter ASIC 3.0 (6 October 2026): the shadow block marks class v4 (packfile.h's rule): a generator 3 pack with
@ -3093,9 +3094,9 @@ func servePackProgram(_ gpu: GPU, _ store: ServeStore, seedHex: String, seed: [U
let shadow = defineU32("IGNEUM_SHADOW_INSTRS") ?? 0
if generator == 4 && shadow == 0 { throw refuse("program pack generator 4 (class v4) without IGNEUM_SHADOW_INSTRS: not a class v4 pack") }
// class v5 (7 October 2026) is class v4 over the state leaves: the shadow block and IGNEUM_STATE_LEAVES both mark it
if generator == 5 && shadow == 0 { throw refuse("program pack generator 5 (class v5) without IGNEUM_SHADOW_INSTRS: not a class v5 pack") }
if generator == 5 && (defineU32("IGNEUM_STATE_LEAVES") ?? 0) == 0 { throw refuse("program pack generator 5 (class v5) without IGNEUM_STATE_LEAVES: no state leaves to key the dataset (export the pack with --state)") }
if generator != 5 && (defineU32("IGNEUM_STATE_LEAVES") ?? 0) != 0 { throw refuse("program pack generator \(generator) carries IGNEUM_STATE_LEAVES: state leaves belong to class v5 (generator 5)") }
if (generator == 5 || generator == 6) && shadow == 0 { throw refuse("program pack generator 5 (class v5) without IGNEUM_SHADOW_INSTRS: not a class v5 pack") }
if (generator == 5 || generator == 6) && (defineU32("IGNEUM_STATE_LEAVES") ?? 0) == 0 { throw refuse("program pack generator 5 (class v5) without IGNEUM_STATE_LEAVES: no state leaves to key the dataset (export the pack with --state)") }
if generator != 5 && generator != 6 && (defineU32("IGNEUM_STATE_LEAVES") ?? 0) != 0 { throw refuse("program pack generator \(generator) carries IGNEUM_STATE_LEAVES: state leaves belong to class v5 (generator 5)") }
if generator == 3 && shadow != 0 { throw refuse("program pack generator \(generator) with a shadow block (IGNEUM_SHADOW_INSTRS \(shadow)): a class v4 program is generator 4 (export the pack as class v4)") }
let eraHex = defineStr("IGNEUM_ERA_SEED_HEX") ?? ""
if wantClass != "" && wantClass != packClass { throw refuse("program class mismatch: this pack is class \(packClass), the line names class \(wantClass) (export the pack again)") }
@ -3162,7 +3163,9 @@ func servePackDataset(_ gpu: GPU, _ store: ServeStore, dayHex: String, dir: Stri
guard let fillFn = lib.makeFunction(name: "igneum_cache_fill"), let buildFn = lib.makeFunction(name: "igneum_build") else { throw refuse("memhard.metal lacks igneum_cache_fill or igneum_build") }
let fillPipe = try gpu.device.makeComputePipelineState(function: fillFn)
let buildPipe = try gpu.device.makeComputePipelineState(function: buildFn)
let words = 1 << datasetLog2
// ds55 (the class v6 research packs, 8 October 2026): a non-power-of-two dataset carries IGNEUM_DATASET_WORDS (the
// buffer's size) and IGNEUM_DATASET_ITEMS beside IGNEUM_DATASET_LOG2 (the floor); the kernel text maps (src * words) >> 32
let words = defineU64("IGNEUM_DATASET_WORDS").map { Int($0) } ?? (1 << datasetLog2)
// Class v5 (docs/design/class-v5-stored-state.md, 7 October 2026): the window's state leaves, leaves.bin beside program.h
// (IGNEUM_STATE_LEAVES leaves of 16 little-endian words), checked against the pack's count and FNV-1a 64
// (IGNEUM_STATE_LEAVES_FNV64) and bound as buffer 2 of igneum_build with the count in buffer 3 (packbench.swift's shape,
@ -3173,7 +3176,7 @@ func servePackDataset(_ gpu: GPU, _ store: ServeStore, dayHex: String, dir: Stri
return UInt64(programH[Range(m.range(at: 1), in: programH)!], radix: 16)
}
let stateLeaves = defineU32("IGNEUM_STATE_LEAVES") ?? 0
if (packClass == "v5") != (stateLeaves > 0) { throw refuse(packClass == "v5" ? "class v5 pack without IGNEUM_STATE_LEAVES" : "a class \(packClass) pack carries IGNEUM_STATE_LEAVES \(stateLeaves): state leaves belong to class v5") }
if isStateClass(packClass) != (stateLeaves > 0) { throw refuse(isStateClass(packClass) ? "class v5 pack without IGNEUM_STATE_LEAVES" : "a class \(packClass) pack carries IGNEUM_STATE_LEAVES \(stateLeaves): state leaves belong to class v5") }
var leavesBuf: MTLBuffer? = nil
var nLeaves: UInt32 = 0
if stateLeaves > 0 {

View file

@ -93,8 +93,12 @@ let cacheFnvWant = hex64(vj["cache_fnv1a64"] as! String)
let hotFnvWant: UInt64? = (vj["hot_fnv1a64"] as? String).map(hex64)
guard let device = MTLCreateSystemDefaultDevice(), let queue = device.makeCommandQueue() else { fail("no Metal device") }
let words = 1 << datasetLog2
let mask = UInt32(words - 1)
// ds55 (the class v6 research packs, 8 October 2026): a non-power-of-two dataset carries IGNEUM_DATASET_WORDS and
// IGNEUM_DATASET_ITEMS beside IGNEUM_DATASET_LOG2 (the floor); the buffer is sized by the words, the items by ITEMS,
// and the kernel text maps an address as (src * words) >> 32, so the mask is the kernel's business, not this host's
let datasetWordsDefine = defineU64("IGNEUM_DATASET_WORDS")
let words = datasetWordsDefine.map { Int($0) } ?? (1 << datasetLog2)
let mask = UInt32(truncatingIfNeeded: (1 << datasetLog2) - 1)
let cacheWords = 1 << cacheLog2
func compile(_ file: String) -> MTLLibrary {
@ -138,7 +142,7 @@ func fnv1a64(_ p: UnsafeRawPointer, _ n: Int) -> UInt64 {
for i in 0..<n { h ^= UInt64(b[i]); h = h &* 0x100000001b3 }
return h
}
let items = words / 16
let items = defineU64("IGNEUM_DATASET_ITEMS").map { Int($0) } ?? (words / 16)
// class v5 (docs/design/class-v5-stored-state.md): a pack with IGNEUM_STATE_LEAVES carries leaves.bin (16 words per leaf), bound
// as buffer 2 of igneum_build with the count in buffer 3; the pack's FNV of the leaves is checked first
var leavesBuf: MTLBuffer? = nil

View file

@ -282,13 +282,25 @@ exit `$code
$args = @('-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', "`"$wrap`"")
$code = 1
try {
# the wait is on the task's own process with a cap, never -Wait (PC 2, 8 October 2026, 21:28 UK: -Wait covers every
# descendant on the inherited console, so a task that started Igneum Miner held the agent for the app's whole life; the
# relay went silent for half an hour). The cap is the task's timeout (flags.timeout_minutes, default 60); a task that
# runs past it is ended by ITS pid and the result says so.
$capMin = 60; try { if ($task.flags.timeout_minutes) { $capMin = [int]$task.flags.timeout_minutes } } catch {}
if ($elevated -and -not (Is-Admin)) {
Log 'task needs administrator and the agent is not elevated: asking (UAC prompt on this PC)'
$p = Start-Process powershell.exe -ArgumentList $args -Verb RunAs -Wait -PassThru
$p = Start-Process powershell.exe -ArgumentList $args -Verb RunAs -PassThru
} else {
$p = Start-Process powershell.exe -ArgumentList $args -NoNewWindow -Wait -PassThru
$p = Start-Process powershell.exe -ArgumentList $args -NoNewWindow -PassThru
}
if (-not $p.WaitForExit($capMin * 60 * 1000)) {
Log ("task #" + $id + " ran past its cap of " + $capMin + " min: ending its own shell pid " + $p.Id + " by pid")
Add-Content -Path $log -Value ("AGENT: task ended at its cap of " + $capMin + " min (pid " + $p.Id + ")")
Stop-Process -Id $p.Id -Force -ErrorAction SilentlyContinue
$p.WaitForExit(5000) | Out-Null
}
$code = $p.ExitCode
if ($null -eq $code) { $code = 124 }
} catch { Log ("could not start the task: " + $_.Exception.Message); Add-Content -Path $log -Value ("AGENT ERROR: " + $_.Exception.Message) }
$text = ''; if (Test-Path $log) { $text = Get-Content $log -Raw }
# the marker on a line of its own (X28), and only when the task was queued with --reboot or --reboot-continue

View file

@ -39,6 +39,11 @@ test('the installer fills the manifest and registers, runs and reads back the ta
assert.match(agentLab, /install Igneum Miner Lab on a fleet PC/, 'the refusal names the remedy');
// the founder's word (8 October 2026, 20:21 UK): a task that ends a process by its name is refused by construction
assert.match(agentLab, /function Kill-By-Name-Refusal/, 'the agent refuses kill-by-name task bodies');
// PC 2, 8 October 2026, 21:28 UK: Start-Process -Wait covered the Miner a task started and the agent hung for the app's
// life; the wait is on the task's own process with a cap (known-failed first)
assert.doesNotMatch(agentLab, /Start-Process powershell\.exe -ArgumentList \$args[^\n]*-Wait/, 'never -Wait on a task shell');
assert.match(agentLab, /\$p\.WaitForExit\(\$capMin \* 60 \* 1000\)/, 'the wait is capped by the task timeout');
assert.match(agentLab, /ending its own shell pid [^\n]*by pid/, 'a task past its cap is ended by its pid, never a name');
const shapes = [['Stop-Process -Na', 'me igneum-app -Force'], ['task', 'kill /IM igneumd.exe /F'], ['Get-Process -Na', 'me igneum-miner | Stop-Process'], ['pk', 'ill -f igneumd'], ['kill', 'all igneum-app']].map(p => p.join(''));
for (const bad of shapes) {
const pats = [/^\s*[^#\r\n]*\bStop-Process\b[^\r\n]*-Name\b/im, /^\s*[^#\r\n]*\btaskkill(\.exe)?\b[^\r\n]*\/IM\b/im, /^\s*[^#\r\n]*\bGet-Process\b[^\r\n]*-Name\b[^\r\n]*\|\s*Stop-Process/im, /^\s*[^#\r\n]*\b(pkill|killall)\b/im];

View file

@ -117,7 +117,7 @@ main{flex:1}
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -157,7 +157,7 @@ main{flex:1}
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

File diff suppressed because one or more lines are too long

View file

@ -157,7 +157,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -197,7 +197,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -12,7 +12,7 @@ export function decode(reply) {
if (!reply || typeof reply.content !== 'string') throw new Error('the git host reply has no content field');
const b64 = reply.encoding === 'base64' || !reply.encoding;
const text = b64 ? Buffer.from(reply.content.replace(/\s+/g, ''), 'base64').toString('utf8') : reply.content;
const registry = JSON.parse(text.replace(/\bBST\b/g, 'UK')); // the zone name is a forbidden string on a served page: the times read UK
const registry = JSON.parse(text.replace(/\bBST\b/g, 'UK').replace(/\bPC [12]\b/g, 'the project’s own rig').replace(/Devnet 3\b/g, 'the earlier devnet')); // the zone name is a forbidden string on a served page: the times read UK
if (!registry || !Array.isArray(registry.suites)) throw new Error('the registry has no suites');
return registry;
}

View file

@ -125,7 +125,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -165,7 +165,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -449,7 +449,7 @@
</div>
<div class="grid c2">
<div class="dl-list" style="margin:0">
<a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" class="primary">Windows <span data-dl-meta="miner-windows">v2.0.0 · 63.8 MB</span></a>
<a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" class="primary">Windows <span data-dl-meta="miner-windows">v2.0.1 · 63.8 MB</span></a>
<a data-dl="miner-mac" href="https://dl.igneum.network/public/igneum-miner-mac.dmg">macOS <span data-dl-meta="miner-mac">v2.0.1 · 45.9 MB</span></a>
<a href="/miner#hive">Linux · HiveOS <span>the tarball and the flight sheet, on the miner page</span></a>
</div>
@ -472,7 +472,7 @@
</div>
</div>
<a class="dl-bar" href="/miner#get"><b>Download the miner</b><span data-dl-meta="miner-windows">v2.0.0 · 63.8 MB</span></a>
<a class="dl-bar" href="/miner#get"><b>Download the miner</b><span data-dl-meta="miner-windows">v2.0.1 · 63.8 MB</span></a>
<!-- footer:start -->
<footer class="site-footer">

File diff suppressed because one or more lines are too long

View file

@ -157,7 +157,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -197,7 +197,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -130,7 +130,7 @@ table{min-width:560px}
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -170,7 +170,7 @@ table{min-width:560px}
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -365,7 +365,7 @@ function injectShare(html, file) {
return html.replace('<!-- head:start -->', () => block + '\n<!-- head:start -->');
}
const PAGES = [['index.html', ''], ['download.html', 'download'], ['income.html', 'income'], ['economics.html', 'economics'], ['scorecard.html', 'scorecard'], ['docs.html', 'docs'], ['acceptance.html', 'acceptance'], ['litepaper.html', 'litepaper'], ['live.html', 'live'], ['evidence.html', 'evidence'], ['miner.html', 'miner'], ['app.html', 'app'], ['wallet.html', 'wallet'], ['ledger.html', 'ledger'], ['metamask.html', 'metamask'], ['faucet.html', 'faucet'], ['swap.html', 'swap'], ['404.html', ''],
const PAGES = [['index.html', ''], ['download.html', 'download'], ['income.html', 'income'], ['economics.html', 'economics'], ['scorecard.html', 'scorecard'], ['prize.html', 'prize'], ['docs.html', 'docs'], ['acceptance.html', 'acceptance'], ['litepaper.html', 'litepaper'], ['live.html', 'live'], ['evidence.html', 'evidence'], ['miner.html', 'miner'], ['app.html', 'app'], ['wallet.html', 'wallet'], ['ledger.html', 'ledger'], ['metamask.html', 'metamask'], ['faucet.html', 'faucet'], ['swap.html', 'swap'], ['404.html', ''],
// the Devnet 3 explorer (5 Oct 2026, extended 8 Oct 2026): /explorer, /block/<hash>, /address/<addr>, /tx/<hash> (vercel.json rewrites
// the three) and /proving; the Explorer entry of the Network panel is the current one on all five
['explorer.html', 'explorer'], ['block.html', 'explorer'], ['address.html', 'explorer'], ['tx.html', 'explorer'], ['proving.html', 'explorer'],
@ -427,7 +427,7 @@ for (const [file, active] of PAGES) {
if (file === 'acceptance.html' && html.includes('<!-- acceptance:start -->')) {
const rp = join(docs, 'plans', 'igneum-2.0-test-registry.json');
// the zone name is a forbidden string on a served page (the identity list): the registry's times read UK here
if (existsSync(rp)) html = inject(html, 'acceptance', renderAcceptance(JSON.parse(readFileSync(rp, 'utf8').replace(/\bBST\b/g, 'UK'))), file);
if (existsSync(rp)) html = inject(html, 'acceptance', renderAcceptance(JSON.parse(readFileSync(rp, 'utf8').replace(/\bBST\b/g, 'UK').replace(/\bPC [12]\b/g, 'the project’s own rig').replace(/Devnet 3\b/g, 'the earlier devnet'))), file); // the identity list: no zone name, no numbered rig, no numbered devnet on a served page
}
writeFileSync(p, html);
built.push(file);

View file

@ -129,7 +129,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims" aria-current="page"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -169,7 +169,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims" aria-current="page"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -130,7 +130,7 @@ table{min-width:560px}
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -170,7 +170,7 @@ table{min-width:560px}
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -129,7 +129,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -169,7 +169,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -103,7 +103,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs" aria-current="page"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs" aria-current="page"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -143,7 +143,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs" aria-current="page"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs" aria-current="page"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -119,7 +119,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -159,7 +159,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -244,8 +244,8 @@
<div><h3>Ember for Windows</h3><div class="sub">the installer, from the signed manifest</div></div>
<div class="body">
<p>Run the installer, press Start. NVIDIA and AMD cards both mine. Setting an NVIDIA power cap asks for administrator rights once.</p>
<a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" class="btn primary"><span class="osmark bare" data-os="windows" title="Windows"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="currentColor"><path d="M3 5.6l7.3-1v7.1H3zM11.4 4.4L21 3v8.7h-9.6zM3 12.3h7.3v7.1L3 18.4zM11.4 12.3H21V21l-9.6-1.4z"/></svg></span>Download for Windows <span class="meta" data-dl-meta="miner-windows">v2.0.0 · 63.8 MB</span></a>
<div class="sha"><b>sha256</b> <span data-dl-sha="miner-windows">793a631dc2084e6d6f778f13602d674a0c134af746b6355c25d3998c2be18b79</span></div>
<a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" class="btn primary"><span class="osmark bare" data-os="windows" title="Windows"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="currentColor"><path d="M3 5.6l7.3-1v7.1H3zM11.4 4.4L21 3v8.7h-9.6zM3 12.3h7.3v7.1L3 18.4zM11.4 12.3H21V21l-9.6-1.4z"/></svg></span>Download for Windows <span class="meta" data-dl-meta="miner-windows">v2.0.1 · 63.8 MB</span></a>
<div class="sha"><b>sha256</b> <span data-dl-sha="miner-windows">ce6bb00cd738fa08348fd8121781479109a5b2c2059a04fe7c22ad7aa3f12bf9</span></div>
</div>
</article>
<article class="dl-card" id="mac">
@ -283,6 +283,7 @@
</div>
<p class="yourcard" data-yourcard style="margin-top:16px">Your card: pending</p>
<p class="home-quiet" data-release-note><b>What changed in 2.0.1.</b> An update never leaves mining off. The Cards tab is back as its own page. The first-block card shows once per address. The window names included, executed, proven and finalised. The node serves its manifest and the genesis state stream to every miner. The Mac build is unsigned tonight.</p>
<p class="home-quiet" data-release-note-2>2.0.0 is withdrawn: its miner could not read this network’s block templates; every 2.0.0 install updates itself to 2.0.1.</p>
<p class="home-quiet" data-devnet-notice><b>Devnet.</b> Coins have no value and the chain may be reset.</p>
<p class="home-quiet">The protocol carries no fee. The one payment to the project is the Ember software’s optional 1% dev fee, like other GPU miners, off with one flag. <a href="/dev-fee">The fee, in full view.</a></p>
</div>

View file

@ -19,11 +19,11 @@
},
"miner-windows": {
"alias": "/public/igneum-miner-windows.exe",
"file": "Igneum-Miner-Setup-2.0.0.exe",
"path": "/dl/public/Igneum-Miner-Setup-2.0.0.exe",
"sha256": "793a631dc2084e6d6f778f13602d674a0c134af746b6355c25d3998c2be18b79",
"size": 63803668,
"version": "2.0.0"
"file": "Igneum-Miner-Setup-2.0.1.exe",
"path": "/dl/public/Igneum-Miner-Setup-2.0.1.exe",
"sha256": "ce6bb00cd738fa08348fd8121781479109a5b2c2059a04fe7c22ad7aa3f12bf9",
"size": 63831654,
"version": "2.0.1"
},
"wallet-mac": {
"alias": "/public/igneum-wallet-mac.dmg",
@ -34,5 +34,5 @@
"version": "0.1.6"
}
},
"updated": "2026-10-08T19:44:46Z"
"updated": "2026-10-08T19:51:38Z"
}

View file

@ -103,7 +103,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics" aria-current="page"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics" aria-current="page"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -143,7 +143,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics" aria-current="page"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics" aria-current="page"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -292,7 +292,7 @@
<tr><td>External settlement in IGN</td><td>other chains pay for proofs in IGN; <span data-rm="fees.external_jobs.provers_percent">90</span> percent to the provers, <span data-rm="fees.external_jobs.burn_percent">10</span> percent burned</td><td>the price a prover must charge is the subsidy it forgoes while it proves: per shard, (card hash ÷ network hash) × 0.8 × the block subsidy × shard seconds. For an RTX 5090 at 136 MH/s on a 1 GH/s network and a 37 s shard that is about 16 IGN a shard inside the ramp today and about 128 IGN at the full rate, against the pool’s 1.2 IGN a shard measured; the quote falls as one over network hash and is competitive near 100 GH/s (the litepaper, Building on Igneum)</td><td>designed; the settlement contract is not built</td></tr>
</tbody></table></div>
<h3>The standard’s new-entry test, as found</h3>
<p><b>ECO-05: FAIL.</b> ECO-05, the standard’s coexistence sweep, was run on a register frozen before any result against a sourced revenue reference of USD 31.65 million a year of miner revenue (Ethereum Classic’s trailing year at its current era 6 reward) and FAILS the envelope as the chain stands. Of sixteen revenue and tariff worlds (a quarter, one, four and ten times the reference; electricity at 3, 10, 25 and 40 cents per kilowatt-hour) only one sustains new entry across two vendors, ten times the reference at 3 cents (about USD 316 million a year), because on this hash the measured AMD and Intel cards cost four to six times a Blackwell card per joule and never earn a new entrant’s purchase back at list price below that world; in that one world no specialised design sits inside the envelope against the whole cohort (the board on commodity DRAM is within the envelope only against the best Blackwell card, the die and the hybrid against no card of today’s), and the quarter-reference worlds at 25 and 40 cents are collapse worlds with no rational profitable operator. What moves the result is the specialist’s hardware cost per unit of work, the honest cards’ own efficiency on this hash, above all the AMD and Intel cards’ energy, and the dataset’s size floor; not a smaller network, a higher token price or any chip’s death. Reported as found; the register, the full result cube and the model are published for independent reproduction. (Labels: the register frozen at 18:37 UK on 8 October 2026, the reference corrected by a second public read and the run repeated with the verdict unchanged, the cube MODELLED on measured card rows, two cohort rows BLOCKED, the RX 7600’s knee and the Arc’s watts, their measurement running tonight; the registry row ECO-05 on <a href="/acceptance">/acceptance</a>; the results file docs/analysis/class-v6/eco-05-results.md.)</p>
<p><b>ECO-05: FAIL.</b> ECO-05, the standard’s coexistence sweep, was run on a register frozen before any result against a sourced revenue reference of USD 31.65 million a year of miner revenue (Ethereum Classic’s trailing year at its current era 6 reward) and FAILS the envelope as the chain stands. Of sixteen revenue and tariff worlds (a quarter, one, four and ten times the reference; electricity at 3, 10, 25 and 40 cents per kilowatt-hour) one sustains new entry across two vendors on the measured cards, ten times the reference at 3 cents (about USD 316 million a year), and a second, ten times the reference at 10 cents, on the RX 7600’s modelled efficiency point, which the metered row due in the morning keeps at or below 5.4 microjoules per hash and takes away above about 5.6; the cause is that on this hash the measured AMD and Intel cards cost four to six times a Blackwell card per joule and never earn a new entrant’s purchase back at list price below those worlds; the verdict is FAIL either way; in those worlds no specialised design sits inside the envelope against the whole cohort (the board on commodity DRAM is within the envelope only against the best Blackwell card, the die and the hybrid against no card of today’s), and the quarter-reference worlds at 25 and 40 cents are collapse worlds with no rational profitable operator. What moves the result is the specialist’s hardware cost per unit of work, the honest cards’ own efficiency on this hash, above all the AMD and Intel cards’ energy, and the dataset’s size floor; not a smaller network, a higher token price or any chip’s death. Reported as found; the register, the full result cube and the model are published for independent reproduction. (Labels: the register frozen at 18:37 UK on 8 October 2026, the reference corrected by a second public read and the run repeated with the verdict unchanged, the cube MODELLED on measured card rows, two cohort rows BLOCKED, the RX 7600’s knee and the Arc’s watts, their measurement running tonight; the registry row ECO-05 on <a href="/acceptance">/acceptance</a>; the results file docs/analysis/class-v6/eco-05-results.md.)</p>
<p>The chip question (whether a chip gets built against the hash, and what it would earn) is a conditional argument of its own on the litepaper’s <a href="/litepaper#chip-model">chip model</a>, not part of this page.</p>
<h2>Units and decimals</h2>
<div class="tbl"><table>

File diff suppressed because one or more lines are too long

View file

@ -156,7 +156,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -196,7 +196,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -133,7 +133,7 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:14px;overflo
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -173,7 +173,7 @@ dt{color:var(--ash)}dd{margin:0;font-family:var(--f-mono);font-size:14px;overflo
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -33,8 +33,8 @@ DESKTOP-KMCV
\bpid [0-9]+\b
0\.0\.0\.0:[0-9]+
--rpclisten=
# the disclosure prize is approved but its announcement is staged until the entity address exists and the owner gives the publish word (cryptanalysis plan 3.3, 7 October 2026)
disclosure prize
# the disclosure prize was staged (cryptanalysis plan 3.3, 7 October 2026) until the entity existed and the owner gave the publish word; both
# came on 8 October 2026 (the entity formed that day; the word: /prize live tonight), so the phrase is served at /prize and where it is linked
# the rig names never reach a served page (verification lane, 7 October 2026: a substring grep read "PC 2" inside gRPC port numbers; this is the word-bounded check)
\bPC [12]\b
counsel is engaged

View file

@ -130,7 +130,7 @@ table{min-width:560px}
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -170,7 +170,7 @@ table{min-width:560px}
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -103,7 +103,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income" aria-current="page"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -143,7 +143,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income" aria-current="page"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -121,7 +121,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -161,7 +161,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -236,7 +236,7 @@
<h1>The card you own has <span class="accent">a new chain</span> to&nbsp;mine.</h1>
<p class="lead">A GPU-secured network for Ethereum-compatible applications and verifiable computation.</p>
<div class="fold-actions" id="fold-actions">
<a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" data-os-button="windows" class="btn primary"><span class="osmark bare" data-os="windows" title="Windows"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="currentColor"><path d="M3 5.6l7.3-1v7.1H3zM11.4 4.4L21 3v8.7h-9.6zM3 12.3h7.3v7.1L3 18.4zM11.4 12.3H21V21l-9.6-1.4z"/></svg></span>Download for Windows<span class="meta" data-dl-meta="miner-windows">v2.0.0 · 63.8 MB</span></a>
<a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" data-os-button="windows" class="btn primary"><span class="osmark bare" data-os="windows" title="Windows"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="currentColor"><path d="M3 5.6l7.3-1v7.1H3zM11.4 4.4L21 3v8.7h-9.6zM3 12.3h7.3v7.1L3 18.4zM11.4 12.3H21V21l-9.6-1.4z"/></svg></span>Download for Windows<span class="meta" data-dl-meta="miner-windows">v2.0.1 · 63.8 MB</span></a>
<a data-dl="miner-mac" href="https://dl.igneum.network/public/igneum-miner-mac.dmg" data-os-button="mac" class="btn"><span class="osmark bare" data-os="mac" title="macOS"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="currentColor"><path d="M16.4 12.6c0-2.5 2-3.6 2.1-3.7-1.2-1.7-3-1.9-3.6-2-1.5-.2-3 .9-3.8.9-.8 0-2-.9-3.3-.8-1.7 0-3.2 1-4.1 2.5-1.8 3-.5 7.6 1.3 10.1.9 1.2 1.9 2.6 3.2 2.5 1.3 0 1.8-.8 3.3-.8 1.6 0 2 .8 3.3.8 1.4 0 2.3-1.2 3.1-2.5 1-1.4 1.4-2.8 1.4-2.9 0 0-2.7-1-2.9-4.1zM13.9 5.3c.7-.8 1.2-2 1-3.2-1 0-2.2.7-2.9 1.5-.6.7-1.2 1.9-1 3 1.1.1 2.2-.5 2.9-1.3z"/></svg></span>Download for macOS<span class="meta" data-dl-meta="miner-mac">v2.0.1 · 45.9 MB</span></a>
</div>
<p class="fold-more fold-one">One click: node, miner, prover. The card starts.</p>

View file

@ -134,7 +134,7 @@ blockquote{margin:10px 0;padding:10px 14px;border-left:3px solid var(--line-2);c
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger" aria-current="page"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -174,7 +174,7 @@ blockquote{margin:10px 0;padding:10px 14px;border-left:3px solid var(--line-2);c
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger" aria-current="page"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -1,5 +1,5 @@
// The /acceptance page (8 October 2026): the Test and Acceptance Standard 1.0, case by case, rendered from ONE file,
// docs/plans/igneum-2.0-test-registry.json (128 cases in 16 suites, the profiles P00 onward, the fixtures F0 onward).
// docs/plans/igneum-2.0-test-registry.json (190 cases in 18 suites, the profiles P00 onward, the fixtures F0 onward).
//
// One source of truth for both renders. Every function below is a plain, self-contained function declaration: site/build.mjs
// imports them to write the page at build time, and runtimeSource() prints the same functions (Function.prototype.toString)

View file

@ -137,7 +137,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -177,7 +177,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

File diff suppressed because one or more lines are too long

View file

@ -270,7 +270,7 @@ details.tablebar summary{display:flex;align-items:center}
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -310,7 +310,7 @@ details.tablebar summary{display:flex;align-items:center}
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -131,7 +131,7 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px}
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -171,7 +171,7 @@ ol{margin:0 0 14px;padding-left:22px}li{margin-bottom:6px}
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -126,7 +126,7 @@ pre b{color:var(--molten-text);font-weight:500}
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -166,7 +166,7 @@ pre b{color:var(--molten-text);font-weight:500}
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -283,8 +283,8 @@ pre b{color:var(--molten-text);font-weight:500}
<div class="platform-body" id="panel-windows" role="tabpanel" aria-labelledby="tab-windows" data-platform-panel="windows">
<div class="download-platform"><span class="osmark" data-os="windows" title="Windows"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="currentColor"><path d="M3 5.6l7.3-1v7.1H3zM11.4 4.4L21 3v8.7h-9.6zM3 12.3h7.3v7.1L3 18.4zM11.4 12.3H21V21l-9.6-1.4z"/></svg></span><div><h3>Ember for Windows</h3><p>the installer, from the signed manifest</p></div></div>
<p class="download-note">Run the installer, press Start. NVIDIA and AMD cards both mine. Setting an NVIDIA power cap asks for administrator rights once.</p>
<a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" class="btn primary"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3v12m-5-5 5 5 5-5M5 16v4h14v-4"/></svg>Download for Windows <span data-dl-meta="miner-windows" style="font-weight:400;opacity:.85">v2.0.0 · 63.8 MB</span></a>
<div class="download-detail"><span>from dl.igneum.network</span><span>sha256 <span data-dl-sha="miner-windows">793a631dc2084e6d6f778f13602d674a0c134af746b6355c25d3998c2be18b79</span></span></div>
<a data-dl="miner-windows" href="https://dl.igneum.network/public/igneum-miner-windows.exe" class="btn primary"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3v12m-5-5 5 5 5-5M5 16v4h14v-4"/></svg>Download for Windows <span data-dl-meta="miner-windows" style="font-weight:400;opacity:.85">v2.0.1 · 63.8 MB</span></a>
<div class="download-detail"><span>from dl.igneum.network</span><span>sha256 <span data-dl-sha="miner-windows">ce6bb00cd738fa08348fd8121781479109a5b2c2059a04fe7c22ad7aa3f12bf9</span></span></div>
</div>
<div class="platform-body" id="panel-mac" role="tabpanel" aria-labelledby="tab-mac" data-platform-panel="mac" hidden>
<div class="download-platform"><span class="osmark" data-os="mac" title="macOS"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="currentColor"><path d="M16.4 12.6c0-2.5 2-3.6 2.1-3.7-1.2-1.7-3-1.9-3.6-2-1.5-.2-3 .9-3.8.9-.8 0-2-.9-3.3-.8-1.7 0-3.2 1-4.1 2.5-1.8 3-.5 7.6 1.3 10.1.9 1.2 1.9 2.6 3.2 2.5 1.3 0 1.8-.8 3.3-.8 1.6 0 2 .8 3.3.8 1.4 0 2.3-1.2 3.1-2.5 1-1.4 1.4-2.8 1.4-2.9 0 0-2.7-1-2.9-4.1zM13.9 5.3c.7-.8 1.2-2 1-3.2-1 0-2.2.7-2.9 1.5-.6.7-1.2 1.9-1 3 1.1.1 2.2-.5 2.9-1.3z"/></svg></span><div><h3>Ember for macOS</h3><p>a disk image, Apple silicon, Metal</p></div></div>
@ -297,7 +297,7 @@ pre b{color:var(--molten-text);font-weight:500}
<div class="download-platform"><span class="osmark" data-os="hive" title="HiveOS"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linejoin="round" stroke-linecap="round"><path d="M12 2.6 20.2 7.3v9.4L12 21.4 3.8 16.7V7.3z"/><path d="M12 7.4 16 9.7v4.6L12 16.6 8 14.3V9.7z"/><path d="M12 7.4V2.6M16 9.7l4.2-2.4M16 14.3l4.2 2.4M12 16.6v4.8M8 14.3l-4.2 2.4M8 9.7 3.8 7.3"/></svg></span><div><h3>Ember for Linux and HiveOS</h3><p>a tarball for rigs and Hive flight sheets</p></div></div>
<p class="download-note">For the rig people. One tarball, the miner and the node inside, the same signed manifest as the desktop apps.</p>
<a data-dl="miner-hive" href="https://dl.igneum.network/public/igneum-miner-hive.tar.gz" class="btn primary"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3v12m-5-5 5 5 5-5M5 16v4h14v-4"/></svg>Download the tarball <span data-dl-meta="miner-hive" style="font-weight:400;opacity:.85">v2.0.1 · 52.7 MB</span></a>
<p class="fair" id="versions">Current build: Windows <span data-rm="versions.miner-windows.version">2.0.0</span>, macOS <span data-rm="versions.miner-mac.version">2.0.1</span>, HiveOS <span data-rm="versions.miner-hive.version">2.0.1</span>, the wallet <span data-rm="versions.wallet-mac.version">0.1.6</span>, <span data-rm="read_at_short">read 8 October 2026, 17:2x UK</span>. The machine-readable list, with every file’s SHA-256, is <a href="/release.json">/release.json</a>.</p>
<p class="fair" id="versions">Current build: Windows <span data-rm="versions.miner-windows.version">2.0.1</span>, macOS <span data-rm="versions.miner-mac.version">2.0.1</span>, HiveOS <span data-rm="versions.miner-hive.version">2.0.1</span>, the wallet <span data-rm="versions.wallet-mac.version">0.1.6</span>, <span data-rm="read_at_short">read 8 October 2026, 17:2x UK</span>. The machine-readable list, with every file’s SHA-256, is <a href="/release.json">/release.json</a>.</p>
<div class="hive-sheet" id="hive"><b>HiveOS Flight Sheet.</b> Miner: <b>Custom</b>. Installation URL: <code data-dl-url="miner-hive">https://dl.igneum.network/dl/public/igneum-hive-2.0.1.tar.gz</code>. Miner name <code>igneum</code>, wallet and worker <code>0x&lt;your 40-hex payout address&gt;.%WORKER_NAME%</code>. Hive itself is untested on our side: tell us what breaks.</div>
<p class="sha">sha256 <span data-dl-sha="miner-hive">a16add6a9082747bc11d9bb9a69d193530f723dd2671fe1352ad59b1ae0a46ab</span></p>
</div>
@ -459,7 +459,7 @@ pre b{color:var(--molten-text);font-weight:500}
</div>
</div>
<a class="dl-bar" href="#get"><b>Download the miner</b><span data-dl-meta="miner-windows">v2.0.0 · 63.8 MB</span></a>
<a class="dl-bar" href="#get"><b>Download the miner</b><span data-dl-meta="miner-windows">v2.0.1 · 63.8 MB</span></a>
<!-- footer:start -->
<footer class="site-footer">

View file

@ -130,7 +130,7 @@ table{min-width:560px}
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -170,7 +170,7 @@ table{min-width:560px}
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -30,10 +30,11 @@ export const CARDS = {
faucet: { kicker: 'Devnet faucet', title: 'Test IGN, for building.', sub: 'Paste an address. Get a transaction hash.', route: 'igneum.network/faucet' },
economics: { kicker: 'Economics', title: 'The economics, as the node encodes them.', sub: 'The emission, the split, the fees, each with its file and line.', route: 'igneum.network/economics' },
scorecard: { kicker: 'Scorecard', title: 'Evidence for every gate.', sub: 'Twelve acceptance gates, the evidence each needs, what never stands in for it.', route: 'igneum.network/scorecard' },
prize: { kicker: 'Prize', title: 'A better adversary, or a reproduced shortcut.', sub: 'A finding that moves the bracket earns it. A confirmation does not.', route: 'igneum.network/prize' },
tuning: { kicker: 'Tuning', title: 'The knee rule, measured.', sub: 'How Ember reaches a good operating point, every figure a dated row.', route: 'igneum.network/tuning' },
audit: { kicker: 'Site audit', title: 'Every page, audited.', sub: 'What the reset changed, what was rewritten, what is open.', route: 'igneum.network/audit' },
docs: { kicker: 'Documents', title: 'The plan, the standard, the evidence.', sub: 'Every document by its path on the public repository.', route: 'igneum.network/docs' },
acceptance: { kicker: 'Acceptance', title: 'Shown as they pass.', sub: 'The Test and Acceptance Standard, 128 cases in 16 suites, case by case.', route: 'igneum.network/acceptance' },
acceptance: { kicker: 'Acceptance', title: 'Shown as they pass.', sub: 'The Test and Acceptance Standard, 190 cases in 18 suites, case by case.', route: 'igneum.network/acceptance' },
litepaper: { kicker: 'Litepaper', title: 'Mined by GPUs. Proven by fire.', sub: 'The hourly GPU lottery, blocks proven by miners, miner-only finality.', route: 'igneum.network/litepaper' },
light: { kicker: 'Light wallet', title: 'A balance your browser proves.', sub: 'Certificate, headers and account proof, recomputed in the tab.', route: 'igneum.network/light' },
receipt: { kicker: 'Inclusion receipt', title: 'A receipt any third party re-verifies.', sub: 'Proven against the finality certificate. Checked offline with one file.', route: 'igneum.network/receipt' },

View file

@ -137,7 +137,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -177,7 +177,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -45,7 +45,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -85,7 +85,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

307
site/prize.html Normal file
View file

@ -0,0 +1,307 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Igneum disclosure prize: terms</title>
<meta name="description" content="The disclosure prize: what it pays for (a placed or measured adversarial implementation that beats the served bracket, or a reproduced shortcut in the served kit), what it does not, how a claim is made and judged, and the amount, set by the founder.">
<link rel="canonical" href="https://igneum.network/prize">
<!-- share:start -->
<meta property="og:type" content="website">
<meta property="og:site_name" content="Igneum">
<meta property="og:title" content="Igneum disclosure prize: terms">
<meta property="og:description" content="The disclosure prize: what it pays for (a placed or measured adversarial implementation that beats the served bracket, or a reproduced shortcut in the served kit), what it does not, how a claim is made and judged, and the amount, set by the founder.">
<meta property="og:url" content="https://igneum.network/prize">
<meta property="og:image" content="https://igneum.network/og/home.png?v=4">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="The GPU-mined chain that proves every block. igneum.network">
<meta property="og:image" content="https://igneum.network/og/home-square.png?v=4">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="1200">
<meta property="og:image:alt" content="The GPU-mined chain that proves every block. igneum.network">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Igneum disclosure prize: terms">
<meta name="twitter:description" content="The disclosure prize: what it pays for (a placed or measured adversarial implementation that beats the served bracket, or a reproduced shortcut in the served kit), what it does not, how a claim is made and judged, and the amount, set by the founder.">
<meta name="twitter:image" content="https://igneum.network/og/home.png?v=4">
<meta name="twitter:image:alt" content="The GPU-mined chain that proves every block. igneum.network">
<!-- share:end -->
<!-- head:start -->
<link rel="preload" href="/fonts/unbounded-900.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/fonts/plex-sans-400.woff2" as="font" type="font/woff2" crossorigin>
<meta name="color-scheme" content="dark light">
<link rel="stylesheet" href="/site.css">
<style>
/* Shared by every page: the head partial, injected by the build between the head markers. Edit the partial, not the page. */
/* Fonts, self-hosted (latin subsets, OFL): Unbounded 500/700/900, IBM Plex Sans 400/500/600, IBM Plex Mono 400/500. Fallbacks carry size and ascent overrides so the swap does not move the layout. The tokens, type and components are in /site.css (docs/plans/site-ui-3.md). */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/unbounded-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/unbounded-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/unbounded-900.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-sans-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-sans-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-sans-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded Fallback';src:local('Arial Black'),local('Arial-Black'),local('Impact');size-adjust:114%;ascent-override:87.5%;descent-override:21.5%;line-gap-override:0%}
@font-face{font-family:'Plex Sans Fallback';src:local('Arial'),local('Helvetica Neue'),local('Helvetica');size-adjust:100.5%;ascent-override:102%;descent-override:27.4%;line-gap-override:0%}
@font-face{font-family:'Plex Mono Fallback';src:local('Courier New'),local('Menlo');size-adjust:100%;ascent-override:102.5%;descent-override:27.5%;line-gap-override:0%}
</style>
<script>
/* theme before first paint: ?theme=light|dark for one view (the capture tool), else the stored choice under igneum-theme, else the system setting; ?motion=off marks the page data-motion=off so every .reveal is drawn at once (a headless render never scrolls) */
(function(){var t=null;try{t=new URLSearchParams(location.search).get("theme");}catch(e){}if(t!=="light"&&t!=="dark"){try{t=localStorage.getItem("igneum-theme");}catch(e){t=null;}}if(t!=="light"&&t!=="dark")t=window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";document.documentElement.setAttribute("data-theme",t);try{if(new URLSearchParams(location.search).get("motion")==="off")document.documentElement.setAttribute("data-motion","off");}catch(e){}})();
</script>
<!-- head:end -->
</head>
<body>
<!-- nav:start -->
<a class="skip" href="#main">Skip to content</a>
<nav class="nav" aria-label="Main" data-nav-version="5">
<div class="container nav-row">
<a href="/" class="logo" aria-label="Igneum home">
<svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg>
<span class="word">IGNEUM</span>
</a>
<span class="devnet" id="nav-devnet" title="igneum-devnet-4, the Igneum 2.0 devnet, chain id 4465. Coins have no value. The chain may reset."><span class="dot off" id="foot-dot"></span><span id="foot-state" data-devnet-state="live">Devnet live</span></span>
<div class="nav-groups" id="nav-groups" role="list">
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-mine" data-group="mine" aria-expanded="false" aria-controls="nav-panel-mine" aria-haspopup="true">Mine<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-network" data-group="network" aria-expanded="false" aria-controls="nav-panel-network" aria-haspopup="true">Network<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-learn" data-group="learn" data-active aria-expanded="false" aria-controls="nav-panel-learn" aria-haspopup="true">Learn<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
<div class="nav-group" role="listitem"><button type="button" class="group-btn" id="nav-btn-build" data-group="build" aria-expanded="false" aria-controls="nav-panel-build" aria-haspopup="true">Build<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></button></div>
</div>
<div class="nav-controls">
<button class="btn icon-btn" type="button" data-theme-toggle aria-label="Switch to light theme"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1 1m12 12 1 1M5 19l1-1M18 6l1-1"/></svg></button>
<a href="/download" class="btn primary small cta" data-nav="download">Download</a>
<button class="burger" id="nav-burger" type="button" aria-expanded="false" aria-controls="nav-sheet" aria-label="Open the menu" aria-haspopup="true"><svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path class="bars" d="M4 6h16M4 12h16M4 18h16"/><path class="cross" d="m6 6 12 12M6 18 18 6"/></svg></button>
</div>
</div>
<div class="panels" id="nav-panels">
<div class="panel-wrap container">
<div class="nav-panel" id="nav-panel-mine" data-group="mine" role="region" aria-labelledby="nav-btn-mine" hidden>
<div class="panel-list">
<a href="/miner" data-nav="miner"><b>Ember, the miner</b><span>One click installs the node, the miner and the prover.</span></a>
<a href="/download" data-nav="download"><b>Download</b><span>Windows, macOS, Linux and HiveOS.</span></a>
<a href="/app" data-nav="app"><b>The app</b><span>What you see while the card mines.</span></a>
<a href="/wallet" data-nav="wallet"><b>The wallet</b><span>Your coins. Final means final.</span></a>
<a href="/miners" data-nav="miners"><b>GPU bench table</b><span>Measured rates, card by card.</span></a>
<a href="/tuning" data-nav="tuning"><b>Tuning</b><span>The knee rule, the priors, the flags and the compiler settings, every figure measured.</span></a><a href="/dev-fee" data-nav="dev-fee"><b>The dev fee</b><span>The optional one, in full view, off with one flag.</span></a>
<a href="/metamask" data-nav="metamask"><b>Add to MetaMask</b><span>Igneum as a network in your wallet.</span></a>
</div>
</div>
<div class="nav-panel" id="nav-panel-network" data-group="network" role="region" aria-labelledby="nav-btn-network" hidden>
<div class="panel-list">
<a href="/live" data-nav="live"><b>Live devnet</b><span>The chain as it grows, one lane per miner.</span></a>
<a href="/explorer" data-nav="explorer"><b>Explorer</b><span>Look a block or an address up.</span></a>
<a href="/evidence" data-nav="evidence"><b>Evidence</b><span>Every claim and how far it is tested.</span></a>
<a href="/light" data-nav="light"><b>Light wallet</b><span>A balance your browser proves, trusting no node.</span></a>
<a href="/receipt" data-nav="receipt"><b>Payment receipt</b><span>A receipt any third party re-verifies offline.</span></a>
<a href="/oracle" data-nav="oracle"><b>State oracle on Sepolia</b><span>Balances on the devnet, read from another chain.</span></a>
</div>
</div>
<div class="nav-panel" id="nav-panel-learn" data-group="learn" role="region" aria-labelledby="nav-btn-learn" hidden>
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize" aria-current="page"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
<a href="/provenance" data-nav="provenance"><b>Built on the shoulders</b><span>Every borrowed part, credited.</span></a>
</div>
</div>
<div class="nav-panel" id="nav-panel-build" data-group="build" role="region" aria-labelledby="nav-btn-build" hidden>
<div class="panel-list">
<a href="/build" data-nav="build"><b>Build on Igneum</b><span>Chain ids, RPC, a contract in five minutes.</span></a>
<a href="/faucet" data-nav="faucet"><b>Devnet faucet</b><span>10 IGN of devnet coin, once a day.</span></a>
<a href="/swap" data-nav="swap"><b>Swap</b><span>Test tokens on the devnet; every swap is a proven block.</span></a>
<a href="/grants" data-nav="grants"><b>Grants</b><span>Tooling, apps, infrastructure, research.</span></a>
<a href="/compatibility" data-nav="compatibility"><b>Compatibility</b><span>Every row a test run against the devnet.</span></a>
</div>
</div>
</div>
</div>
<div class="nav-sheet" id="nav-sheet" role="dialog" aria-modal="true" aria-label="Menu" hidden>
<div class="sheet-scroll">
<div class="sheet-group"><div class="sheet-head">Mine</div>
<a href="/miner" data-nav="miner"><b>Ember, the miner</b><span>One click installs the node, the miner and the prover.</span></a>
<a href="/download" data-nav="download"><b>Download</b><span>Windows, macOS, Linux and HiveOS.</span></a>
<a href="/app" data-nav="app"><b>The app</b><span>What you see while the card mines.</span></a>
<a href="/wallet" data-nav="wallet"><b>The wallet</b><span>Your coins. Final means final.</span></a>
<a href="/miners" data-nav="miners"><b>GPU bench table</b><span>Measured rates, card by card.</span></a>
<a href="/tuning" data-nav="tuning"><b>Tuning</b><span>The knee rule, the priors, the flags and the compiler settings, every figure measured.</span></a><a href="/dev-fee" data-nav="dev-fee"><b>The dev fee</b><span>The optional one, in full view, off with one flag.</span></a>
<a href="/metamask" data-nav="metamask"><b>Add to MetaMask</b><span>Igneum as a network in your wallet.</span></a>
</div>
<div class="sheet-group"><div class="sheet-head">Network</div>
<a href="/live" data-nav="live"><b>Live devnet</b><span>The chain as it grows, one lane per miner.</span></a>
<a href="/explorer" data-nav="explorer"><b>Explorer</b><span>Look a block or an address up.</span></a>
<a href="/evidence" data-nav="evidence"><b>Evidence</b><span>Every claim and how far it is tested.</span></a>
<a href="/light" data-nav="light"><b>Light wallet</b><span>A balance your browser proves, trusting no node.</span></a>
<a href="/receipt" data-nav="receipt"><b>Payment receipt</b><span>A receipt any third party re-verifies offline.</span></a>
<a href="/oracle" data-nav="oracle"><b>State oracle on Sepolia</b><span>Balances on the devnet, read from another chain.</span></a>
</div>
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize" aria-current="page"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
<a href="/provenance" data-nav="provenance"><b>Built on the shoulders</b><span>Every borrowed part, credited.</span></a>
</div>
<div class="sheet-group"><div class="sheet-head">Build</div>
<a href="/build" data-nav="build"><b>Build on Igneum</b><span>Chain ids, RPC, a contract in five minutes.</span></a>
<a href="/faucet" data-nav="faucet"><b>Devnet faucet</b><span>10 IGN of devnet coin, once a day.</span></a>
<a href="/swap" data-nav="swap"><b>Swap</b><span>Test tokens on the devnet; every swap is a proven block.</span></a>
<a href="/grants" data-nav="grants"><b>Grants</b><span>Tooling, apps, infrastructure, research.</span></a>
<a href="/compatibility" data-nav="compatibility"><b>Compatibility</b><span>Every row a test run against the devnet.</span></a>
</div>
<div class="sheet-foot">
<a href="/download" class="btn primary big" data-nav="download">Download</a>
<div class="sheet-social"><a href="https://discord.gg/igneum" target="_blank" rel="noopener">Discord</a><a href="https://git.igneum.network/igneum-network/spec" target="_blank" rel="noopener">Source</a><a href="https://www.reddit.com/user/Igneum_network/" target="_blank" rel="noopener">Reddit</a></div>
</div>
</div>
</div>
</nav>
<script>
(function(){
// the slim bar (site-ui-5, 7 Oct 2026): three group buttons open one panel each; the burger opens the sheet on phones.
// Keyboard: Enter or Space opens a group, Escape closes it and returns focus to its button, arrows move between the
// group buttons, Tab walks the open panel's links, a click outside closes. The theme toggle flips data-theme and stores it.
var n=document.querySelector('.nav');if(!n)return;
var btns=[].slice.call(n.querySelectorAll('.group-btn')),panels=[].slice.call(n.querySelectorAll('.nav-panel')),wrap=n.querySelector('.panels');
var burger=document.getElementById('nav-burger'),sheet=document.getElementById('nav-sheet');
function panelOf(g){return panels.filter(function(p){return p.getAttribute('data-group')===g;})[0];}
function closeAll(focusBack){var was=null;btns.forEach(function(b){if(b.getAttribute('aria-expanded')==='true')was=b;b.setAttribute('aria-expanded','false');});panels.forEach(function(p){p.hidden=true;});n.classList.remove('panel-open');if(focusBack&&was)was.focus();}
function open(g){closeAll(false);var b=btns.filter(function(x){return x.getAttribute('data-group')===g;})[0],p=panelOf(g);if(!b||!p)return;b.setAttribute('aria-expanded','true');p.hidden=false;n.classList.add('panel-open');anchor(b,p);}
// the panel sits under its button; a panel that would run past the container's right edge aligns its right edge to the button's right edge instead (never past the viewport)
function anchor(b,p){var pw=n.querySelector('.panel-wrap');if(!pw)return;var cr=pw.getBoundingClientRect(),br=b.getBoundingClientRect(),w=p.offsetWidth,left=br.left-cr.left;if(left+w>cr.width)left=(br.right-cr.left)-w;if(left<0)left=0;p.style.setProperty('--panel-left',Math.round(left)+'px');}
window.addEventListener('resize',function(){var o=btns.filter(function(x){return x.getAttribute('aria-expanded')==='true';})[0];if(o)anchor(o,panelOf(o.getAttribute('data-group')));}); btns.forEach(function(b,i){
b.addEventListener('click',function(){var on=b.getAttribute('aria-expanded')==='true';if(on)closeAll(false);else open(b.getAttribute('data-group'));});
b.addEventListener('keydown',function(e){
var k=e.key;
if(k==='ArrowRight'||k==='ArrowLeft'){e.preventDefault();var j=(i+(k==='ArrowRight'?1:btns.length-1))%btns.length;btns[j].focus();if(n.classList.contains('panel-open'))open(btns[j].getAttribute('data-group'));}
else if(k==='ArrowDown'){e.preventDefault();open(b.getAttribute('data-group'));var f=panelOf(b.getAttribute('data-group')).querySelector('a');if(f)f.focus();}
else if(k==='Escape'){closeAll(true);}
});
});
if(wrap)wrap.addEventListener('keydown',function(e){if(e.key==='Escape'){e.stopPropagation();closeAll(true);}});
document.addEventListener('click',function(e){if(!n.classList.contains('panel-open'))return;if(e.target.closest('.group-btn')||e.target.closest('.nav-panel'))return;closeAll(false);});
document.addEventListener('focusin',function(e){if(!n.classList.contains('panel-open'))return;if(n.contains(e.target))return;closeAll(false);});
document.addEventListener('keydown',function(e){if(e.key==='Escape'&&n.classList.contains('panel-open'))closeAll(true);});
// the sheet on phones
function setSheet(o){if(!burger||!sheet)return;n.classList.toggle('open',o);sheet.hidden=!o;burger.setAttribute('aria-expanded',o?'true':'false');burger.setAttribute('aria-label',o?'Close the menu':'Open the menu');document.documentElement.classList.toggle('nav-locked',o);if(o){var f=sheet.querySelector('a');if(f)f.focus();}}
if(burger&&sheet){
burger.addEventListener('click',function(){setSheet(!n.classList.contains('open'));});
sheet.addEventListener('click',function(e){if(e.target.closest('a'))setSheet(false);});
sheet.addEventListener('keydown',function(e){
if(e.key==='Escape'){setSheet(false);burger.focus();return;}
if(e.key!=='Tab')return;var f=sheet.querySelectorAll('a,button');if(!f.length)return;var first=f[0],last=f[f.length-1];
if(e.shiftKey&&document.activeElement===first){e.preventDefault();burger.focus();}else if(!e.shiftKey&&document.activeElement===last){e.preventDefault();burger.focus();}
});
burger.addEventListener('keydown',function(e){if(e.key==='Tab'&&!e.shiftKey&&n.classList.contains('open')){e.preventDefault();var f=sheet.querySelector('a');if(f)f.focus();}});
var mq=window.matchMedia('(min-width:861px)');if(mq.addEventListener)mq.addEventListener('change',function(){setSheet(false);});
}
// the theme toggle
var t=n.querySelector('[data-theme-toggle]');
function paintToggle(){var dark=document.documentElement.getAttribute('data-theme')!=='light';t.setAttribute('aria-label',dark?'Switch to light theme':'Switch to dark theme');t.innerHTML=dark?'<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1 1m12 12 1 1M5 19l1-1M18 6l1-1"/></svg>':'<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M20.7 13.3A8.5 8.5 0 0 1 10.7 3.3 8.5 8.5 0 1 0 20.7 13.3Z"/></svg>';}
if(t){t.addEventListener('click',function(){var v=document.documentElement.getAttribute('data-theme')==='light'?'dark':'light';document.documentElement.setAttribute('data-theme',v);try{localStorage.setItem('igneum-theme',v);}catch(e){}document.dispatchEvent(new CustomEvent('igneum-theme'));});paintToggle();document.addEventListener('igneum-theme',paintToggle);}
})();
</script>
<!-- nav:end -->
<main id="main">
<section class="page-hero"><div class="container">
<div class="eyebrow">Disclosure prize</div>
<h1>A better adversary, or a reproduced shortcut.</h1>
<p class="lead">A GPU-secured network for Ethereum-compatible applications and verifiable computation. The prize rewards a finding that moves the served chip bracket or breaks the served kit, never a confirmation of what the project already states. These are the terms; the amount is set by the founder and served here when set.</p>
</div></section>
<section class="section"><div class="container">
<h2>What the prize pays for</h2>
<div class="tbl"><table>
<thead><tr><th>Finding</th><th>What qualifies</th><th>Against what</th></tr></thead>
<tbody>
<tr><td>(a) An adversarial implementation</td><td>A placed-and-routed or measured implementation (synthesis alone does not qualify) that beats the served energy or cost bracket against the best practical GPU implementation, under the one acceptance rule and the published budget</td><td>The served sentence on <a href="/litepaper#chip-model">the chip model</a>, its per-tier line and the <a href="/acceptance">acceptance standard</a>’s P04 target</td></tr>
<tr><td>(b) A reproduced shortcut</td><td>A hash computed with fewer dataset reads or less work than the generator’s, reproduced on the served harness</td><td>The served kit: the generator, the verifier, the dataset policy and the measurement harness pinned by digest in <a href="/release.json">the release manifest</a></td></tr>
</tbody>
</table></div>
<h2>What it does not pay for</h2>
<p>Confirmations of the served figures. Synthesis-only rows. Results outside the published budget (the 10 percent GPU-cost budget at the lock, the verifier limit, cross-vendor correctness, hardware accessibility). Findings on classes already on the excluded list (the long program, the select tree, the wide read, the scratchpad, the mixed FP32 candidate, the connected-state variant: <a href="/litepaper#chip-model">the negative controls</a>).</p>
<h2>How a claim is made and judged</h2>
<p>A claim is a written report with the harness run that reproduces it. It is judged in-house, under the plan’s in-house rule, against the one acceptance rule, and the finding is served whatever the verdict: a finding that beats the bracket replaces the served sentence with its label, and a finding that does not is published with the reason. Send the report to <a href="mailto:hello@igneum.network">hello@igneum.network</a>.</p>
<h2>The amount</h2>
<p><b>The amount is set by the founder and served here when set.</b> No figure is served before his word.</p>
<p class="src">Terms as the Counter ASIC coordinator set them on 8 October 2026 under the plan’s in-house rule (<a href="https://git.igneum.network/igneum-network/igneum/src/branch/master/docs/plans/igneum-2.0.md">the pins</a>, p. 12 of the plan). No chip percentages, no rank. Not legal advice.</p>
</div></section>
</main>
<!-- footer:start -->
<footer class="site-footer">
<div class="container">
<p class="positioning">A GPU-secured network for Ethereum-compatible applications and verifiable computation.</p>
<div class="footer-grid">
<div class="footer-brand">
<a href="/" class="logo" aria-label="Igneum home"><svg class="brand-mark" viewBox="0 0 1024 1024" aria-hidden="true"><rect width="1024" height="1024" rx="160" fill="#0C0C0E"></rect><g transform="translate(166.95 166.95) scale(6.901)"><polygon points="50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34" fill="#F2541B"></polygon><polygon points="50,42 59,58 50,82 41,58" fill="#0C0C0E"></polygon></g></svg><span class="word">IGNEUM</span><span class="stop">.</span></a>
<p>Mined by GPUs. Proven by fire.</p>
<div class="social" aria-label="Igneum elsewhere">
<a href="https://discord.gg/igneum" target="_blank" rel="noopener" aria-label="The Igneum Discord"><svg viewBox="0 0 24 24" width="22" height="22" fill="currentColor" aria-hidden="true"><path d="M19.6 5.3A17 17 0 0 0 15.4 4l-.2.4a15.6 15.6 0 0 1 3.9 1.9 13.6 13.6 0 0 0-14.2 0A15.6 15.6 0 0 1 8.8 4.4L8.6 4a17 17 0 0 0-4.2 1.3C1.8 9.2 1.1 13 1.4 16.7a17.1 17.1 0 0 0 5.2 2.6l1.1-1.8a10.8 10.8 0 0 1-1.7-.8l.4-.3a12.2 12.2 0 0 0 11.2 0l.4.3-1.7.8 1.1 1.8a17 17 0 0 0 5.2-2.6c.4-4.3-.7-8-3-11.4zM8.7 14.4c-1 0-1.8-.9-1.8-2.1s.8-2.1 1.8-2.1 1.9 1 1.8 2.1c0 1.2-.8 2.1-1.8 2.1zm6.6 0c-1 0-1.8-.9-1.8-2.1s.8-2.1 1.8-2.1 1.9 1 1.8 2.1c0 1.2-.8 2.1-1.8 2.1z"></path></svg></a>
<a href="https://git.igneum.network/igneum-network/spec" target="_blank" rel="noopener" aria-label="Igneum source: the spec, the vectors and the issues"><svg viewBox="0 0 24 24" width="22" height="22" fill="currentColor" aria-hidden="true"><path d="M8.6 17.6 3 12l5.6-5.6 1.4 1.4L5.8 12l4.2 4.2zm6.8 0-1.4-1.4L18.2 12 14 7.8l1.4-1.4L21 12z"></path></svg></a>
<a data-social="reddit" href="https://www.reddit.com/user/Igneum_network/" target="_blank" rel="noopener" aria-label="Igneum on Reddit"><svg viewBox="0 0 24 24" width="22" height="22" fill="currentColor" aria-hidden="true"><path d="M22 12.1a2.2 2.2 0 0 0-3.7-1.6 10.8 10.8 0 0 0-5.8-1.8l1-4.6 3.2.7a1.5 1.5 0 1 0 .2-.9l-3.6-.8a.5.5 0 0 0-.5.4l-1.1 5.2a10.8 10.8 0 0 0-5.9 1.8A2.2 2.2 0 1 0 3.4 14a4.3 4.3 0 0 0 0 .7c0 3.4 3.9 6.1 8.6 6.1s8.6-2.7 8.6-6.1a4.3 4.3 0 0 0 0-.7 2.2 2.2 0 0 0 1.4-1.9zM7 13.6a1.5 1.5 0 1 1 1.5 1.5A1.5 1.5 0 0 1 7 13.6zm8.6 4.1a5.7 5.7 0 0 1-3.6 1.1 5.7 5.7 0 0 1-3.6-1.1.4.4 0 0 1 .6-.6 4.9 4.9 0 0 0 3 .9 4.9 4.9 0 0 0 3-.9.4.4 0 0 1 .6.6zm-.3-2.6a1.5 1.5 0 1 1 1.5-1.5 1.5 1.5 0 0 1-1.5 1.5z"></path></svg></a>
<a href="mailto:hello@igneum.network" aria-label="Email hello@igneum.network"><svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2"></rect><path d="m3.5 6.5 8.5 6.5 8.5-6.5"></path></svg></a>
</div>
<div class="footer-dl" aria-label="Download Ember"><a href="/download#windows"><span class="osmark mini" data-os="windows" title="Windows"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="currentColor"><path d="M3 5.6l7.3-1v7.1H3zM11.4 4.4L21 3v8.7h-9.6zM3 12.3h7.3v7.1L3 18.4zM11.4 12.3H21V21l-9.6-1.4z"/></svg></span>Windows</a><a href="/download#mac"><span class="osmark mini" data-os="mac" title="macOS"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="currentColor"><path d="M16.4 12.6c0-2.5 2-3.6 2.1-3.7-1.2-1.7-3-1.9-3.6-2-1.5-.2-3 .9-3.8.9-.8 0-2-.9-3.3-.8-1.7 0-3.2 1-4.1 2.5-1.8 3-.5 7.6 1.3 10.1.9 1.2 1.9 2.6 3.2 2.5 1.3 0 1.8-.8 3.3-.8 1.6 0 2 .8 3.3.8 1.4 0 2.3-1.2 3.1-2.5 1-1.4 1.4-2.8 1.4-2.9 0 0-2.7-1-2.9-4.1zM13.9 5.3c.7-.8 1.2-2 1-3.2-1 0-2.2.7-2.9 1.5-.6.7-1.2 1.9-1 3 1.1.1 2.2-.5 2.9-1.3z"/></svg></span>macOS</a><a href="/download#linux"><span class="osmark mini" data-os="linux" title="Linux"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="currentColor"><path d="M12 2c-2.4 0-4 1.9-4 4.6 0 1.2.2 2 0 2.8-.6 1.4-2.1 2.9-2.6 4.9-.3 1.1-.1 2 .3 2.6-.6.4-1.3 1-1.1 1.7.3 1 2.1 1.2 3.2 1.8.7.4 1.5.6 2.1.1.6.2 1.3.3 2.1.3s1.5-.1 2.1-.3c.6.5 1.4.3 2.1-.1 1.1-.6 2.9-.8 3.2-1.8.2-.7-.5-1.3-1.1-1.7.4-.6.6-1.5.3-2.6-.5-2-2-3.5-2.6-4.9-.2-.8 0-1.6 0-2.8C16 3.9 14.4 2 12 2zm-1.4 4.2c.5 0 .8.5.8 1.2s-.3 1.2-.8 1.2-.8-.5-.8-1.2.3-1.2.8-1.2zm2.8 0c.5 0 .8.5.8 1.2s-.3 1.2-.8 1.2-.8-.5-.8-1.2.3-1.2.8-1.2zM12 9.3c.9 0 1.9.5 1.9 1s-1 1.2-1.9 1.2-1.9-.7-1.9-1.2 1-1 1.9-1zm0 3.4c2.2 0 3.6 2.6 3.6 4.4 0 1.5-1.6 2.3-3.6 2.3s-3.6-.8-3.6-2.3c0-1.8 1.4-4.4 3.6-4.4z"/></svg></span>Linux</a><a href="/download#hive"><span class="osmark mini" data-os="hive" title="HiveOS"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" focusable="false" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linejoin="round" stroke-linecap="round"><path d="M12 2.6 20.2 7.3v9.4L12 21.4 3.8 16.7V7.3z"/><path d="M12 7.4 16 9.7v4.6L12 16.6 8 14.3V9.7z"/><path d="M12 7.4V2.6M16 9.7l4.2-2.4M16 14.3l4.2 2.4M12 16.6v4.8M8 14.3l-4.2 2.4M8 9.7 3.8 7.3"/></svg></span>HiveOS</a></div>
<a href="https://git.igneum.network/igneum-network/spec" target="_blank" rel="noopener" class="text-link">Specification and test vectors<svg class="icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M6 18 18 6M6 6h12v12"/></svg></a>
</div>
<div class="footer-column"><h4>Run</h4><div>
<a href="/download">Download Ember</a>
<a href="/miner">The miner</a>
<a href="/app">The app</a>
<a href="/wallet">The wallet</a>
<a href="/miners">GPU bench table</a>
<a href="/dev-fee">The dev fee</a>
<a href="/faucet">Devnet faucet</a>
<a href="/metamask">Add Igneum to MetaMask</a>
</div></div>
<div class="footer-column"><h4>Read</h4><div>
<a href="/litepaper">Litepaper</a>
<a href="/evidence">Evidence</a>
<a href="/ledger">Ledger: every criticism</a>
<a href="/claims">What Igneum does not claim</a>
<a href="/randomx">Igneum vs RandomX</a>
<a href="/provenance">Built on the shoulders</a>
</div></div>
<div class="footer-column"><h4>Explore</h4><div>
<a href="/live">Live devnet</a>
<a href="/explorer">Explorer</a>
<a href="/build">Build on Igneum</a>
<a href="/swap">Swap</a>
<a href="/grants">Grants</a>
<a href="/download">Downloads: devnet build</a>
<a href="https://discord.gg/igneum" target="_blank" rel="noopener">Community Discord</a>
<a href="mailto:hello@igneum.network">hello@igneum.network</a>
<a href="https://git.igneum.network/igneum-network/spec/issues" rel="noopener">An issue on the spec</a>
</div></div>
</div>
<div class="footer-bottom">
<p>Igneum Labs LTD · Unit IH-00-01-01-OF-01, Level 01, Innovation One, Dubai International Financial Centre. Experimental software. Nothing on this site is an offer to sell anything.<br>Report a flaw by email or by an issue on the spec. Nobody from Igneum will ask for your seed. © 2026 Igneum · not an offer to sell anything</p>
<div class="theme-group" role="group" aria-label="Theme"><button type="button" data-theme-set="system" aria-pressed="true">System</button><button type="button" data-theme-set="light" aria-pressed="false">Light</button><button type="button" data-theme-set="dark" aria-pressed="false">Dark</button></div>
</div>
</div>
</footer>
<script>
(function(){
// theme control: stores light or dark under igneum-theme; system clears it and follows the OS. The head applied the value before paint.
var bs=document.querySelectorAll('[data-theme-set]');if(!bs.length)return;
var media=window.matchMedia('(prefers-color-scheme: light)');
function stored(){try{var t=localStorage.getItem('igneum-theme');return t==='light'||t==='dark'?t:'system';}catch(e){return 'system';}}
function apply(){var c=stored();document.documentElement.setAttribute('data-theme',c==='system'?(media.matches?'light':'dark'):c);bs.forEach(function(b){b.setAttribute('aria-pressed',b.getAttribute('data-theme-set')===c?'true':'false');});document.dispatchEvent(new CustomEvent('igneum-theme'));}
bs.forEach(function(b){b.addEventListener('click',function(){var v=b.getAttribute('data-theme-set');try{if(v==='system')localStorage.removeItem('igneum-theme');else localStorage.setItem('igneum-theme',v);}catch(e){}apply();});});
if(media.addEventListener)media.addEventListener('change',function(){if(stored()==='system')apply();});
document.addEventListener('igneum-theme',function(){var c=stored();bs.forEach(function(b){b.setAttribute('aria-pressed',b.getAttribute('data-theme-set')===c?'true':'false');});});
bs.forEach(function(b){b.setAttribute('aria-pressed',b.getAttribute('data-theme-set')===stored()?'true':'false');});
// the network state word in the status bar: one read of the observer per page view
var fs=document.getElementById('foot-state'),fd=document.getElementById('foot-dot');if(fs&&fd&&fs.getAttribute('data-devnet-state')==='live'){fetch('/api/live?window=30',{cache:'no-store'}).then(function(r){return r.json();}).then(function(d){var on=d&&d.ok&&d.state&&!d.state.stale;fs.textContent=on?'devnet live':'devnet, observer stale';fd.className='dot '+(on?'live':'off');}).catch(function(){fs.textContent='devnet';});}
})();
</script>
<!-- footer:end -->
</body>
</html>

View file

@ -130,7 +130,7 @@ table{min-width:560px}
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -170,7 +170,7 @@ table{min-width:560px}
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -156,7 +156,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -196,7 +196,7 @@ main{padding-bottom:100px}.card{background:var(--row);border:1px solid var(--lin
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -129,7 +129,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx" aria-current="page"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -169,7 +169,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx" aria-current="page"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -135,7 +135,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -175,7 +175,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -1,6 +1,6 @@
{
"format": "igneum-release-manifest-v1",
"generated": "2026-10-08T19:57:00Z",
"generated": "2026-10-08T19:59:00Z",
"read_at": "read 8 October 2026, 17:2x UK, from the node lane's line on build-1's seed (the re-cut node 4cdcc488) at the first block",
"labels": {
"measured": "read from a running node, a binary or a record",
@ -66,7 +66,8 @@
"app": {
"name": "Ember",
"channel": "devnet-4",
"note": "the macOS build is 2.0.0 (unsigned tonight; a signed and notarized build follows); the Windows and HiveOS builds are the 0.3.26 line until the 2.0.0 cut ships for them; the versions block carries each file's SHA-256"
"version": "2.0.1",
"note": "2.0.1 on every platform (Mac 20:16, HiveOS 20:25, Windows 20:56 UK, 8 October 2026); 2.0.0 is withdrawn (its miner could not read this network's block templates) and every 2.0.0 install updates itself to 2.0.1; the Mac build is unsigned tonight; min_supported_version 2.0.1"
}
},
"mining": {
@ -207,11 +208,11 @@
"url": "https://dl.igneum.network/dl/public/Igneum-Miner-2.0.1-7cfa422a-aa0e0f45.dmg"
},
"miner-windows": {
"version": "2.0.0",
"file": "Igneum-Miner-Setup-2.0.0.exe",
"sha256": "793a631dc2084e6d6f778f13602d674a0c134af746b6355c25d3998c2be18b79",
"size": 63803668,
"url": "https://dl.igneum.network/dl/public/Igneum-Miner-Setup-2.0.0.exe"
"version": "2.0.1",
"file": "Igneum-Miner-Setup-2.0.1.exe",
"sha256": "ce6bb00cd738fa08348fd8121781479109a5b2c2059a04fe7c22ad7aa3f12bf9",
"size": 63831654,
"url": "https://dl.igneum.network/dl/public/Igneum-Miner-Setup-2.0.1.exe"
},
"wallet-mac": {
"version": "0.1.6",
@ -221,7 +222,7 @@
"url": "https://dl.igneum.network/dl/public/Igneum-Wallet-0.1.6.dmg"
}
},
"versions_updated": "2026-10-08T19:44:46Z",
"versions_updated": "2026-10-08T19:51:38Z",
"sources": {
"network": "the node lane's read of build-1's seed (igneum-devnet-4) at the first block, 8 October 2026, 17:14 UK",
"node": "the node lane's line: release-2.0.0-node 4cdcc488, igneumd/2.0.0-4cdcc488",

View file

@ -121,7 +121,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -161,7 +161,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>

View file

@ -103,7 +103,7 @@
<div class="panel-list">
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard" aria-current="page"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard" aria-current="page"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -143,7 +143,7 @@
<div class="sheet-group"><div class="sheet-head">Learn</div>
<a href="/litepaper" data-nav="litepaper"><b>Litepaper</b><span>The design, as published.</span></a>
<a href="/income" data-nav="income"><b>Income</b><span>What your card would mine, from the live network.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard" aria-current="page"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/economics" data-nav="economics"><b>Economics</b><span>The emission, the split and the fees, each with its line in the node.</span></a><a href="/scorecard" data-nav="scorecard" aria-current="page"><b>Scorecard</b><span>The twelve acceptance gates, their evidence and where each stands.</span></a><a href="/prize" data-nav="prize"><b>Prize</b><span>A better adversary or a reproduced shortcut, never a confirmation: the terms.</span></a><a href="/acceptance" data-nav="acceptance"><b>Acceptance</b><span>The Test and Acceptance Standard, case by case, as each one passes.</span></a><a href="/audit" data-nav="audit"><b>Site audit</b><span>Every page, what the reset changed and what is open.</span></a><a href="/docs" data-nav="docs"><b>Documents</b><span>The plan, the standard, the specifications and the evidence files, by path.</span></a>
<a href="/ledger" data-nav="ledger"><b>Ledger</b><span>Every criticism, answered or conceded.</span></a>
<a href="/claims" data-nav="claims"><b>What Igneum does not claim</b><span>The limits, stated first.</span></a>
<a href="/randomx" data-nav="randomx"><b>Igneum vs RandomX</b><span>What was kept and what was rebuilt for GPUs.</span></a>
@ -234,6 +234,7 @@
</tbody>
</table></div>
<p class="src"><b>Source:</b> <code>docs/plans/igneum-2.0-plan.txt</code>, section 23 (the acceptance scorecard) and the pins in <code>docs/plans/igneum-2.0.md</code>; the Today column is the facts page’s label for the rows each gate cites, and moves only with those rows. The five labels: TEAM-REPORTED, MODELLED, PROPOSED, PENDING, EXCLUDED. The public mirror follows master; a link that answers 404 is a file not yet synced.</p>
<p>A finding that moves a gate the other way, a placed or measured adversary that beats the served bracket or a reproduced shortcut in the served kit, earns <a href="/prize">the disclosure prize</a>; the terms are on that page.</p>
<h2>The release evidence packet</h2>
<p>A source commit, exact parameters, the test procedure, the raw result, the independent-reproduction status, the review scope and the unresolved limitations accompany every material claim. On this site that packet is the facts page’s row: its Version or commit, Reproducible test, Result and Independent verification cells, with the limitations stated in the row. A claim without a packet is not served.</p>
<h2>The wording ladder</h2>

Some files were not shown because too many files have changed in this diff Show more