Commit graph

649 commits

Author SHA1 Message Date
igneum-labs
fc5a4de9d1 Merge remote-tracking branch 'build/master' into class-v5
# Conflicts:
#	site/ledger.html
2026-10-08 11:57:48 +00:00
igneum-labs
138b1db222 Merge reference-apps 84dded0d into master (gate: green on 84dded0d, recorded by tools/ci/pre-push.sh; landed on the box mirror) 2026-10-08 11:53:09 +00:00
igneum-labs
84dded0d53 Merge remote-tracking branch 'build/master' into reference-apps 2026-10-08 11:46:05 +00:00
igneum-labs
9100269fbd Merge kill-proof-gates 417275f4 into master (gate: green on 417275f4, recorded by tools/ci/pre-push.sh; landed on the box mirror under the exception declared by main: main's ruling, 7 Oct 2026 19:5x UK: the GitHub account is suspended, lanes land on the box mirror's master, the box gate stamp is the verdict; GitHub gets the fast-forward when it answers) 2026-10-08 11:45:58 +00:00
igneum-labs
417275f439 Kill-proof gates (main's order, 8 October 2026, 12:5x UK): a unique process title and a pid file per gate and merge run; kills by pid file only, enforced by the kill-by-name check
Twice today a merge gate died to signal 15 from another lane's kill pattern (12:4x UK, and the three-node script's self-kill at 10:05 was the same class). The sender cannot be read after the fact (no process accounting on the Mac, nothing in the unified log, a trap sees no sender), so the class is closed by rule: tools/ci/pre-push.sh re-execs under the title igneum-gate:<pid>-<start> and writes "<pid> <start> <mode> <title>" to .git/igneum-gate.pid under the worktree (removed at exit); tools/ci/merge-to-master.sh the same with igneum-merge:<pid>-<start> and .git/igneum-merge.pid; a gate or a merge run is stopped by `kill "$(cut -d' ' -f1 <that file>)"` and never by a name. tools/ci/kill-by-name-check.sh rule 4 (in the gate on every push): killall with any pattern, and pkill/pgrep (with or without -f or -x, bracketed or not) on a generic tool or a gate's name (bash, sh, zsh, node, cargo, python, ssh, git, perl, gate, igneum, pre-push, merge-to-master, build-remote, remote-run, igneum-gate, igneum-merge) are red; pkill -F <pidfile>, pkill -P <pid> and a daemon's own binary under -x stay allowed. Known-failed first: eight new banned shapes and four allowed ones in the self-test; the gate's self-test holds a gate open and reads its title and pid file, then sees the file gone.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 11:39:01 +00:00
igneum-labs
4951f0b01f Reference apps: the oracle on the shared IgneumCertificateVerifier (setVerifier 12:36 BST; certificate 2232 recorded with a real BLS check, block 28439's root stored under it, provenBalance equal to the node's eth_getProof); real-verifier.mjs; the tests skip the synthetic part when the shared verifier is installed; /oracle carries the addresses; the test page's transaction search respects the RPC's rate
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 11:38:09 +00:00
igneum-labs
da2a06e4b6 Merge remote-tracking branch 'build/master' into class-v6-invention 2026-10-08 11:35:21 +00:00
igneum-labs
958d49f498 Class v6 invention: the uniformity read at 2^20 on 64 seeds (the sound per-load forms clean, 0 over 1.2x and 0 sites under 0.995; the raw class v4 shape through the v2/v3 rule 41 of 64 hot at 7x to 36x, AP-F8-1's class as the harness's known-failed firing), the harness crate, the box OOM record, the offered window-bits test
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 11:35:11 +00:00
igneum-labs
31ca4c4f2b Merge remote-tracking branch 'build/master' into class-v5
# Conflicts:
#	docs/ledger-public.md
#	infra/fast-time/override-60x.json
#	site/ledger.html
2026-10-08 11:33:12 +00:00
igneum-labs
465c3cdd39 Merge spec-accept-23 1251475e into master (gate: green on 1251475e, recorded by tools/ci/pre-push.sh; landed on the box mirror) 2026-10-08 11:31:34 +00:00
igneum-labs
85304c9c1b Merge remote-tracking branch 'build/master' into build-server 2026-10-08 11:24:02 +00:00
igneum-labs
990ff058a3 api/checkpoint: bind the row the hand merge dropped (every caller read "cp is not defined" from 12:23 BST); the site deploy asserts api/checkpoint?source=dn3 ok on igneum-devnet-3 and the reference-apps pages
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 11:23:41 +00:00
igneum-labs
1251475e7e Merge build/master 8d13005f into spec-accept-23 (the Network group's /light, /receipt and /oracle taken beside /economics in the nav check; the class v4 watts rerun complete with the A6000, 22 rows on 22 models, the 7 October fleet rows the only class v3 watts left and labelled; /economics carries the explorer lane's measured proving rows of 8 October 2026)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 11:22:55 +00:00
igneum-labs
7dc74bfe2d Merge build/master f839b75b into spec-accept-23 (the explorer's new pages taken into the page list beside /economics; class v4 watts rows 19 to 21: RTX 2060 12 GB on a cap, L40S uncapped, RTX 5070 Ti on a 69 MH/s board with the two memory populations noted; the site rebuilt)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 11:15:35 +00:00
igneum-labs
cb7bf85dd9 Merge build/master into reference-apps (checkpoint.mjs: master's dn3 default and ?index, the read service's exports kept; built pages rebuilt)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 11:15:05 +00:00
igneum-labs
aa3a23378c /income is a calculator; /economics is new; class v4 watts rows 13 to 18 (the founder's value-economics question through main, 8 October 2026)
/income (through its generator, tools/launch/income-page.mjs, so the page check holds): pick a card (every current bench row, stock and tuned apart, inlined by the build; a tuned row at its tune point's rate), set a kWh price (the region's tariff from money.js, GBP 0.25 named as the default), type an IGN price (no default; the field says "no market yet: enter a price to see the figure"), read the network hash rate and the newest block's DAA from /api/live and the block reward from the chain's own rule (site/lib/emission.mjs at that DAA, 80 percent to the miner), and see IGN a day, electricity a day and money a day at that price, with the line that devnet and testnet IGN have no value. The arithmetic is site/lib/income-calc.mjs; site/lib/income-calc.test.mjs holds the known-failed case first (an empty, zero, negative or non-numeric price gives no money figure) and runs in the gate. The testnet tier tables stay below, named as the testnet's.
/economics: the emission as the node encodes it (release-0.3.25-node at e0644958, confirmed by the node lane: CURRENT on Devnet 3 and mainnet, TESTNET_1 on the testnet, each field with its file and line), the 80/20 split and the inactive silent-block bonus, the fee routes as the executor has them (base fee burned, the tip 80/20 with unregistered shares burned, external jobs designed and not in the code), the proving-fee market, the switchable 1 percent client fee and the fund it fills, the decimals per network; no price, no projection; "Not legal advice." alone. In the Learn group, the sitemap, the nav check and the capture routes; every page's chrome re-injected.
Bench table: class v4 watts rows 13 to 18 (RTX 2070 Super 204.2 W, +23 percent; GTX 1080 Ti 202.7 W uncapped, +63 percent; A100 500 W SKU 489.3 W, +78 percent; H100 695.1 W on its cap, +52 percent; RTX A4000 135.2 W at its stock cap, no premium; a tuned 2080 Ti board 161.1 W, the rate as a range by board).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 11:08:38 +00:00
igneum-labs
9b1941f7aa Merge build/master into reference-apps (nav contract: the faucet route left master, the three reference-app routes stay; built pages rebuilt)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 11:07:05 +00:00
igneum-labs
43547048be Merge explorer-dn3 91b64b80 into master (gate: green on 91b64b80, recorded by tools/ci/pre-push.sh; landed on the build mirror) 2026-10-08 11:05:43 +00:00
igneum-labs
58602cc81a Merge build-server f1a39bd0 into master (gate: green on f1a39bd0, recorded by tools/ci/pre-push.sh; landed on the build mirror by the build-server lane)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 11:02:29 +00:00
igneum-labs
91b64b809a Merge remote-tracking branch 'build/master' into explorer-dn3
# Conflicts:
#	site/build.mjs
2026-10-08 10:58:52 +00:00
igneum-labs
f1a39bd01f site deploy: every served page in SERVED_PAGES must answer 200 after a deploy (/swap, /faucet; the builder pages join as they land), with the known-failed self-test case
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:54:22 +00:00
igneum-labs
d8cf2b3f08 Reference apps: the oracle's write helper waits for an empty deployer mempool and re-reads before sending (a duplicate submit landed once)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:52:41 +00:00
igneum-labs
3177d2e3c3 site-serve honours a rewrite's host condition, as Vercel does (the explorer host's root rewrite had turned the local home into /explorer and the scene parity gate found no scene on the home fold)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:51:23 +00:00
igneum-labs
68b624b82e Merge class-v6-invention 5abdf181 into master (gate: green on 5abdf181, recorded by tools/ci/pre-push.sh; landed on the build mirror) 2026-10-08 10:47:37 +00:00
igneum-labs
c49358ed94 Merge build-programme 8472843f into master (gate: green on 8472843f, recorded by tools/ci/pre-push.sh; landed on the build mirror) 2026-10-08 10:46:53 +00:00
igneum-labs
0defaba741 Merge spec-accept-23 ba08d6b8 into master (gate: green on ba08d6b8, recorded by tools/ci/pre-push.sh; landed on the box mirror) 2026-10-08 10:45:43 +00:00
igneum-labs
00995df78d Reference apps: the balance proof answers with the earliest certificate above the carrier (the certificate travels in the answer), the real Devnet 3 balance fixture (26631, 97 KB) and its negative cases under Node; the oracle's first real root on Sepolia (block 26631, 404,376 gas, 41 cases pass); the account object captured in the balance verifier
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:45:37 +00:00
igneum-labs
ac8af804a3 Reference apps: the Sepolia state oracle (tools/reference-apps/oracle: IgneumStateOracle with keyed BLAKE2b through the EIP-152 precompile, the body merkle path, the IGNS record parse and an MPT verifier; StubCertificateVerifier as the stand-in; deploy, demo and the negative cases through eth_call, 34 passed on Sepolia), its addresses on /oracle
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:41:57 +00:00
igneum-labs
5abdf18115 Merge build/master into class-v6-invention (the export-exclude line for docs/analysis/class-v6 kept once, the history lane's wording)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:40:05 +00:00
igneum-labs
8472843f8b Merge build/master into build-programme: the swap page (dex-devnet3) joins the Build group in the nav, the footer, the sitemap and the nav check; /build links /swap
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:39:07 +00:00
igneum-labs
cb70a8fa60 Merge remote-tracking branch 'build/master' into explorer-dn3 2026-10-08 10:34:09 +00:00
igneum-labs
9975a4679f Export exclude: docs/analysis/class-v6 (the class v6 research lanes' documents are research for the team, box paths and lane ids in them; the identity grep hit the machine-name pattern in the invention file's header)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:33:29 +00:00
igneum-labs
1fca12afbf Merge dex-devnet3 c64e809f into master (gate: green on c64e809f, recorded by tools/ci/pre-push.sh; landed on the build mirror) 2026-10-08 10:32:52 +00:00
igneum-labs
5d1044ca25 Litepaper (and /claims, /randomx from it): the RandomX record as lane A's history reads it (docs/analysis/class-v6/history.md 2.3, 8 October 2026): one chip shipped, Bitmain's Antminer X5 (September 2023) at 1.46x per joule over a desktop CPU on silicon believed mining privately from about 2021; RandomX v2 released 25 March 2026 with its mainnet activation pending; the X9 withdrawn in May 2026 with zero units (the X36 sentence stands); "no chip shipped" and "seven years without a shipped chip" gone from every served sentence; ledger X34 and C2 corrected, pins moved, the public ledger and the ledger page regenerated. Governance line beside the class v5 crossing sentence (main's wording): classes rotate on findings and at least yearly, a class change is a release activated by block height; class v6 named as the design in progress with its four layers, dated 8 October 2026
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:32:47 +00:00
igneum-labs
24341d3ae1 Reference apps: a receipt proves against the earliest certified checkpoint above its block (the smallest proof, 10 headers and 143 KB instead of 289 headers and 2 MB), the certificate used travels in the receipt
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:31:00 +00:00
igneum-labs
e1a4a16aa1 Reference apps: client code under site/lc (a directory named light or receipt would shadow the clean URLs /light and /receipt); step details as strings
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:28:40 +00:00
igneum-labs
83a3542027 Reference apps (8 Oct 2026): the light wallet (/light), the payment receipt (/receipt) and the Sepolia state oracle page (/oracle), each on Devnet 3; site/light/core.js verifies certificate, header path, coinbase merkle inclusion, segment record (aggregator BLS) and the MPT account proof in the browser; the read service tools/reference-apps/light-service (behind rpc.devnet.igneum.network/light); the one-file offline receipt verifier (site/receipt/verify-receipt.js); /api/checkpoint?source=dn3; the negative cases in verify.test.mjs and /light/test; nav routes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:26:55 +00:00
igneum-labs
cb2b8a2578 Builder programme (8 October 2026): /build, /grants, the Devnet 3 faucet on build-1, docs/build as the source
- site/build.html and site/grants.html rendered by site/build.mjs from docs/build/build.md and docs/build/grants.md (the gate's site-only copy keeps the committed pages, as for /bench); site-relative links in the markdown renderer
- the nav's fourth group, Build (/build, /faucet, /grants), in the partial, the sheet, the footer, the sitemap and tools/ci/site-nav-check.mjs; the faucet leaves the Mine panel
- site/faucet.html is the Devnet 3 faucet: 10 IGN per address per day, 500 a day, chain id 4463, no value, resets without notice; the page posts to https://faucet.igneum.network/api/faucet and shows the balance
- infra/build-server/faucet: faucet.mjs (zero dependencies, signs with site/lib/eth.mjs, limiter self-test known-failed first, 100 IGN cap on the amount), the unit, faucet.sh install/status; live on build-1 behind Caddy since 10:16Z, funded 2,000 IGN by the fleet's funder at 10:01Z; first drip 0x8620e9d8 at 10:17Z
- docs/build: README, first-contract.md with its test script and the PASS line (24 s end to end through the public RPC and faucet, Foundry 1.8.5, Counter deployed at block 27055), rpc.md read from the node (75 methods probed, served and not served), faucet.md, verify-a-block.md, grants.md
- .forgejo/issue_template/grant.md: the grant application template on git.igneum.network

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:24:07 +00:00
igneum-labs
960f081ad2 Devnet 3 explorer: transactions (/tx/<hash>), accounts (balance, nonce, code, 7 days of transactions), the proving view (/proving), the DAG picture and the verified badge (the covering certificate re-checked in the browser with site/verify) on /explorer and /block; class and lock state per block; /api/explorer gains ?tx, ?txs, ?proving, ?stats, ?dag; the dn3_ default for /api/explorer, /api/stats, /api/supply and /api/checkpoint (?index=N); replaced chain blocks read as such against the indexer
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:24:03 +00:00
igneum-labs
caa0071efc Site: the Devnet 3 swap page at /swap (MetaMask and any injected wallet by chain id 4463 and the public RPC; quotes, swaps, the faucets, add liquidity; every swap's block with its proof status from /api/live; Devnet 3, test tokens, no value on every view), Swap in the Mine panel and the sheet of every page
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:23:29 +00:00
igneum-labs
3c0f80d835 Class v6 invention lane: first cut of docs/analysis/class-v6/invention.md (every candidate layer beyond the four with its paragraph, known-failed harness run and chip row; the sound per-load shadow measured today: 0.927 rejection per candidate on 256 seeds, verifier 8.3 to 8.8 ms loaded, two packs exported; the per-load prototype's era-window instrument fault found; the ranked list: per-load placement, register width, warp-uniform block selection, the reserve's order), the census script and its two TSVs
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:20:52 +00:00
igneum-labs
93e55f9d43 Class v6 research lane B: the hardware future, five years out (first cut and the full report in one file)
docs/analysis/class-v6/hardware-future.md: one table over PIM and PNM (HBM-PIM, AiM, LPDDR5X-PIM, UPMEM), HBM3E, HBM4 and the custom HBM4E base die, fine-grained DRAM on logic, LPDDR6, 3D DRAM, RLDRAM 3 and Folded Banks, FPGA with HBM2e, wafer-scale, CXL, optical I/O, chiplets and UCIe, and SRAM at N2: energy per dependent read, latency, cost per GB, availability to a non-hyperscaler, the k_read and shadow k bands, the edge per joule at zero shadow against the 5090 and the M5 Max, and the one layer of the four that blunts each with a number. The three findings: a 2 GiB SRAM full store on one N2 reticle is the strongest five-year chip (13x to 17x per joule, about USD 0.3 per MH/s) and no layer reaches it (layer 2 moves its capex, not its joules; the shadow at k = 0.5 holds 4.8x); per-bank PIM is blind (1.6 percent of reads in-bank at 2 GiB) and the custom HBM4E base die is the f = 1 chip with its controller in the stack (6.5x to 14x), untouched by layers 1 to 4; the denominator is the wrong card (the M5 Max at 0.78 microjoules halves to thirds every chip edge). Section 5 carries the k bands for the research lane's chip rows; section 7 the four decisions with defaults and deadlines; section 9 the sources with URLs and dates. tools/ci/export-exclude.txt: docs/analysis/class-v6 is research, not public export.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:17:50 +00:00
igneum-labs
b37edbeb73 Explorer indexer: refuses a node that reports another network (EXPLORER_NETWORK, default igneum-devnet-3) and re-reads from the tip when the indexed number runs past it
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:10:54 +00:00
igneum-labs
64f74beb08 Explorer indexer: block hashes stored without 0x, the DAG convention of live_blocks, so a transaction joins its block
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:09:05 +00:00
igneum-labs
c3957f2879 Explorer indexer: the observer's EVM-side sibling for Devnet 3 (live_txs, live_accounts, explorer_blocks, explorer_state under the dn3_ prefix; receipts, logs, balances, nonces, code; the three-deep reorg re-read; 7-day retention; igneum_getNodeInfo kept for the class floor)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 10:03:34 +00:00
igneum-labs
0276128177 Merge live-shards-8 2c589122 into master (gate: green on 2c589122, recorded by tools/ci/pre-push.sh; landed on the box mirror) 2026-10-08 09:19:53 +00:00
igneum-labs
de6e5ae2e5 Merge build-server 103ceb0f into master on the box mirror: the site deploy checks (served links, the regrouped /miners count, the pipefail fixes) 2026-10-08 09:18:01 +00:00
igneum-labs
2c58912211 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.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 09:12:56 +00:00
igneum-labs
9a2192c758 Merge spec-scrub 043a419c into master (gate: green on 043a419c, recorded by tools/ci/pre-push.sh; landed on the box mirror under the exception declared by main: main's ruling, 7 Oct 2026 19:5x UK: the GitHub account is suspended, lanes land on the box mirror's master, the box gate stamp is the verdict; GitHub gets the fast-forward when it answers) 2026-10-08 09:04:07 +00:00
igneum-labs
12f6f9a8cd Merge gh-igneum-dir 3d805feb into master (gate: green on 3d805feb, recorded by tools/ci/pre-push.sh; landed on the box mirror under the exception declared by main: main's ruling, 7 Oct 2026 19:5x UK: the GitHub account is suspended, lanes land on the box mirror's master, the box gate stamp is the verdict; GitHub gets the fast-forward when it answers) 2026-10-08 08:57:37 +00:00