Commit graph

372 commits

Author SHA1 Message Date
igneum-labs
0507dbbfdc Intel Arc, PC 2: the minidump job (refused unelevated by the Minidump folder), the retry shape b that copies the dump as chunks before the install, read-back d (the Arc mining on 6733, its kind reading discrete in the enclosure), tonight's order and the stop rule
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:23:33 +00:00
igneum-labs
366e55c887 Intel Arc, PC 2: the driver install's kernel crash read back (bugcheck 0x3B 70 s into the silent install with the app's worker on the eGPU; 9034 not staged; the app off until the 17:34Z logon); the read-only freeze-events job (System and Application logs in the window, Intel installer logs, the run's local log, the driver store)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 17:50:43 +00:00
igneum-labs
99f1b60f5d Bench log: the Arc B580 on PC 2's Razer Core X (10.98 MH/s, the link does not bind the hash; the dataset build 2.1x slower); the bench ROW line reads the adapter's driver instead of a fixed string
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 17:50:43 +00:00
igneum-labs
50e5d59183 Intel Arc on PC 2 (the Razer Core X V2): the driver job that restarts the PC itself on a restart-required exit, and the read-back with the eGPU's PCIe link width and speed
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 17:50:43 +00:00
igneum-labs
ad74ce87bd Intel Arc README: the bisect and the fix as they went; the trace job on kit 2
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 17:50:43 +00:00
igneum-labs
b059ddcdc7 Intel Arc B580: bench d green with the fix (11.0 MH/s on class v4, vectors pass, fingerprints equal), the bench-log row, the card-picker entry, the plan's measured section; the bench script reads a null child exit as 0 when the RESULT line is there
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:24:27 +00:00
igneum-labs
c6aa376a5d 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)
Intel's compiler turns rotate(x, (0u - n) & 31u) into a rotate LEFT by n: lane 0's register trace on the B580 diverged
at instruction 6 of iteration 0 (rotr) and nowhere before, in both exchange modes, with every other family and the
dataset kernels bit-exact. proto-opencl/intel_rotr.h rewrites the one helper line when the device's vendor or
platform string holds Intel (host.c's buildProgram and the prepare path), no other vendor sees a change, no pack or
consensus text moves. proto-opencl/test_intel_rotr.c (the pre-push gate runs it) feeds the line through the rewrite
under Intel, AMD and NVIDIA strings and asserts the outputs.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:21:21 +00:00
igneum-labs
f248bfd81f ps-drive-ref check: a backtick-escaped quote no longer ends the scanned string (the Arc trace job's $first: after a `" sat outside every string and failed to parse on PC 1); the trace job's variables braced
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:17:41 +00:00
igneum-labs
31827c3586 The register-trace bisect for the Arc B580: igneum_hash_trace by make-trace-pack.py, host.c --trace, igneum-pow trace-regs (interpret_warp_trace), the kit and the PC 1 diff job
Every instruction family of the live hash is bit-exact on Intel's compiler (the family probe, runs a and b) and the hash
is wrong on every lane in both exchange modes: the trace of lane 0's registers after every instruction, GPU against
the CPU interpreter, names the first diverging instruction.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:12:49 +00:00
igneum-labs
a63345eee4 OpenCL family probe: mulhi and mad families (the two live families it did not carry; the Arc B580 fails the hash with every other family exact); the Arc family job on kit 2; the PC 1 identities read
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:04:24 +00:00
igneum-labs
27a97184a3 Intel Arc: the plan's measured section (ceiling 11.0 MH/s, the hash wrong on IGC in both exchange modes), the family-probe job for the Arc
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:01:03 +00:00
igneum-labs
aa4fb95ff4 Intel Arc B580 on PC 1: the bench-log entry (memprobe 1.41 G loads/s, 11.0 MH/s ceiling; the hash wrong on every lane in both exchange modes on IGC), the bench script's swallowed-output and kit-id fixes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:58:25 +00:00
igneum-labs
3eb3309224 Intel Arc README: PC 1 not mining after the restart (the node's template RPC), the one-off cards exception recorded, the void bench row
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:43:17 +00:00
igneum-labs
c635bd6414 Intel Arc bench: the device capture taken on its own (the 10:25Z run benched the Ryzen iGPU), a non-Intel device refused by name, memprobe and benches under pid-killed caps; the plan's blocks-a-day arithmetic (86,400 a day network-wide)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:37:14 +00:00
igneum-labs
f8779083b6 PC 1: the export-ahead job (miners stopped and the Arc off by the runner; the app's own export-pack once, timed; the folder and the miner logs on record)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:32:57 +00:00
igneum-labs
d7543a85e8 Intel Arc: the PC 1 node-wait and cards-watch jobs (read only) around the signed miners restart
After restart b the three workers sat faulted on "no status line from the miner for 90 s" (the node still syncing).
The chain: a read-only wait for node.synced and the exec tip (api/state and igneum_getExecStatus, 10 s, cap 10 min),
the signed restart --what miners kind (the app's own path for a faulted worker; a script never posts to api/cards),
and a read-only 3-minute watch of state, hash_now and message per card with the log tail of any card still faulted.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:19:11 +00:00
igneum-labs
2f19bc9415 Intel Arc README: the runs of 7 October as they went, the packs kit's fetch id and sha
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:11:49 +00:00
igneum-labs
d59490c084 Intel Arc bench playbook: the header no longer spells the endpoints the quit check greps for
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:09:50 +00:00
igneum-labs
22b275792c Intel Arc: the restart and read-back jobs as run, the driver script's 1014 row and -s alone, the plan's measured enumeration line
Run b (10:46 UK) exited 1014 = the inner installer's 14 wrapped: Level Zero 1.32.0, the Support Assistant and Intel
Graphics Software went on, the 9034 display driver did not bind while the device sat in Code 12 on Windows' inbox
6733. The restart job (the project lead's word) ran at 11:01 UK, a plain run job (shutdown /r needs no elevation); the read-back
after it: the Arc OK, Code 0, the Intel OpenCL 3.0 platform listing it with 11,928 MiB, 160 compute units, 2,850 MHz,
local 128 KiB and cl_khr_subgroup_shuffle; the app's row other:Intel(R) Arc(TM) B580 Graphics, 8 identities. The
read-back's list line used $_ inside a foreach statement (empty) and its first-light filter matched the job's own echo
in the app log: both fixed. The plan's section 1 carries the measured line.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:09:20 +00:00
igneum-labs
f39d64a7e2 Intel Arc: the plan, vendor intel in the app (detection, badge, no-cap row, tests), the PC 1 driver, restart, read-back and bench jobs
docs/plans/intel-arc.md: the OpenCL worker runs the B580 first (Intel's OpenCL 3.0 runtime, exchange auto with the
local-memory fallback the worker already carries), the expected ceiling from 456 GB/s (13 to 20 MH/s, approximate until
the memprobe), 12 GB = mine only (the prover is CUDA only), the Arc OpenCL gotchas (sub-group 16 vs 32, SLM, spills,
64-bit multiply, IGC's build options and compile time, two Intel platforms, no power API through OpenCL: IGCL next),
the fallback ladder with hours (SPIR-V into the same runtime, a Level Zero host, SYCL), the consequences per tier.
App: vendor "intel" from the OpenCL vendor string and the Windows name; Arc cards discrete, the Arc-branded processor
graphics integrated; the INTEL badge in the Intel blue token, light and dark; the row's no-reading sentence, the
measure-only tune words and the details panel's no-cap note; sweep.rs names IGCL as the source to come; detect.rs test
on a B580 line beside PC 1's list; view.test.mjs row test; ui-mock scenario intel.
PC 1 jobs (tools/intel-arc): the elevated driver job (ran twice on 7 October: run 1 exit 1007 = the bootstrapper's wrap
of the inner installer's 7 on my -report flag; run b with -s alone exit 1014 = inner 14, installed, restart required),
the restart job (the project lead's word), the read-back job, the packs kit and the bench job with the memprobe, class v4 and v3
benches, the local-exchange row, the bench-log row, the card-picker entry and the owner's consequences line.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:02:14 +00:00
igneum-labs
5e5a309a04 build server: the remote checkout's clean spares a lane's scratch (AP-H1, the lost-scratch class)
remote-run.sh checkout_tree ran `git clean -fd` on the box mirror before every build from any agent, so the attack rows
lost attack-f3/, attack-f1-venv/ and tools/attack/*/target to each other's builds (7 October 2026, 09:2x UK). The clean now
also spares the fixed prefixes attack-*, scratch-*, target-attack-*, .build-remote.log and every glob in the mirror-local
.igneum-scratch-spare (one per line, # comments, the file itself spared), keeps the target and stamp excludes and still runs
without -x. The clean-tree test asks `git clean -nd` with the same excludes instead of filtering the status list, so a spared
dir is not "not clean". --self-test: a fixed-prefix dir at the root and nested, a declared dir and the spare file survive, an
undeclared dir is removed. tools/ci/scratch-spare-check.sh in the pre-push gate fails when the clean line loses the spare
arguments, spare_args stops reading the file, a fixed prefix goes, or -x appears. docs/plans/build-server.md R4a says how a
lane declares its prefix.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:24:07 +00:00
igneum-labs
8180afc4d8 Merge mission: the last research round (five lanes: past, unfinished, future, invent, reinvent) and The Igneum Mission, the closed list of twelve
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:22:14 +00:00
igneum-labs
d9617d793c Export exclusion: docs/analysis/mission is internal research (the last mission's five lanes and the closed list), outside the public export list
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:22:09 +00:00
igneum-labs
c5854f36da Merge site-ui-3: the site redesign (simple nav, miner, app, live devnet, one design system), X36, the Discord vanity
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:01:06 +00:00
igneum-labs
ee7b6d68c3 site: light-theme app captures, the X9 withdrawal correction (ledger X36), the Discord vanity link
Light theme shows light screenshots on the miner and app pages (the
0.3.16 renders from the RTX 5090 Windows rig's live state, the 390 px
pair included). The X9 never shipped: pre-orders 26 December 2025,
withdrawn mid-May 2026 before any unit shipped, no benchmark; every
public sentence that had it shipping now says so, with k about 0.33
labelled as the claimed, unmeasured core; ledger X36, notes on X34, X35,
M34 and C2. Every public Discord link is https://discord.gg/igneum.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:01:03 +00:00
igneum-labs
df9b54361a site: the simple nav, the miner and app pages, the live devnet redrawn, one design system for every page (not deployed)
Nav sitewide: Litepaper, Miner, App, Wallet, Live devnet, Ledger and the
Download button; the rest in the sheet and the footer. /miner is the
product page for the installers: the shipped app in its frame, the card
picker with the live time to a block, the downloads with sizes, HiveOS,
the fee in full view, three real shots. /app is new: the Igneum Ember app
page by page (Overview, Cards with Ember, the chain drawn live by the
module the app ships, Earnings, Prove, Settings, phone width, what keeps
it mining), light and dark, every shot a real capture or a render from
the RTX 5090 Windows rig's live state with the hostname painted out.
/live is redrawn to show the system working: the step scene, six live
cells, finality in plain words, miner lanes, provers paid, recent blocks
landing, the light client in one line, the DAG below. site.css carries
the shared product components (frames, download list, lines, your-card
line, phone download bar); yourcard.js reads the network rate. The
ledger and wallet pages no longer overflow at 390 px.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 07:44:15 +00:00
igneum-labs
13bb606c11 Merge site-ui-3: the one-screen home page is back
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 07:14:26 +00:00
igneum-labs
7e7dd29c91 site: the one-screen home page is back (3e72c9a), with the wording that landed since
The owner's word this morning: the 56 px header, the eleven-word
statement, two buttons, the step scene full bleed, three facts, the
downloads and one line to the ledger. Kept from the nights since: the
X31 testnet sentence, the X35 chip range with k stated, the Discord
line. The RandomX correction (X34), G4, C2 and X8 stand on the
litepaper; the ledger notes and the text check say so. The app showcase
moves to the miner page in the next step.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 07:14:24 +00:00
igneum-labs
e22b41ad4a Build tools: whole-body blocks (the edited-while-running class, with its check), the igneum-pow pairing line, move-hand.sh restart with its readbacks
Three classes from the 0.3.17 night. (1) bash reads a script incrementally: tools/build-remote.sh was edited while a four-minute remote
build ran, the running copy continued at shifted bytes and died with a syntax error after the build had succeeded on the box; the
four long-running tools (build-remote, cross-remote, workers-remote, move-hand) now keep their body in one brace block ending in exit,
parsed whole before a line runs; tools/ci/whole-body-check.sh (in the gate, self-test with a block-less copy) holds the shape.
(2) A fork build pairs with the igneum-pow of the igneum worktree it sits in: a fork at 12153428 under a master worktree failed in
kaspa-pow four minutes in (no chain_program_shadow; master's igneum-pow predates release-0.3.17's); build-remote.sh says the
pairing on its first line ('pairs with igneum 6f8d7a7e (detached): igneum-pow 0.2.0') and the JSONL line carries pairs_with.
The first version of that line used '[ -n ... ] && echo' inside an assignment's $( ) and set -e ended the script on the false
status; fixed. (3) move-hand.sh restart <hand> [--digest <hex>] [--go]: after binary installed a release, restart ONE unit and read
it back (first exec line, commit string in the running binary, digest against the wanted one, igneum_getNodeInfo powEngine over the
node's loopback EVM RPC); the digest readers tolerate a missing line.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:12:51 +00:00
igneum-labs
0c87b223bf glibc ceilings per artefact class: hive and rig 2.31, seed and linux 2.35, native unchecked; proven in ubuntu:20.04 and 22.04 on the box
Main's order of 7 October 2026 after RunPod's Ubuntu 22.04 canaries (glibc 2.35) refused the box's GLIBC_2.38 binaries and HiveOS
turned out Ubuntu 20.04 based (2.31). The table lives once, in tools/ci/glibc-ceiling-check.sh (--class, --ceiling-of; self-test
covers the table, an unknown class and a 2.34 need against hive); tools/build-remote.sh --ship hive|rig|seed|linux (default seed)
and tools/workers-remote.sh --class (default rig) build with zig at the class's glibc and check against it. provision.sh installs
docker.io (user build in the docker group) for the proof. Proof: fork 3bfe346f at class hive, igneumd and igneum-miner need
GLIBC_2.30; the workers at class rig need GLIBC_2.17; all four run in ubuntu:20.04 (ldd 2.31) and ubuntu:22.04 (ldd 2.35) and
print their version or usage lines (the OpenCL worker its own no-libOpenCL message, the binary running in a GPU-less container).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 00:35:18 +00:00
igneum-labs
41118b7ca8 workers-remote.sh: the host's /usr/include stays out of the zig build (the OpenCL headers through a CL-only symlink dir); both workers proven at glibc 2.36
The previous commit's 'the workers at 2.36' was not yet true: the first zig build died on __isoc23_strtol because -I /usr/include
for CL/cl.h put Ubuntu's glibc 2.39 stdlib.h in front of zig's bundled 2.36 headers. Fixed; proof on the box (6 s):
igneum-worker-cuda 6,759,272 B sha256 690c8e91..., igneum-worker-opencl 307,264 B sha256 329fb6a9..., each needing GLIBC_2.34
and libc only, the ceiling check passing. The two static flags zig ignores are dropped on the zig path (zig links its libc++ in).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:40:14 +00:00
igneum-labs
7e34ca10b6 Build server: zig and cargo-zigbuild on the box; build-remote.sh --ship builds glibc 2.36 Linux artefacts for seeds and HiveOS; the glibc ceiling check
Main's order of 7 October 2026 after a seed took 14 restarts and three minutes down on a glibc 2.39 binary. provision.sh:
step_zig (zig 0.17.0 from ziglang.org, sha256 from the official download index) and cargo-zigbuild 0.23.4 in the cargo tools.
tools/build-remote.sh --ship [--glibc 2.36]: cargo zigbuild --target x86_64-unknown-linux-gnu.2.36 with zig as the C/C++
toolchain (the Mac's infra/cross/build-linux.sh recipe), artefacts from the target-triple dir, each checked by
tools/ci/glibc-ceiling-check.sh (need at most the ceiling; self-test fires on 2.38 against 2.36, passes 2.34 and 2.36;
--symbols reads a saved objdump -T text so CI needs no ELF tools). tools/workers-remote.sh builds the two GPU workers with
zig at 2.36 by default (GLIBC=native for clang). Proof on the box: fork 3bfe346f igneumd needs GLIBC_2.34 (47,023,120 B,
sha256 345dfb95...), igneum-miner GLIBC_2.34 (9,248,808 B, d09dc27b...), 3 min 17 s cold through zig; the workers at 2.36.
Rule: anything that ships to a seed or a HiveOS rig is built with --ship; a plain build (glibc 2.39) is for the box and
Ubuntu 24.04 hosts only.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:37:33 +00:00
igneum-labs
aaaa5058dc Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:33:54 +00:00
igneum-labs
39db713f99 Fleet: the last two process patterns (a top-level alternation; the canary's node path by its basename)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:33:54 +00:00
igneum-labs
5e6cc45cfc Merge branch 'gpu-fleet' into HEAD
# Conflicts:
#	.github/workflows/ci.yml
2026-10-06 23:33:28 +00:00
igneum-labs
c9fa98bb6c Fleet: the last process patterns in the bracket-first form; the fleet's own pgrep check withdrawn (master's kill-by-name check covers the class)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:31:55 +00:00
igneum-labs
488149e5c5 Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:29:39 +00:00
igneum-labs
0c51a27c15 Fleet scripts: no path into another worktree (sys.path from the file, the ship tree from the environment)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:29:39 +00:00
igneum-labs
0d2379a68c Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:28:55 +00:00
igneum-labs
4dda6f2a4f Fleet scripts find their helpers inside their own tree (the CI checks, the Discord hook, the publish script), env-overridable; the library's node patterns inline
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:28:55 +00:00
igneum-labs
9242e94d8c Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:25:53 +00:00
igneum-labs
a837acfe0d Fleet: the last three process patterns in the bracket-first form
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:25:53 +00:00
igneum-labs
e8199048d0 Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:25:10 +00:00
igneum-labs
ff33e4a592 Fleet scripts: process patterns in master's bracket-first form (the kill-by-name check), anchors dropped
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:25:10 +00:00
igneum-labs
0aad6a0975 Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:23:46 +00:00
igneum-labs
05eedeac29 Merge gpu-fleet: the rented fleet's tooling (box library, standing supervisor and library, the 10 percent and 75 percent gates, the deploy gate, publish and canary scripts, Devnet 2 scripts and gate reader, the wind-down) and the night's analyses (prover tiers, block rate, the fleet night rows 1 to 18, the bench-log entries)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:23:46 +00:00
igneum-labs
28042dc996 lib/box.py: the node path pattern in the bracket form; the pgrep check allows the variable it is read through
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:17:48 +00:00
igneum-labs
37b9c2a6d4 Fleet scripts: every pgrep/pkill -f literal in master's bracket form (the kill-by-name check); the rehearsal chain's end script
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:14:41 +00:00
igneum-labs
3ced860f96 Fleet: the deploy gate (syntax + master's defaults-line check + the comment-with-code class) in lib.box.put; the 75 percent table gate (standing.table_gate, the wind-down holds under it)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:04:29 +00:00
igneum-labs
25dac23a12 box-dn2.sh: the UNSYNCED comment moved above its line (it had swallowed the port variables; three Devnet 2 nodes failed to start under set -u)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:02:49 +00:00