Igneum: the GPU-mined zkEVM L1. Node, miner, app, spec and site.
Find a file
igneum-labs 7e60442e22 app-ia-26 item 4: the Tune page; nothing about tuning anywhere else
The founder's audit (docs/design/app-audit-2026-10-08.md, 4.2 and item 4): Tune is the one place a card's driving is read
and set. The strip: the fleet's three tier buttons with the measured rate and watts and the saving against stock in
watts ("358 W under stock", never money, never "saves"), Tune all, ONE sentence ("Balanced on 2 cards. Measured 1 h ago,
next check 15 Oct." and its measuring, table, off, paused and class-flip forms), the switch "Measure cards by itself"
(today's s-sweep, moved from Settings), Fine tuning when the engine offers it, the heat line only while heat mode is on,
and one sentence with a button when NVIDIA cards are measure-only. Then one card per graphics card: the head (mark, name,
the live "127 MH/s · 372 W · 0.34 MH/W", one Tune, Retune or Stop button), the card's three tiers, one line
(View.tuneLine: "Locked at 1,950 MHz, cap 372 W. Knee at 1,100 MHz." or its unlocked, measuring, no-lever, re-measuring,
table and not-measured forms; MHz and watts only, one baseline), and a closed Details disclosure: the curve with a
two-sentence caption, the cap as one sentence beside the slider (View.capSentence: "Cap 405 W (90%). The card draws
372 W at the lock."), the miners stepper with one sentence, the telemetry line, the facts line, the driver note. The
driver offer stays on the card. The foot carries the knee rule once, in the markup. The card html is built in the View
block (View.tuneCardHtml) so the once-tests read it with no DOM.

Gone: the Tuned, Locked and Ember lines under a row, the fleet saving, the price figure, the rule constants, the goal
segments, the per-card IGN a day, the Settings Tuning card (its Power control switch is its own Settings card now, the
sentence with "at install"), the second power switch on the strip. The Mine row is the plain row of 4.1 item 5 (mark,
name, kind, state word, MH/s, W, °C, the switch; no chevron, no buttons, no money) and the card list is back on Mine.
The engine's choices (api/cards) read the switch from Mine and the cap and miners count from Tune.

Tests known-failed first on build-2 (11 red in once.test.mjs: T-R1, R2, R3, R4, R5, R6 with A10, R7, A7, A9, A11, R16
with R17), then green with the view-test fixtures following (the saving wording, the strip sentence, no fleetSaving,
priceFigure, TIER_RULE, LOCK_RULE or cardIgnDay exports). Captures from the mock on build-2 in
~/Desktop/igneum-previews-2026-10-08/app-ia-26/item4 (tiers, first minute, table, class flip, knob, details open; Mine
and Settings after the move).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 14:04:46 +00:00
.claude/agents Igneum: design docs, Metal lottery-hash prototype, CUDA test pack, finality simulation 2026-10-03 15:06:01 +00:00
.github/workflows windows.yml smoke: a direct call with the exit code read, in place of Start-Process -Wait -PassThru that raced a program exiting at once (the 0.3.21 run's failure at the version read-back) 2026-10-07 17:02:58 +00:00
app app-ia-26 item 4: the Tune page; nothing about tuning anywhere else 2026-10-08 14:04:46 +00:00
brand brand/marks/vendor-marks.mjs: the app's vendor marks and tokens exported verbatim for the site (site-ui-5), with the Windows mark in the same treatment and macOS as the Apple glyph, regen.mjs to refresh it from app.js, a view test that fails on drift; the review shots re-taken on build-2 against gpu-logos-21 (the Prove page on, off and light added: the switch fix in the picture) 2026-10-07 13:28:36 +00:00
docs Merge pool-finish-22 b3872b77 into release-0.3.24 (the pool daemon reconnects its node connections after a node restart; rejections by code in STATUS and /api/stats; dn3-split-read.mjs as the pool lane's) 2026-10-07 21:39:35 +00:00
igneum-census Counter ASIC 3.0 item 8: the latency-shadow knob (LoadClass +sh<S>x<R>), its packs and the PC 2 playbook 2026-10-06 07:58:35 +00:00
igneum-pow 0.3.24: igneum-pow and the class v5 packs from the frozen class-v5 f2267bb6 (rule 7: the node, the pool daemon and the app's CPU re-check pair against the pinned igneum-pow; the packs pin travels with the generator); the sub-version 3 packs unchanged 2026-10-07 21:44:18 +00:00
infra fast-time: override-60x.json taken whole from ca3-v4-node (81 keys: master's 75 plus base_unit_decimals, pool_split_activation_daa, program_class_v5_activation_daa, proving_base_fee_ceiling_multiple, proving_fee_ceiling_activation_daa, subsidy_per_block_activation_daa; no shared value differs), the file the 0.3.25 node line's test fast_time_60x_file_is_the_devnet_at_60x reads key by key; a single added field moved the red to the next key (8 October 2026, 11:2x UK) 2026-10-08 10:24:26 +00:00
packaging 0.3.26: the version bump (rule 15; a node-only release: the sink-age gate hotfix on the node line, the app crate unchanged from 0.3.25) 2026-10-08 13:33:51 +00:00
pool Pool daemon: every node connection reconnects by itself after the node restarts (connect_reconnecting: the gRPC client reconnect flag, off in GrpcClient::connect; 7 October 2026, the Devnet 3 sweep minute with daemons running on across their nodes restart); pool.md 10.5d row 2026-10-07 21:17:57 +00:00
proto-cuda 0.3.24: igneum-pow and the class v5 packs from the frozen class-v5 f2267bb6 (rule 7: the node, the pool daemon and the app's CPU re-check pair against the pinned igneum-pow; the packs pin travels with the generator); the sub-version 3 packs unchanged 2026-10-07 21:44:18 +00:00
proto-metal 0.3.25: the Metal worker from class-v5 79799452 (proto-metal/main.swift and packbench.swift: the generator-5 path, packClassOf v5, servePackDataset reading leaves.bin as buffer 3); the DMG's igneum-bench built from f2267bb6's tree refused epoch 19 at prepare (generator 5 not run), the cause of the Mac side of the Devnet 3 stall at the class v5 floor; the igneum-pow pairing f2267bb6 unchanged (the worker host is the kit's, the hash object the freeze's) 2026-10-08 11:54:52 +00:00
proto-newpow Horizon: lane 8 (new-proof-of-work) lands: three schemes, two prototypes measured on rented 4090s 2026-10-06 20:18:39 +00:00
proto-opencl 0.3.25: the AMD core-clock and power-cap knob for Ember Tune (main's order of 8 October 2026: PC 1's RX 9070 XT measured 18.9 MH/s at 202 W and stopped, "no knob on AMD"; the card is latency-bound on the whole class v4 ladder, so a core-clock cap is the lever as on NVIDIA). Two findings behind the stop: the app's AMD lever (--tune, --set-gmax, --set-plimit, --reset in igneum-gpu-telemetry: ADLX IADLXManualGraphicsTuning2 and IADLXManualPowerTuning on Windows, pp_od_clk_voltage and hwmon power1_cap on Linux) was built on 5 October (8c27350f) and never left branch opencl-rdna4-telemetry, so the kit's exe answers no tune line and every AMD tune fell to "measure only"; and the 9070 XT's max clock is an OFFSET range (gmax 0, gmax_range -500 1000), which the engine read as "no clock knob". Now: proto-opencl/gpu-telemetry.c takes 8c27350f's tool whole (a superset of the shipped one); src/ember.rs amd_knob turns the tune line and the card's stock clock under load into the knob (clock ladder stock down to stock + gmax_min, power ladder on the percent scale 100 + plimit range; absolute-MHz drivers pass through), amd_limits, amd_gmax_arg (the apply sends the offset), and "not available (<reason>)" with nothing set for no AMD device, a tune line that read an error, Linux (root under /sys, a later cut), or a stock clock not yet known; Plan::full takes a narrow range (the floor above the 45 percent rung) as the fine ladder alone in 100 MHz steps, so the 9070 XT runs 2870, 2770, 2670, 2570, 2470 under a 2,970 MHz stock, the stop rule at the knee or a faulted row, lock_result and the lock_* fields as on NVIDIA. ADLX manual tuning needs no elevation (PC 1, 5 October 2026, an unelevated job), so the no-prompt rule holds with no Power Helper verb; nothing of the engine runs elevated. engine.rs carries the whole tune line in TuneProbe.amd_tune and the card's amd_stock_mhz and amd_gmax_offset. Tests known-failed first: the_amd_knob_reports_not_available_with_its_reason_and_sets_nothing, the_9070_xt_gets_a_power_ladder_and_a_clock_ladder_from_its_stock_clock, the_9070_xt_ladder_locks_at_the_knee (a declared ladder in the card's shape, not a measurement). Owed: the kit's igneum-gpu-telemetry.exe rebuilt from this source (MSVC on a PC or build-1, the ADLX SDK at vendor/adlx beside the tree), then the first measured grid on PC 1 by job when the hash lane's queue is clear 2026-10-08 08:42:15 +00:00
proto-vdf proto-vdf: Wesolowski VDF between the certified checkpoint and the program seed 2026-10-03 16:39:01 +00:00
proving exec 0.3.14 app side on release-0.3.14: the prover exports from one block below and seeds from the account dump; nothing claimed below the restart; the harnesses 2026-10-06 16:59:18 +00:00
relay ca3-pc1-amd-grid.ps1 finds the rebuilt telemetry exe by itself: the newest igneum-gpu-telemetry*.exe under the data root's jobs folders (a fetch job's landing place) whose --tune prints a tune line, before the installed exe (the kit's old tool has no --tune, so the first grid stopped at no_tune_line); IGNEUM_GRID_TOOL still overrides 2026-10-08 10:27:53 +00:00
scene The shard sentence from the block's facts (7 October 2026, the site's animation said "no shard plan yet" on every planless block): IgneumDag.shardWords(block, nowMs) in scene/live-dag.js (2.0.6) is the one source for the tooltip, the /live inspector and the app's inspector: no shards reads shard plan loading (a chain block under 10 s), excluded, nothing to prove, not yet ordered (pending), off the selected chain, no shards planned, or no shard plan after N s; a planned shard with no prover reads awaiting a prover with the block's age, assigned to <prover> when one holds it, proving, verified, paid as before; the app's inspector prints these per shard and as the count line; the copies synced; tools/scene/shard-words.test.mjs on the gate's scene line, known-failed first on 2.0.5 2026-10-07 18:13:23 +00:00
sim Merge box-capacity 585e87b: the builder's background capacity layer (fuzz, sims, sweeps, clippy; yields to builds) 2026-10-06 21:35:54 +00:00
site The shard sentence from the block's facts (7 October 2026, the site's animation said "no shard plan yet" on every planless block): IgneumDag.shardWords(block, nowMs) in scene/live-dag.js (2.0.6) is the one source for the tooltip, the /live inspector and the app's inspector: no shards reads shard plan loading (a chain block under 10 s), excluded, nothing to prove, not yet ordered (pending), off the selected chain, no shards planned, or no shard plan after N s; a planned shard with no prover reads awaiting a prover with the block's age, assigned to <prover> when one holds it, proving, verified, paid as before; the app's inspector prints these per shard and as the count line; the copies synced; tools/scene/shard-words.test.mjs on the gate's scene line, known-failed first on 2.0.5 2026-10-07 18:13:23 +00:00
tools app-ia-26 item 1: four pages (Mine, Tune, Earnings, Settings), the pill as a state word, Prove folded under Settings 2026-10-08 13:53:17 +00:00
.gitignore Merge remote-tracking branch 'origin/master' into release-0.3.15 2026-10-06 19:15:08 +00:00
.vercelignore Commit identity rule and a deploy ignore file 2026-10-03 17:33:46 +00:00
CLAUDE.md Igneum: design docs, Metal lottery-hash prototype, CUDA test pack, finality simulation 2026-10-03 15:06:01 +00:00
rust-toolchain.toml rust-toolchain.toml: the one pin (1.99.0) from master, so master's build tools run against this tree 2026-10-07 01:36:28 +00:00