Igneum: the GPU-mined zkEVM L1. Node, miner, app, spec and site.
Find a file
2026-10-08 19:07:34 +00:00
.claude/agents Pre-public scrub, the text pass (7 October 2026, 19:5x UK): no founder name, personal login, earlier business or personal address in any tracked text file, and a gate check that keeps it so 2026-10-07 18:39:50 +00:00
.forgejo/issue_template Builder programme (8 October 2026): /build, /grants, the Devnet 3 faucet on build-1, docs/build as the source 2026-10-08 10:24:07 +00:00
.github/workflows Merge branch 'ci-steward' into ci-steward-2 2026-10-07 17:02:55 +00:00
app The wallet's History row: a block under a locked checkpoint is finalised even in a pause; the window audit records the founder's v2.0.1 calls 2026-10-08 17:27:45 +00:00
brand site: share cards and metas from one source (site/og), rendered on a build box 2026-10-08 14:51:03 +00:00
contracts Bridge: the Install script (voter table and optional certificate onto an already deployed verifier; for a chain whose table is read at its first lock, igneum-devnet-4) 2026-10-08 16:57:34 +00:00
docs F14, the relay and publisher half (the founder's ruling, 8 October 2026, 19:57 UK: the public miner carries no remote execution; the fleet runs the lab build under its own signing root, separate from the OTA key). publish-manifest.sh: the key follows the channel (igneum-2.0-devnet-lab signs with ~/.config/igneum/lab-signing/lab-signing-key, --lab names it; every other channel the OTA key; a channel naming a lab that is not the lab channel is refused); publish-jobs.sh: --channel lab|public picks the root, anything else refused. igneum-agent.ps1: App-Product reads api/state .product and Lab-Refusal refuses every task beside a public engine ("Igneum Miner"), an engine without the field (pre-2.0.2) runs as before. Release rule 16 names the split (feature lab, channel igneum-2.0-devnet-lab, product "Igneum Miner Lab", the lab kits, the per-PC exes wrapping the lab Setup, the lab root). Known-failed first: the publishers' cross refusals, relay/test/service.test.mjs 2026-10-08 19:07:34 +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 class-v6: drop the second copy of DatasetSource's leaves methods the master merge brought in (master's copy lacked the geom field) 2026-10-08 16:33:09 +00:00
infra Merge box master e6d353bd into proving-payment-guest (the 60x file lists both switches) 2026-10-08 16:53:17 +00:00
packaging F14, the relay and publisher half (the founder's ruling, 8 October 2026, 19:57 UK: the public miner carries no remote execution; the fleet runs the lab build under its own signing root, separate from the OTA key). publish-manifest.sh: the key follows the channel (igneum-2.0-devnet-lab signs with ~/.config/igneum/lab-signing/lab-signing-key, --lab names it; every other channel the OTA key; a channel naming a lab that is not the lab channel is refused); publish-jobs.sh: --channel lab|public picks the root, anything else refused. igneum-agent.ps1: App-Product reads api/state .product and Lab-Refusal refuses every task beside a public engine ("Igneum Miner"), an engine without the field (pre-2.0.2) runs as before. Release rule 16 names the split (feature lab, channel igneum-2.0-devnet-lab, product "Igneum Miner Lab", the lab kits, the per-PC exes wrapping the lab Setup, the lab root). Known-failed first: the publishers' cross refusals, relay/test/service.test.mjs 2026-10-08 19:07:34 +00:00
pool Pool v0 rebased onto master and the 0.3.14 fork: the program class and era seed ride with every seeds and job line; the re-check test for class v3 and class v4 2026-10-06 18:49:13 +00:00
proto-cuda igneum-pow, proto-cuda: counter-asic-4's research code comes off master (the revert of b216afc7's code paths; documents untouched), the coordinator's order of 8 October 2026, 17:32 BST 2026-10-08 16:17:08 +00:00
proto-metal class v5 kits: every worker host uploads the pack's state leaves for igneum_build (the NVRTC worker, the OpenCL host for AMD, Intel and Apple, the Metal worker), checked against the pack's count and FNV first, freed after the build; a v5 pack without its leaves builds nothing 2026-10-07 18:36:17 +00:00
proto-newpow class v5: the pod bench's run script (proto-newpow/class-v5/run.sh: both packs, two passes, 20-s power windows) 2026-10-07 11:24:23 +00:00
proto-opencl ds55 hosts (research class, 8 October 2026): the CUDA worker and the OpenCL host size the dataset by the pack's word count (IGNEUM_DATASET_WORDS and IGNEUM_DATASET_ITEMS from program.h when present, 1 << IGNEUM_DATASET_LOG2 when absent, so every existing pack runs as before), build words / 16 items, and the OpenCL bench's random points go through the pack's own index mapping; the ready, check and summary lines name the count when it is not a power of two; packfile.h refuses a count off the 2^16 grid or a mulshift flag that contradicts it; known-failed test first (emu/packfile-test.c: the old reader sized the 5.5 GiB pack at 2^30 words) 2026-10-08 13:58:18 +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 Shard guest sources with the D4 split, the ELF pin left at the served release's ids (the re-pinned elf/ rides the node 2.0.1 and miner v2.0.1 paired cut) 2026-10-08 17:03:38 +00:00
relay F14, the relay and publisher half (the founder's ruling, 8 October 2026, 19:57 UK: the public miner carries no remote execution; the fleet runs the lab build under its own signing root, separate from the OTA key). publish-manifest.sh: the key follows the channel (igneum-2.0-devnet-lab signs with ~/.config/igneum/lab-signing/lab-signing-key, --lab names it; every other channel the OTA key; a channel naming a lab that is not the lab channel is refused); publish-jobs.sh: --channel lab|public picks the root, anything else refused. igneum-agent.ps1: App-Product reads api/state .product and Lab-Refusal refuses every task beside a public engine ("Igneum Miner"), an engine without the field (pre-2.0.2) runs as before. Release rule 16 names the split (feature lab, channel igneum-2.0-devnet-lab, product "Igneum Miner Lab", the lab kits, the per-PC exes wrapping the lab Setup, the lab root). Known-failed first: the publishers' cross refusals, relay/test/service.test.mjs 2026-10-08 19:07:34 +00:00
scene Live proving feed: the page says when its shard states are stale, and a chain block with an empty plan reads "no shards in this block" (8 October 2026, main's order: the project lead wants to watch proving and shards in real time; a stale snapshot must read as stale). Reading of the day: /api/live's proven and paid states come from the Devnet 3 observer's own node on igneum-build-1 (igneum-observer-node-dn3, EVM 26850), not from hub-1; that node stopped crediting payouts at 23:57Z on 7 October (paidShards frozen at 7,304 while blocks carried 8,457 proof records by 03:00Z and hub-1 counted 11,861 by 08:56Z), and the page kept showing the paid total as fresh. site/lib/proving-health.mjs (tests known-failed first: "Cannot find module", then 10 green on build-2): stale when the observer's last status read is over 60 s old (status_at, new in the observer's live_state.proving), when the node's tip trails the newest block by over 300 DAA, or when blocks carried proof records in the last 10 minutes and no shard moved to verified or paid for 10 minutes (the blind-to-records class); a quiet chain is not stale for lack of credits. /api/live carries stale, stale_reason, status_age_s, tip_lag_daa, records_10m and last_change_at on proving (two more indexed readings; scene/feed-contract.json lists the keys; the recorded fixture carries them). /live: the Proven tile's line reads "proving feed stale: ..." in ember, else "... last credit N s ago"; the inspector's count adds "feed stale". Scene 2.0.7: a chain block whose plan is known (block.number set, carried as plan on the normalised block) and empty reads "no shards in this block"; loading and late stay for an unread plan (shard-words test, known-failed on 2.0.6). Gate: the health test joins the site unit-test line. 2026-10-08 09:12:56 +00:00
sim D5 partition row: N1b and N2b (the recovery bound measured on build-4) and the harness known-failed line on real nodes (v3 split past the expiry: both sides lock alone, 8 disagreeing locks after the heal); results, spec test table and the plan's D5 block updated 2026-10-08 16:21:46 +00:00
site Chip text: the reconciled per-tier line for the DRAM board (the two chip models agree after placement: 1.5x to 1.8x as a machine, 2.0x to 2.4x for the board alone on the same node; 1.8x to 2.1x and 2.45x to 2.8x a node ahead) replaces the single core-only line 2026-10-08 18:41:42 +00:00
tools Merge enforced-proving c74ac60b into master (gate: green on c74ac60b, recorded by tools/ci/pre-push.sh; landed on the box mirror) 2026-10-08 19:03:30 +00:00
.gitignore gitignore: infra/cross/out-workers-box/ (the workers tools/workers-remote.sh fetches from the box) 2026-10-06 19:11:39 +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: one pin for every side (1.99.0, the two cross targets); the mismatch refusal reads it 2026-10-06 23:44:20 +00:00