Igneum: the GPU-mined zkEVM L1. Node, miner, app, spec and site.
Find a file
2026-10-08 10:04:21 +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 Merge tiers-25 290d4e1d into release-0.3.25 (the three-tier Ember Tune, both halves: the tier buttons with rate, watts and the daily saving on the Cards strip, the Settings card and each panel; sweep on at Balanced from install) 2026-10-08 09:22:50 +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 Open pool: the retarget clamps against the window's mean (never compounded share by share), the ceiling in u128 (a 2^49 first target shifted by 20 wrapped to 0 on the box), a deeper reorg depth and a progressive sync when parents are missing; the fast-time file carries pool_split_activation_daa (never); the gate runs on build-1 2026-10-07 14:03:05 +00:00
packaging 0.3.25: an installer started by the app's job runner detaches itself from the job's process tree (PC 2, 0.3.24 take 2, 8 October 2026, 09:24Z: the stop step ended the host and quit the engine, the engine's job runner ended the job's whole process tree on its way out (src/jobrun.rs kill_tree, taskkill /T) and the installer, the job script's child, died between PrepareToInstall and the copy: every exe still 0.3.21, install-running.flag left behind, no ssDone, no DeinitializeSetup). Igneum-Miner.iss: under a job (IGNEUM_JOB_ID set, no /IGDETACHED=1) InitializeSetup copies the installer to <localappdata>\igneum\app\updates\, registers and runs a one-shot scheduled task (a child of the Task Scheduler, outside the tree) with the same switches plus /IGDETACHED=1 and /LOG=install-<v>-detached.log, and exits before any marker or stop step; the detached run installs and deletes its task at ssDone; if the detached start fails it installs in place and says so in the log. The job's proof is the --version wait and the detached log, not this process's exit code (1). installer-stop-check rule 6 reads the path, the order (InitializeSetup first) and Inno's declare-before-use (RemoveDetachTask above CurStepChanged); self-test known-failed on 87d8862d's installer 2026-10-08 10:00:44 +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 Counter ASIC 3.0 gates (node): the program id carries the class. A class v4 program is generator 4 wherever it is made: the CLI's --era path stamps the generator from the class (era_generator_of: 4 on V4_CLASS, 3 otherwise; ProgramClass::of_load_class), show honours --program-class and --era-hex; the shadow block marks class v4 in packcheck, packfile.h and the Metal worker (a generator 3 pack with IGNEUM_SHADOW_INSTRS is refused as a v4 program stamped v3, a generator 4 pack without it is refused; generator 2 ladder packs unchanged); the seven gate packs re-exported (generator 4, id c120d7963abdcd96 against the v3 control's 73bcbfe8ccf988f1, every other line byte-identical); class-v4.mjs asserts every v4 epoch's id against the CLI's same-seed v3 and v4 ids (--id-check-against v4 is the assertion's failed case); v2 and v3 ids byte-identical (60 + 7 + 4 + 19 + 7, the pinned packs) 2026-10-06 16:24:02 +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 0.3.25: relay/playbooks/ca3-pc1-amd-grid.ps1, the RX 9070 XT's first measured grid on the AMD knob by job, under the installed app (0.3.20 to 0.3.24 have no AMD knob in the engine), driving the rebuilt igneum-gpu-telemetry.exe directly: the tune line names the card's ordinal and ranges, each point sets the max-clock offset then the power-limit offset (refusals are rows marked refused), holds 75 s with the first half settling, reads the app's own hash_now for the card and the tool's watts and clock in force, prints RESULT GRID row lines, resets the card at the end and names the best point against stock. One card at a time, the NVIDIA cards untouched, never quits, pauses or resumes the app and never starts its tune 2026-10-08 08:53:27 +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 installer-stop-check rule 6: the /Create pattern matches the installer's own line (the schtasks command is built in a variable); self-test green on the tree, known-failed on the shape without the detach 2026-10-08 10:01:25 +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