igneum/tools
igneum-labs df9e0a6dcf app: GPU hot-plug (re-detection every minute, WM_DEVICECHANGE on Windows), faulty cards listed with the problem code, integrated GPUs off by default, the card list in the console
5 October 2026: an RX 9070 XT went into PC 1 through a Sonnet USB4 box while the app ran and nothing noticed; the
app detected cards once at start. Now src/hotplug.rs compares every enumeration with the list (key, else vendor +
name when unique; a card whose tool did not answer is never called removed): a new usable card starts a worker,
enabled by default like a card at start, with "New card: <name>, mining" on the strip and in the log; a card
Windows lists with a problem code (Win32_VideoController Status / ConfigManagerErrorCode) is shown as "<name>: not
usable (Code 43)" with the reboot-or-reinstall hint and no worker; a card that disappears has its worker stopped
(quit, 8 s) and its row says removed for five minutes, then hides; an unchanged list touches nothing. The Windows
host sends "detect" on WM_DEVICECHANGE; the engine polls every 60 s (300 s on macOS, no GPU hot-plug there).

detect.rs: the Ryzen iGPU is "gfx1036" to the OpenCL worker, so the APU gfx codes count as integrated, plus the
adapter row's Intel processor string and a dedicated memory under 1 GB; integrated defaults to off with "integrated
GPU, off by default (2 to 3 MH/s for 30 W)" on the row, and the user's choice is kept across re-detections and
restarts (settings, found by key or by vendor + name when the index moved).

Console: the engine logs "cards: <name> [<kind>, <state>] | ..." at start, on every change and every 10 minutes;
relay/lib/parse.mjs reads it and the hot-plug events, the machines API and tools/console.mjs machines show them.

Tests: hotplug.rs (added, removed, moved, errored, recovered, revived, unchanged, twins, user override kept,
the console line), detect.rs (PC 1's adapter lines, the Mac, kind classification, the unusable row),
notices.test.mjs (card notices), relay parse.test.mjs (cards line). cargo test -p igneum-app: 91 passed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 17:45:05 +00:00
..
ci Merge key-custody: key inventory, encrypted offline backup and restore scripts, the two-signing-key plan, a no-secrets CI check 2026-10-05 17:01:53 +00:00
dev-fee Dev fee: the test-network measurement in the bench log; run.mjs waits for the nodes and edits the override as text 2026-10-04 23:15:27 +00:00
evm-smoke Execution layer devnet v3: implementation notes, bench entry, viem smoke test 2026-10-03 22:05:33 +00:00
exec-attacks exec-attacks: execution-layer attack suite (tools + bench log) 2026-10-03 22:57:19 +00:00
finality-attacks FUD sweep round 6 (evening, 5 October): eleven rolled-out fixes moved to Fixed with live measurement lines, F21/F22 shipped but switch not thrown, M20 closed on the 0.3.5 merge; P14 one base-fee definition in spec 05; M16 recompute-attacker cost model; C4 overlay-against-GHOSTDAG runner 2026-10-05 16:02:02 +00:00
harness Harness s8 steady state and the bench-log paragraph: RSS per 1,000 blocks before and after the M30 fix 2026-10-05 01:49:46 +00:00
keys Key custody: inventory, encrypted backup and restore, no-secrets CI check 2026-10-05 17:01:01 +00:00
lock lock: build slots open to new builds come from ~/.config/igneum/build-slots (1 to 3) 2026-10-05 08:19:52 +00:00
observer observer: a watchdog forces a reconnect after ten failed ticks (the live page went stale for an hour after a node restart) 2026-10-05 17:22:22 +00:00
prove-fixtures txgen: real transactions on the devnet, the first non-empty shard proven and paid, the exporter's block structure fixed 2026-10-05 16:18:32 +00:00
proving-v0 Packaging for proving v0: the Mac DMG carries igneum-prove-host and igneum-prove-export, the Windows payload carries the Linux host and exporter under wsl2/bin with the WSL2 scripts and the fixtures; the prover probes the shipped WSL2 binaries first and runs helpers by absolute path; push-inputs takes IGNEUM_NODE_SRC; the test script's --network-only mode 2026-10-04 14:36:59 +00:00
reliability Reliability measured: miner guards and the app watchdog on private test networks; M26, M27, X21 fixed in the ledger 2026-10-04 22:22:16 +00:00
repo rotation phase 2, executed: old folder stripped to the 0.3.5 manifest, local files renamed, relay on the new key, DL_TOKEN rotated; 7 October swap and the owner's rewrite checklist 2026-10-05 15:37:02 +00:00
txgen txgen: real transactions on the devnet, the first non-empty shard proven and paid, the exporter's block structure fixed 2026-10-05 16:18:32 +00:00
ui-mock Miner app UI: log drawer rebuilt (open state, scroll to newest, time jump, last error and swap, search, copy, drag height, virtualised), every screen on one scale, canvas and polling idle when hidden 2026-10-04 19:51:22 +00:00
upstream Provenance: credit every borrowed component, upstream merge procedure, prover customer brief 2026-10-03 20:02:16 +00:00
build-job.mjs build-job.mjs: the watcher reads the SUMMARY wherever it sits in the report (the closing report starts with the app header; two finished builds showed as still running on 5 October 2026) 2026-10-05 16:02:47 +00:00
console.mjs app: GPU hot-plug (re-detection every minute, WM_DEVICECHANGE on Windows), faulty cards listed with the problem code, integrated GPUs off by default, the card list in the console 2026-10-05 17:45:05 +00:00
jobs.mjs jobs: one signed object (igneum-jobs.signed.json) so a file and a signature from two deployments can never pair 2026-10-05 15:52:34 +00:00
logs.mjs rotation phase 2, executed: old folder stripped to the 0.3.5 manifest, local files renamed, relay on the new key, DL_TOKEN rotated; 7 October swap and the owner's rewrite checklist 2026-10-05 15:37:02 +00:00
relay.mjs Merge origin/build-job into release-0.3.5 2026-10-04 21:32:48 +00:00
ship-app.mjs Merge housekeeping: the signed jobs envelope, build-job test flags, the PC-built node cause and the parallel finality tests recorded 2026-10-05 16:30:47 +00:00
tuning.mjs Fleet learning for the kernel race: the TUNING record, the aggregator, the manifest's tuning object, the PC 1 race job 2026-10-04 19:08:45 +00:00