Commit graph

945 commits

Author SHA1 Message Date
igneum-labs
cfa69f166c CI runs the proof, verify API and capture tests; the plan records the fixture dry run and what is owed
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 16:16:11 +00:00
igneum-labs
9b93e6361a Explorer: /proof/<hash> verifies a block's shard proof in the browser against the chain's record; the native SP1 verdict beside it; P17 state words on the block and explorer pages; /api/stats names the live program class (C46)
What a stranger sees: paste a chain block hash on /proof, the page downloads the captured proof bytes
(1,272,897 bytes), hashes them in the tab against the proof_hash the signed record carries, parses the
328-byte public values out of the SP1 container and checks keccak against the record's statement and the
decoded fields against the block (site/lib/proof.mjs, no library). The STARK is verified by this site's
node (the observer runs igneum-prove-host --mode verify with the pinned key on each capture: 29 ms verify,
197 ms key setup on the fixture proof); the page says so and labels the in-browser STARK verifier as coming.
docs/plans/explorer.md section 8 carries the size and time numbers and the two routes (Groth16 wrap plus
sp1-verifier in wasm, or the compressed verifier ported to wasm32).

Observer: a sample of pool proofs captured through igneum_getProofBytes while the node holds them
(PROOF_CAPTURE_EVERY_MS, PROOF_BYTES_KEEP), checked and verified, written to live_proof_bytes; every
live_proofs row carries the record (key_hash, payout, statement, proof_hash); getBlockTemplate.powEpoch
read every 10 s into live_state.pow_epoch. RPC load: wrpc 230 to 248 per minute against 222 to 224 before,
evm unchanged.

P17: the node release 0.3.13 (bb43e9a8) does not carry the state field (it is on ledger-fixes-0311
fbb0082a), so the explorer cuts the one word from the observer's tables by the design 2.4 rule and takes the
node's word per transaction when the fork answers one. A block that left the selected chain reads included
with a note, never reorged out.

C46: /api/stats algorithm reads "class v3 / generator 3 (epoch 55; ...)" from the node's epoch line, v4
when the node reports 4, "unknown" before the observer has read it; new lottery field.

Tests: site/lib/proof.test.mjs (the real tail of block 59199's proof reproduces the host's statement),
site/api/verify.test.mjs, tools/observer/proof-capture.test.mjs (the native verifier refusing a pre-pin
proof), site/api/public-stats.test.mjs. Dry run on the fixture proof of block 56 through the local preview:
VERIFIED, 5.8 ms of checks and 139 ms of download in the browser, STARK 29 ms on the node.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 16:15:44 +00:00
igneum-labs
5874913081 day record: afternoon (0.3.13 approved with the state reset, fleet phase 1, Ember, PC 1 three cards)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 15:12:04 +00:00
igneum-labs
b508a389ab morning summary: since noon (0.3.12 out, the 4070, the fleet, Apple, the two fleet-found node bugs)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 13:01:28 +00:00
igneum-labs
b0d5186202 tools/fleet: publish the rented-GPU fleet page's data to the downloads host
The page lives at an unlisted path on dl.igneum.network (name in ~/.config/igneum/fleet-path) and reads fleet.json
every 30 s; this script copies a fleet.json in and deploys, then checks the edge serves it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 11:52:18 +00:00
igneum-labs
532cdad443 Igneum Miner 0.3.12: the fresh-record rule switch (proving v1), the segment-aligned prover, Ember Tune, the GPU list in performance order
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 11:48:10 +00:00
igneum-labs
43f576e641 release 0.3.12: the plan's sections deduplicated and in order
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 11:47:55 +00:00
igneum-labs
adc3af6ee7 release 0.3.12: PC 1's minute at 0 MH/s after the switch (the C43 class); sections in order
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 11:47:32 +00:00
igneum-labs
6e9cac59f3 release 0.3.12: the rollout (the re-pin to 198,000, the two publishes, per-machine times, the sweep, the Mac pause on the project lead's order)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 11:46:55 +00:00
igneum-labs
018ecc66fc release 0.3.12: merge master 95790a0 (the morning summary, docs only)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 11:28:27 +00:00
igneum-labs
83242a6135 packaging/mac/packaged-config.sh: proving_v1_fresh_rule_daa re-pinned to 198000 (the floor read 10,418 at 11:20Z, tip 181,582)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 11:21:33 +00:00
igneum-labs
95790a0847 morning summary: 12 GB mine-and-prove measured as a core-only prover
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:15:27 +00:00
igneum-labs
7704dab239 release 0.3.12: the PC 2 job's place in the queue (one second before floor-build-6)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:14:21 +00:00
igneum-labs
2470df9f10 release 0.3.12: the CI verdict (37440559793 on 9114fcc), the gate stands
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:08:42 +00:00
igneum-labs
9114fcc452 release 0.3.12: merge master fe33bb1 (the morning summary, docs only)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:05:27 +00:00
igneum-labs
ce1141e519 pc2-agg-cost.ps1: pkill -f sp1-gpu-server at the end (the CI root-socket check); release 0.3.12: the PC 2 job, the Windows artefacts, the CI rows
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:04:33 +00:00
igneum-labs
af72945aec release 0.3.12: the Windows exes, the second inputs push, the consensus-core fast-time finding
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:50:13 +00:00
igneum-labs
2b9ead2cda Windows payload inputs: node 83089544 (push-inputs.sh, the Mac cross-build, the 0.3.11 workers, the AMD telemetry helper, signed); release 0.3.12
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:49:08 +00:00
igneum-labs
fe33bb1413 morning summary: Counter ASIC 3.0 closed, the class v4 candidate and its gate decision
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:49:04 +00:00
igneum-labs
d64b5a2f53 release 0.3.12: the Mac node suites with the igneum-pow feature (the M20 era test known on 89dfcb95 too, the finality ban test flaky)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:46:49 +00:00
igneum-labs
471534fe9c release 0.3.12: the plan's digests, the two-publish order, the line for the project lead
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:45:23 +00:00
igneum-labs
5547cde7d3 release 0.3.12: the plan's node, prover, HiveOS and DMG rows for the widened cut
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:43:31 +00:00
igneum-labs
a332995b13 release 0.3.12: the plan widens to the node change (the fresh-record rule switch, the segment-aligned prover)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:40:18 +00:00
igneum-labs
a99890cf47 packaging/mac/packaged-config.sh: the ten-field object (proving_v1_fresh_rule_daa 192000) in the packaged line (C34)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:38:59 +00:00
igneum-labs
f6f2bdb013 release 0.3.12: merge proving-v1 app 20eb0dd (the segment-aligned prover, the held fresh record, the fresh-record rule harness)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:37:18 +00:00
igneum-labs
b9da053b7e morning summary: the segment rule is a consensus switch; 0.3.12 carries the node
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:36:28 +00:00
igneum-labs
20eb0dd045 bench-log: the fast-time harness on the fresh-record rule, both cases
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:35:13 +00:00
igneum-labs
17dede57a3 release 0.3.12: the plan names the make-payload fix and the superseded first Windows run
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:34:25 +00:00
igneum-labs
35065f61dd make-payload.sh: the AMD telemetry helper is taken from the unpacked inputs on CI (the worker glob missed igneum-gpu-telemetry.exe, so the 0.3.12 payload of run 37435975425 lacked it)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:33:25 +00:00
igneum-labs
85ced57631 proving v1 harness: under --fresh-rule the second offer of segment 3's record is a duplicate, not a chain-rule refusal
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:32:42 +00:00
igneum-labs
feb3be8f1d release 0.3.12: the Windows run green, the installer and zip hashes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:32:34 +00:00
igneum-labs
3a5451f348 release 0.3.12: the plan's builds, CI, publish gate and owed items
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:27:08 +00:00
igneum-labs
869b0b63c5 bench-log and plan: the segment-aligned prover on PC 2 (9 whole segments in 30 min, 72 of 72 shards paid, 11.0% of the miner) and the chain rule's 8-DAA fresh window, its fix behind the switch
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:26:59 +00:00
igneum-labs
7c0dee162c release 0.3.12: merge ember-tune 2bd168b (Ember Tune, the quit source, no OTA and no pipe in a second engine, the elevated follow_file, the BOM fix, Power control, job-console's hidden-console builder and spawn check)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:22:22 +00:00
igneum-labs
2bd168bf7d app: every elevated launch through one hidden-console builder; CI check for Windows spawns; PC 1 console watchers
The console-window class (the project lead, 5 October 2026: "Windows Command Processor" windows on PC 1 whenever a remote job runs).
Measured on PC 1 (ae432dc7, Windows 11 Pro 26200, default terminal "Let Windows decide" = Windows Terminal 1.24) with
tools/windows/console-watch.ps1 (job run-20261005-182528): no child a job script starts from the app's headless
console opens a window (powershell, cmd, query, curl, nvidia-smi, wsl --status, a distro, interop cmd and powershell,
powershell -WindowStyle Hidden: 0 windows each); Start-Process in a new console opens a Terminal window (the known-failed
case: 2 windows), the same with -WindowStyle Hidden opens none (the known-finished case). The elevated path
(Start-Process -Verb RunAs -WindowStyle Hidden through the AppInfo service) is the one road left; its watcher
(console-watch-elevated.ps1, job run-20261005-184610) was cancelled at the UAC prompt.

- platform.rs: elevated_ps_line + elevated_command build the one PowerShell line every elevated launch uses (the NVIDIA
  power cap, the sweep helper, the clock sync, an elevated remote job), -WindowStyle Hidden by construction; unit
  tests on the line, the quoting and the Command.
- jobrun.rs: the elevated job path uses it; the relaunch helper's Start-Process carries the reason it has no
  -WindowStyle Hidden (igneum-app.exe is a windows-subsystem program).
- tools/ci/windows-spawn-check.mjs (+ ci.yml): fails when a Command::new in app/igneum-app/src is not quieted,
  a creation_flags is not CREATE_NO_WINDOW alone, a Start-Process the Rust code writes lacks -WindowStyle Hidden or
  -NoNewWindow, or host.cpp spawns without CREATE_NO_WINDOW / SW_HIDE; self-test on known-good and known-bad samples.
- tools/windows/console-watch.ps1, console-watch-bg.ps1, console-watch-elevated.ps1: the watchers (run jobs).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:21:46 +00:00
igneum-labs
984727d828 Merge release-0.3.12 (095aa9e) into ember-tune: 0.3.11's six-section View and card order kept, Ember Tune's line and switches re-added on it; the tune fields move into hotplug::apply_pref; the power-cap plan keeps present(); both CI test lists; 132 app tests, 26 UI tests, every gate green
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:20:46 +00:00
igneum-labs
50b3933c66 release 0.3.12: the plan's first sections (what it carries, the branch, the HiveOS package)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:20:34 +00:00
igneum-labs
d60a8ad47f Igneum Miner 0.3.12: the six version files
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:19:00 +00:00
igneum-labs
095aa9e7f4 release 0.3.12: merge hive-words: the bundled node takes the override from the Flight Sheet
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:17:02 +00:00
igneum-labs
b938618f85 release 0.3.12: merge card-order: the GPU list by performance
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:16:26 +00:00
igneum-labs
1975db74f6 release 0.3.12: merge update-catchup: an old update skips the hourly slot
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:16:26 +00:00
igneum-labs
db6be27d5e release 0.3.12: merge proving-v1 app: paid_wei as a decimal string
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

# Conflicts:
#	docs/bench-log.md
2026-10-06 08:16:26 +00:00
igneum-labs
aee2ce9cbc morning summary, 6 October 2026
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:15:36 +00:00
igneum-labs
be64662768 app: an update published over an hour before the engine started skips the hourly rollout slot
PC 1, 6 October 2026 06:58:47Z: the app came up after the 0.3.11 publish, had the installer verified 44 s
later and sat on "installs at the next safe moment" with its slot at minute 35; the project lead pressed Install now at
07:00:48Z. The slot staggers a fleet through a NEW publish; a machine that was off through the publish has
nothing to stagger. Now: published_at + 3,600 s <= engine start => slot_ok, logged once. The other safe-moment
guards (node synced, miner idle, boundary, network drop) are unchanged. manifest::unix_from_rfc3339 with tests.
For 0.3.12.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:13:51 +00:00
igneum-labs
5cb4bdb124 proving v1 harness: --fresh-rule <daa> (default never keeps the known-failed line; set, case 3 expects a fresh record accepted while the previous segment is pending and freshAdmissible true)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:05:04 +00:00
igneum-labs
71c41f791c prover: a segment record the chain rule refuses is held and offered again every pass until the segment's deadline (the fresh-record window on the 0.3.11 rule is one segment length in DAA); the tile counts held records; the fast-time file sets the fresh-rule switch
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:03:46 +00:00
igneum-labs
872c269a0f ember-tune.md: the next-cut note names the right commit
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:03:19 +00:00
igneum-labs
5413f9b6b3 a job that cannot mine never burns its budget silently: the elevated job path follows its output file while the script runs (the 5-minute progress reports carry the lines; 0.3.12), and the tune playbook's watchdog fails a run that mines nothing within 120 s of its first status line (the engine's last log line in the RESULT, the tree ended, mining restored by the runner)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:03:13 +00:00
igneum-labs
764f01cf9e bench log: run 2 (07:21 to 07:56Z): the BOM in the copied settings, no miner started, nothing set, mining paused 36 min 13 s, the hold released by the runner itself
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 07:59:21 +00:00
igneum-labs
b2e3c2b429 playbooks: the scratch settings.json is written without a BOM (PowerShell 5.1's -Encoding utf8 adds one, the engine's JSON parser refuses it, the copy read as defaults with no payout address and nothing mined in runs 1 and 2); the address is read back and the job fails at once if it is empty; the CI check fails any playbook writing JSON with Set-Content -Encoding utf8
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 07:58:39 +00:00