Commit graph

460 commits

Author SHA1 Message Date
igneum-labs
229e9339f0 class v5: the Intel Arc kit job renamed without a PC prefix (it runs on the second PC's eGPU); igneum-pow: the class v5 attempts census (per-candidate rejection, first failing part per candidate, exhaustions, P(256)) as an ignored test
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:27:03 +00:00
igneum-labs
e327d4a767 class v5: the listed-programs reading's box-side runner (pool lease, class v5)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:22:58 +00:00
igneum-labs
ace36eecdf class v5 kit: the PC 1 Intel Arc B580 bench job (the AMD script with the Intel OpenCL device match)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:22:57 +00:00
igneum-labs
9f67420a6a Merge remote-tracking branch 'build/v5-kits' into class-v5
# Conflicts:
#	docs/design/class-v5-stored-state.md
2026-10-07 22:09:37 +00:00
igneum-labs
0a5abe0634 class v5 harness: the class-walk case under the v5 object (v4 floor 0, v3 never: every epoch before the flip is class 4), a fork-binary override for the node lane's pair build; the page carries the node lane's branch list and the decide() fix
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:55:51 +00:00
igneum-labs
7c93b36eee class v5 kits: the box-side body moved out of the inline command string into tools/class-v5/kits-on-box.sh, run by path from the mirror checkout (main's inline-rm rule of 21:33 BST: no rm, find -delete or truncation inside a bash -c string); kits-remote.sh now only syncs the sources and calls it
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:37:40 +00:00
igneum-labs
ceceaf64d6 class v5 harness runner: the box side in a script run by path (main's rule of 21:33 UK: no redirect-truncate inside a shell command string)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:36:11 +00:00
igneum-labs
9ac364b722 class v5 census runner: lease class v5 (the pool's priority classes, lease 5d84d644)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 19:41:44 +00:00
igneum-labs
4d6218ee84 class v5 census runner: pick the test binary by --list (the CLI binary shares the igneum_pow-<hash> name; the first run held 64 pool cores for 9 minutes on the CLI's usage text)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 19:36:21 +00:00
igneum-labs
7bb87b096f class v5 census runner: the test binary is the extension-less igneum_pow-<hash> (the first pick read an object file)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 19:26:40 +00:00
igneum-labs
7acccc31e5 class v5 census runner: the lease label without apostrophes (the remote shell read the (c''') mark as quotes)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 19:25:53 +00:00
igneum-labs
15eeb5b5f6 class v5: the (c''') census runner on box 2 through the pool lease (the suite's own test binary, the log copied under the harness dir)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 19:24:03 +00:00
igneum-labs
ac07fb8357 class v5 kits: the Intel row stated as not measured tonight (no B580 on PC 1 or PC 2, the Arc path needs a driver click no PC job may raise; the holder and a click-free path owed) in the kit README text and section 13
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:48:01 +00:00
igneum-labs
b04071a992 class v5 kits: the OpenCL host declares _POSIX_C_SOURCE on Linux (clock_gettime and strtok_r under -std=c99: the first box build failed), the Windows cross-build takes the Khronos CL headers alone (never -I /usr/include ahead of mingw's), and kits-remote.sh reads the remote runner's status before anything else and writes no zip after a failed step (the first run read true's status and called a failed build built)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:39:20 +00:00
igneum-labs
8bf1c4f43d 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
packfile.h reads IGNEUM_STATE_LEAVES, IGNEUM_STATE_LEAVES_FNV64, the file name, root and block (generator 5 = class v5; a generator 5 pack without the count, or another class with one, is refused) and pf_load_leaves reads and checks leaves.bin; the loader test carries the class v5 cases known-failed first (no count, no file, a short file, one flipped bit, a v4 pack with a count) and the checked-in v5-dn3-epoch0 pack. The CUDA driver gains cuMemcpyHtoD; the emulation takes both igneum_build shapes (weak overloads) and refuses a shape mismatch. The OpenCL host sets the build arguments in one place for both shapes, uploads the leaves in --bench-pack, --serve and the compiled-in bench (the host reference derives words from the same leaves). The Metal worker's servePackDataset binds buffers 2 and 3 as packbench.swift does and self-tests the dataset head and last word against vectors.json. tools/class-v5: kits-remote.sh (the kit build and tests on igneum-build-1, the zip to /srv/artefacts/packs), fleet-cuda-v5-bench.sh (the fleet card), pc1-amd-v5-bench.ps1 (PC 1's 9070 XT through the coordinator).

Measured on the Mac under the measure lock, 7 October 2026: v5-dn3-epoch0 fingerprint 82b19cbde8557ea5 on Metal (packbench, M5 Max, 18:34:47Z, 14.163 MH/s GPU time) and on Apple OpenCL (--bench-pack, 18:34:59Z, 15.265 MH/s wall; the compiled-in bench's dataset self-test PASS at 18:34:54Z), cache FNV 7334fa46e5d972eb PASS, vectors 3 of 3 on both.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:36:17 +00:00
igneum-labs
db2f9e0f23 Merge remote-tracking branch 'build/master' into class-v5 2026-10-07 18:33:18 +00:00
igneum-labs
6fdd357434 Merge remote-tracking branch 'build/master' into v5-kits 2026-10-07 18:32:41 +00:00
igneum-labs
deae3803ab Build boxes to near max (the project lead, 7 Oct 2026 19:4x BST): the bounded class is 88 of 96 cores with -j 88 (8 reserved for release builds, the seed and the observers), the jobs rule 88 alone / 44 shared, the spill line 80; checks updated. testnet-go.md: LG-2 waived by the owner, the new gate, the seeds held armed
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:23:14 +00:00
igneum-labs
5732253483 Jobs publisher: a remove refuses a job the target's latest report shows running, and any job published with --installs-app, unless --force \"<reason>\" (7 Oct 2026 18:53 BST: a removal reached PC 2 one second after its job launched a silent installer over the running app; the runner's abort ended the process tree and the app went dark); tools/ci/publish-jobs-check.sh in the gate
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:10:18 +00:00
igneum-labs
e402f868cd class v5 harness: the 0.3.23 bytes (7 = class v4 sub-version 3, 6 = class v5 counted exactly)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 17:55:09 +00:00
igneum-labs
8fbcd43520 Merge remote-tracking branch 'build/ca3-v4-amend' into class-v5
# Conflicts:
#	igneum-pow/src/generator.rs
2026-10-07 17:53:53 +00:00
igneum-labs
361e8bc7ac Engine gate: any igneum-pow*/src/ directory pairs (the fork pairs through a paths override that may name the tree igneum-pow-amend, the archive of c79f6d96; the shipper, 7 Oct 2026), the matched name printed in the line; self-test with both names
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 16:59:28 +00:00
igneum-labs
e939c4557d Merge remote-tracking branch 'origin/master' into build-server 2026-10-07 16:56:30 +00:00
igneum-labs
7ab0388968 Build boxes: the engine gate (igneumd and igneum-miner fetched by build-remote must carry igneum-pow/src/ paths; a commit string alone does not prove the engine: the stub-engine 21d8f454 that rejected every block on the Devnet 3 hub, 7 Oct 2026); tools/ci/engine-check.sh with its self-test in the gate
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 16:55:43 +00:00
igneum-labs
3325ed4334 Merge ca3-v4-amend e80978ad into master (gate: green on e80978ad, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 16:45:48 +00:00
igneum-labs
e80978adc1 Merge origin/master 0caa3cc5 into ca3-v4-amend (igneum-pow kept byte-identical to the frozen c79f6d96 per main's stop-the-line ruling; the ledger keeps both sides) 2026-10-07 16:40:29 +00:00
igneum-labs
a249982056 Merge remote-tracking branch 'origin/master' into site-ui-5 2026-10-07 16:37:57 +00:00
igneum-labs
fdc3a0ac46 site: the chip claim launch-first in the four public places (Counter ASIC lane, docs/plans/counter-asic-3-public-text-2026-10-07.md sections 1 to 4, on the project lead's "I thought we were making it 2.1 from launch?")
Home row 03, the litepaper's chip section at /litepaper#chip-model (paragraph and table; the class v3 row last, "never the launch
state"), the miner page's line and evidence.md row 17 in its eight columns: 2.1x to 3.9x under class v4 from the first block,
class v5 removing the stored-dataset chip as a category, the 5x to 9x only as the class v3 baseline, the devnet's activation
height as a devnet fact. The litepaper's abstract carried the same claim in the old form ("5x to 9x today; class v4, now on
the vote") and now reads launch-first too. tools/ci/ledger-text-check.mjs follows the sentences (X35 on the home page and the
litepaper). No disclosure prize anywhere.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 16:34:12 +00:00
igneum-labs
d11009589e Merge remote-tracking branch 'origin/master' into site-ui-5 2026-10-07 16:30:59 +00:00
igneum-labs
b446299c14 site-ui-5: the padding and visuals sweep (7 October 2026, 17:xx UK): the /wallet band's padding, tools/ci/padding-check.mjs in the gate, every finding fixed in site.css, the eye pass
the project lead: the ember band on /wallet had no vertical padding (the heading on the band's top edge, the button on its bottom), then
"run a full site sweep for padding and visuals".

- The band: .band .wrap carried the padding and the three bands use .container; both selectors now, 56 px (40 on phones), and
  24 px at the sides on phones.
- tools/ci/padding-check.mjs: renders every served page at 390, 768, 1024, 1440 and 1600 in both themes and flags TIGHT (text or
  a control under 24 px from the edge of the filled band, card or section that holds it; rows of radius 12 and under are the
  app's compact rows and keep their own padding; small filled things such as buttons, pills, badges, tabs, cells and the bar are
  never containers), SCALE (a section's vertical padding not 0 and not a multiple of 4 from 24), TOUCH (controls under 6 px
  apart outside segmented groups), OVERRUN (an image or canvas past its frame) and UNDER-BAR (a heading under the sticky bar on
  load, an anchor the bar would cover). --self-test builds the fixture from the site's own stylesheet and bar with the exact
  /wallet band with its padding lost, a touching pair, an image over its frame and a heading under the bar; each must fail,
  the clean twin must pass. A gate line runs it (self-test, then the built site); where no browser exists it says so.
- Findings fixed (first run 2,740, then 1,040, then 48, now 0 at 230 renders): page heroes 64/48 (were 65/45), the
  observatory head and the 404 the same, the footer's bottom 24, doc sections and the litepaper's 40 (were 42), .sec 72 at
  tablet (was 70), the 404 card 36, /live's motion block 24 (was 25), the scenes lab 48 (was 50); every card at 24 inside
  (download cards, home tiles, the live tiles and stats, the evidence labels, the wallet state cards, the journey phases, the
  live inspector and toolbar, the download card on phones).
- The eye pass over every page at 1440 and 390 dark: the journey's phases are cards now, so the old timeline rail and marker
  (drawn for an unboxed list, sitting on the card's top border) go and the when column keeps clear of the body; tables keep
  words whole (break-word, not anywhere: "regenerat es" on the litepaper) and give the label column 14ch (one word per line on
  /randomx); the litepaper's body paragraphs share one measure; the ledger's count-table chips stay on one line; orphan words
  go through text-wrap: pretty on body text (copy law 18, "measurement." alone on /claims); the dev-fee page lost its doubled
  gutter (a lifted section keeps its own .container) and its table clears the text above; /faucet and /metamask keep a gap
  between headline and lead, line their two cards up at the top and end 72 px above the footer; a heading after a card grid
  gets 40 px.
- The overlap sweep at the same five widths and both themes: 0 overlaps at 290 renders.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 16:30:58 +00:00
igneum-labs
7506703bc0 Site currency (currency-21's site side, for master tonight): site/money.js is the miner app's currency rules for the site (navigator.language picks the currency and the typical tariff, a saved switch wins, one Intl.NumberFormat call for every money figure, no exchange rate anywhere; tables generated from the app's View block, site/lib/money-regen.mjs rewrites them, site/lib/money.test.mjs fails on drift once the app side reaches master and waits until then); the card picker (yourcard.js on /miner and /app) shows the card's electricity a day at the typical tariff with a currency switch saved in localStorage igneum-currency, loading /money.js itself so no page was edited
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 16:30:22 +00:00
igneum-labs
6433f3ab95 Era VDF lane (7 October 2026): spec 04 sections 4.2, 4.4, 4.5 and 4.6 completed for the era path (the scheme byte and the hash-chain fallback, the cut rule under the O-4.3 reading, the day-of-blues input, the delay, the seed, the era constants as measured), spec 01 section 1.13.1 and era-layout.md section 8 updated, open items O-4.8 closed and O-4.10 to O-4.12 added, FUD ledger F11 updated, two decisions for the project lead in ledger-decisions.md, the record docs/analysis/era-vdf-2026-10-07.md (what was built, the parameters and measured rates, the harness gate with both runs, the cut rule for the finality lane, the verify gate, the tiers), the F7 re-roll harness against the real era cut (tools/era-vdf/reroll.mjs: --vdf off fires 6 of 6, --vdf on silent 0 of 6; the adversary evaluates asynchronously with the node's own code and is found by the node's own log line), the fast-time file's era fields 2026-10-07 15:24:22 +00:00
igneum-labs
e1acccd816 Merge bench-5060ti 052c935b into master (gate: green on 052c935b, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 15:17:18 +00:00
igneum-labs
b1d8e4b503 Merge build-server 98fd5d31 into master (gate: green on 98fd5d31, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 15:16:36 +00:00
igneum-labs
3619437e89 Counter ASIC 3.0 gates (hash): ledger AP-F8-1, the suite (103 of 103), CI and census lines at c79f6d96; the census draws in parallel
Suite at c79f6d96 on box 2: 103 passed, 0 failed (lib 140.8 s: every class v4 draw in the tests pays the 2^20 ratio pass). CI 37639406567 success. Census: 4,099 programs, 0 lossy sites of 65,584, 0 exhaustions, mean attempt 2.086 (c709afef 1.998), max 17; the ratio refuses about 4 percent of candidates that pass every other test. tools/ca3-v4-uniform draws the seeds across the available cores (the serial run became a four-hour job under the ratio pass); the analysis and the row order are unchanged.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 15:10:13 +00:00
igneum-labs
98fd5d31a9 Gate: the box lock self-tests read the same on an idle box and on one at load 120 (private lock directories, no pinning in the fixture, file-driven waits, a 3 s settle, a quiet that outlives the slot settle); the check runs them one at a time with one retry each (the horizon lane, 7 Oct 2026: one red on a full gate, green a minute later)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 15:05:56 +00:00
igneum-labs
052c935b7b RTX 5060 Ti (16 GB, Razer Core X V2 Thunderbolt) on PC 2: detection, G1 bit-exact on class v4 sub-version 1 and the v3 control, the 10-minute stock window, the bench-log entry, the card-picker entry and the public table row
The first 16 GB card and the first Thunderbolt card. The app's first poll listed it (vendor nvidia, 16,311 MiB,
driver 610.47 shared with the 5090, kind discrete: the app does not know it is an eGPU) and started a miner on
it by itself. Job run-5060ti-bench-20261007-b (tools/bench-5060ti/pc2-5060ti-bench.ps1, the card alone under
the runner's --cards-off, the 5090 mining, no power limit written: 180 W default read back unchanged, PC 2 lost
power twice that day): G1 PASS with 867dbc45cfb36b4d (sub-version 1) and 90f794dd556f7a3b equal to the Mac's;
the window 1,105 dispatches of 2^24 in 602 s at 30.882 MH/s, 114.8 W mean at utilisation 90 percent and over,
0.269 MH/W, PCIe 4.0 x4 through the enclosure (the hash is latency-bound, the link costs nothing measurable).
Owed: the efficient point (the app's Ember Tune; PC 2's Power Helper refuses every request since the restart)
and the prove-beside read (the shipped WSL2 host has no IGNEUM_CUDA_DEVICE selector; the floor server is on
PC 2; the prover-floor host is the cut). The kit (tools/bench-5060ti/make-kit.sh) takes the sub-version 1 packs
from ca3-v4-amend aa31c396, since master's packs-ca3-v4 is the 6 October stream.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 15:05:47 +00:00
igneum-labs
4a81c64d24 Merge remote-tracking branch 'origin/master' into site-ui-5 2026-10-07 14:51:38 +00:00
igneum-labs
dea7e9b8b1 site-ui-5: the phone menu is seen, the home fold hides the scene until the feed answers, /miner and /wallet show dark screenshots only, /live has no "you" (7 October 2026, 15:5x UK)
the project lead's three on the live site, plus the /live key's last item:
- Mobile nav (URGENT): the sheet was position:fixed inside the bar, and the bar's backdrop-filter is a containing block for
  fixed descendants, so top and bottom resolved against the 60 px bar and the sheet opened with zero height while
  aria-expanded said true. It is now absolute under the sticky bar, a viewport-tall box (100dvh minus the bar), display block
  over the package's grid rule. tools/site/sheet-test.mjs opens every page at 390 px, clicks the burger and asserts the first
  link is on screen and on top (elementFromPoint at its centre returns the link); --self-test forces a zero-height sheet first
  and must catch it; a gate line runs it where a browser exists (the box, CI) and says so where none does. On build-2: the
  zero-height sheet is caught, 23 pages pass.
- Home at 375: the renderer's "Waiting for observer data" was drawn on the fold's canvas under the lead. The fold now carries
  .pending until the feed is live or stale and keeps the canvas at opacity 0 meanwhile; the status pill is its own row under
  the buttons on phones. ?feed=off holds the pending state for a render; the overlap sweep (whose server answers /api with
  503) renders the pending state by construction and ran at 375, 390 and 1440 in both themes: 0 overlaps.
- /miner and /wallet: the light-theme screenshot variants are gone (dark only), captions unwrapped, "light and dark" dropped
  from the gallery line; one gallery of frames with one caption each.
- /live: "Your block" leaves the key, the "Your blocks" filter and tile and the Mark-my-key prompt leave the page (the site
  has no "you"); the stats row is three tiles; the key reads Included, Excluded, Selected chain, Proven, Locked checkpoint.
- Captures: ?motion=off (head partial) marks data-motion=off so every .reveal is drawn in a headless render; capture.sh passes it.
  tools/site/serve.mjs survives a refused api origin (502, never a crash).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:51:17 +00:00
igneum-labs
3f24bc47b5 Merge mf11-master ff8ea30b into master (gate: green on ff8ea30b, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:49:42 +00:00
igneum-labs
ff8ea30bd3 Relay: the X23 tree on master (the signed and tagged run, lib/handler.mjs, guard, the per-machine secret), the start-app kind, the v3 agent as the per-user logon task IgneumRelayService with install-agent.ps1 and the hidden loop, the per-install hostname on registration, the signing tools/relay.mjs so no lane posts an unsigned run (the live relay refuses one since the 7 October 2026 deploy), tools/console.mjs and build-job.mjs on the header tier (X24), the playbooks on RELAY_DL_BASE (X26) and wsl-setup's sudo for apt-get and dpkg only (X28), the new playbooks (start-app, agent-install, pc2-crash-collect, boot-check, freeze-check), and the deploy record with the rollback line (docs/plans/relay-deploy-2026-10-07.md: production igneum-relay-iabqarnby, previous bgy767z40)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:47:59 +00:00
igneum-labs
9267038454 Merge build-server 317b2556 into master (gate: green on 317b2556, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:25:01 +00:00
igneum-labs
317b2556b2 Gate: a --ci run outside GitHub Actions builds the site in the temporary copy like the hook (the in-place build rewrote four tracked site files in the running worktree; the horizon lane, 7 Oct 2026); in place only inside Actions; self-test that the tree is unchanged after a site build
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:23:05 +00:00
igneum-labs
f9f7186ef7 Merge horizon 090ee505 into master (gate: green on 090ee505, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:17:38 +00:00
igneum-labs
1727403ff0 Merge build-server cbf57294 into master (gate: green on cbf57294, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:08:58 +00:00
igneum-labs
cbf57294a9 Gate: the box lock self-tests skip with an ok line under --ci on a runner with no box (GitHub's hosted runner has no BUILD_HOST and no box file; master went red the moment the check landed, 7 Oct 2026); the Mac hook and the box runners still run them live
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:06:53 +00:00
igneum-labs
090ee5059e Merge remote-tracking branch 'origin/master' into horizon 2026-10-07 14:05:21 +00:00
igneum-labs
97afc66b7d overlap-check: a text sliver at a scroll pane's edge is scrolled away, not covered (the miner's Earnings ladder under the closed log drawer's 1 px bar at c501c7d5 read as covered); the clean fixture now carries that shape (7 October 2026, 16:1x UK)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:03:28 +00:00
igneum-labs
ff5c0de4f7 Merge remote-tracking branch 'origin/master' into ui-overlap
# Conflicts:
#	tools/ci/pre-push.sh
2026-10-07 14:01:38 +00:00
igneum-labs
79ef14c46b Merge remote-tracking branch 'origin/master' into scene-parity-site 2026-10-07 13:58:19 +00:00