Igneum: the GPU-mined zkEVM L1. Node, miner, app, spec and site.
Find a file
2026-10-08 09:14:20 +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 ember-tiers-25 04e5b25a into tiers-25 (the engine half: tiers[], tier, tier_note, tier_at, settings.tune_tier, POST /api/tune/tier, sweep on at balanced from install) 2026-10-08 09:14:20 +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.24: packaging/windows/host.sha256 takes PC 1's MSVC 0.3.24 window host 0e241c94 (the kit at 736d8e98) 2026-10-08 08:53:20 +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 OpenCL worker: on an Intel platform rotr_var is rewritten to the shift form before the build (the Intel rotate fold, the Arc B580 bisect of 7 October 2026) 2026-10-07 11:23:55 +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.24: a job's install takes the Power Helper's unattended form through the registered helper itself (PC 2, 7 October 2026: the deferred rule left every new right to "the next interactive start", which on a PC with nobody at the desk never comes, so an update by job could never take the S4U form without a click). rights::install, in the deferred branch: when every missing right is one the registered helper can take (HELPER_TAKEABLE = power-helper-task@unattended) it starts the task, waits for the heartbeat, writes "<seq> reregister" and waits 20 s for the helper's own "reregister ok" line (the helper re-registers from the running build's script, now S4U + Highest, elevated, no prompt), then records the right in the manifest; anything else stays deferred as before. Playbooks: pc2-s4u-proof.ps1 (unelevated: an S4U probe task started from the job's session, read by stamp file, LastTaskResult and LastRunTime, then unregistered; the real task read only) and pc1-helper-reprobe.ps1 (installed version, heartbeat first, one dev line, the log line within 15 s: answers or not). Test known-failed first: a_job_install_takes_the_task_form_through_the_registered_helper_and_defers_the_rest 2026-10-07 22:06:10 +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 Ember Tune: the three tiers, the UI half (tiers-25, 0.3.25; main's order of 8 October 2026 after the project lead's word that the settings must give a miner everything they need; the project lead's definition: Ember tunes a card once and the tiers are rows of that search, efficiency = the best MH/W row, balanced = the best MH/W row within 1% of the top rate and the default from install, max = the top-rate row). The Cards strip and the Settings Tuning card carry three tier buttons from View.fleetTiers: the name, the fleet's rate and watts at that tier, the saving against stock in watts and money a day ("Balanced / 202.9 MH/s · 622 W / saves 188 W, £1.26 a day"), the one in force marked; under them the one sentence (View.tierSentence: on at Balanced before the first tune, "Balanced on 2 cards, tuned 1 h ago · next check 15 Oct", off with the tiers still one tap, measuring, no lever), the electricity figure (View.priceFigure: the set price, else 0.25 in the currency in force named as the default) with the measured count, and the rule ("Ember never locks below the knee by itself. Going lower is your choice."). Each card's panel carries its own three tiers with rate, watts, MH/W and saving (View.tierSet), the lock in words ("locked at 1950 MHz, 372 W; stock 450 W"), the note for a card not yet measured or measuring, and a card with no lever shows one tier, "Stock", with its numbers and the reason; a tap applies the known row at once through POST api/tune/tier (fleet or one card; an engine before the route falls back to the goal route and says the tiers need the 0.3.25 engine). The per-card tier is wired, the "needs the next update" text is gone. Reads the hash lane's fields (ember-tiers-25: tiers[], tier, tier_note, tier_at, settings.tune_tier). Tests known-failed first on build-2 (V.tierSet, fleetTiers, tierSentence not functions), then 73 green; mock scenarios tiers, tiers-first, tiers-mac; ?tune=tuned carries the tiers; captures on build-2. 2026-10-08 09:14:19 +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