Commit graph

939 commits

Author SHA1 Message Date
igneum-josh
9cd05bef4a Devnet 2 prover restart as a file (one instance; an inline pkill with the host's name killed its own ssh shell)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:01:29 +01:00
igneum-josh
eca7b64ecf Bench log: the rented fleet is the devnet's finality (the weight shares, the pause, the 10 percent rule, the supervisor's restart times, per tier)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:00:00 +01:00
igneum-josh
087f75a37e Fleet night rows 17 (two miners on one GPU after a restart) and 18 (two provers on one Devnet 2 box)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:59:01 +01:00
igneum-josh
c95f68ef7f Fleet: the wave's wind-down by the 10 percent rule (hourly slices sized by weight share, weight_check gated, held under two thirds signing, the lock read after each); the poisoned-peer confirmation script
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:58:04 +01:00
igneum-josh
409bc3dc22 Standing supervisor: one miner per GPU (the miner loop kills any other miner before starting its own)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:55:36 +01:00
igneum-josh
c29c6b957c box-prover.py: one instance per box (pid file) and a per-process state tmp (two instances raced and killed each other's GPU server on Devnet 2); dn2-check.py: the Devnet 2 gate reads for the build-server seed
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:53:51 +01:00
igneum-josh
873f74b168 fleet-bg.sh: the macOS note moved off the case line (a trailing comment swallowed the ;;)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:43:37 +01:00
igneum-josh
87326f925e fleet-bg.sh: setsid optional (macOS has none)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:43:14 +01:00
igneum-josh
56a0c70f37 Fleet: pid-file job helper (kill by pid, never by a name), the supervisor's P2P_LISTEN knob for inbound-port boxes, publish 1 on f1ea7a38; CI README row for the kill rule
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:42:59 +01:00
igneum-josh
8bc1d11239 box-prover.py: a statement mismatch names the hex offset and both tails (the 34-char prefix hid the difference on Devnet 2)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:40:28 +01:00
igneum-josh
fecbf2dfc9 Fleet docs: the gpu-fleet clock (10 percent rule, the disk class, Devnet 2 standing); fleet night row 16 (the block rate)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:08:33 +01:00
igneum-josh
98ec7db8e4 Poisoned-peer canary: the already-running check uses a marker (the Vast proxy's banner on stdout defeated a bare yes)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:07:53 +01:00
igneum-josh
a8058971b6 Poisoned-peer canary: idempotent on a box already running the binary; a 45-minute sync wait for a fresh datadir (IBD of 128,000 blocks takes about 12 minutes)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:03:29 +01:00
igneum-josh
b965b64179 Block rate on Devnet 2: run B (the control), the per-tier table, the recommendation (1 block/s; 10 behind three gates), A2 dropped; bench-log entry
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:59:40 +01:00
igneum-josh
bf3da7fe30 Block rate on Devnet 2: run A measured (10 blocks/s on a star: 4.25 blocks/s, 1.09 blue/s, 77.6 percent red, difficulty easing, exec follower at 0.05 blocks/s)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:57:29 +01:00
igneum-josh
f9ad70e1d2 box-prover.py: the export directory owns its disk (20 GB and 7-day caps, export deleted on record accepted or paid, no export under 10 percent free)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:56:19 +01:00
igneum-josh
424cad016c Poisoned-peer canary: anchor the poisoned node's pgrep (the bare pattern matched its own shell and the peer never started)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:54:08 +01:00
igneum-josh
27f4aa090f Fleet: disk sweep every five minutes (disk per box on the page, one #incidents line per box per hour at 85 percent); fleet night row 15 (the hub's three deaths)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:49:41 +01:00
igneum-josh
353cc5fbbb Standing supervisor: prunes the prover's segment exports and trims the node log (the hub died on a full disk at 20:42Z); disk in the status line
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:45:32 +01:00
igneum-josh
36e8d7ae56 Fleet: the 0.3.15 canary in the poisoned-peer form (new node beside the hub with a 1026-block peer, mid-window restart, the hub's count by peer)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:42:21 +01:00
igneum-josh
749be9fc72 Proving v1 plan: fleet night row 12 corrected (the pause was the fleet's weight removal), rows 13 (the 0.3.15 canary and its three findings) and 14 (the standing fleet)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:35:03 +01:00
igneum-josh
9a294b42e7 Standing supervisor restarts the miner with the node (dead template subscription); block-rate collector keeps difficulty and reads red share as 1 minus blue over DAA
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:32:40 +01:00
igneum-josh
9e348366d7 Devnet 2 box script: SEED accepts a comma list (run A2, two relays per box)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:18:56 +01:00
igneum-josh
95fa60dd48 Standing fleet: weight_check reads vote-key shares from the hub's inspect and maps boxes by key-hash (tested: two boxes = 1.2 percent of 2,000 blocks)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:03:41 +01:00
igneum-josh
db58804adb Standing supervisor: the live-node pattern excludes the rehearsal and Devnet 2 nodes (the hub's live node died unnoticed at 19:5xZ behind the old pattern)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:01:54 +01:00
igneum-josh
b02ac61d08 Standing fleet: the 10 percent weight rule (gpu-fleet.md, lib/standing.py weight_check), the supervisor's node pattern narrowed to the live node
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 20:59:40 +01:00
igneum-josh
3acb8187a2 Proving v1 plan: fleet night rows 8 to 12 (finality at 93 voters, pool-v0 under load, the 0.3.14 canary, the class v4 rehearsal, the finality pause)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 20:48:55 +01:00
igneum-josh
a368fe4558 Bench log: the rental cost of hash entry (as cut for the site in 37d78a4)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 20:48:09 +01:00
igneum-josh
f4edd1bbcd Fleet: the class v4 rehearsal tooling (CUDA worker wrapper, generator-4 worker, pack re-export), the standing-fleet rule (supervisor, library, page block, gpu-fleet.md), the 0.3.15 publish script, the Devnet 2 script's ports and bps knobs, the collector's seed knobs
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 20:46:32 +01:00
igneum-josh
697297dfce Block rate on Devnet 2: the plan file (runs A 10 bps and B 1 bps on the 38 wave cards, the readings, the per-tier payout arithmetic) and bps-collect.py; the remote-build tooling from master 2026-10-06 19:01:29 +01:00
igneum-josh
90dd8e27e6 tools/fleet/lib: the one box library (ssh with ServerAlive, scp with retries, install_payload checked on the box, start_node with anchored kills, chain-side readers: height, peers, exec tip, state root, paid segments, rejects and reorgs since a stamp, miner and prover start, destroy with the registry row) and its Devnet 2 test (known-failed and known-finished cases) 2026-10-06 18:58:18 +01:00
igneum-josh
a461f0d6b6 devnet2-gate: rejects and reorgs counted from the step-1 restart (a joining box's lone-chain reorg is not the release's), bash 3.2 (no mapfile, no associative arrays), the crossing line rewritten 2026-10-06 18:55:13 +01:00
igneum-josh
3f9e9e3a0f pgrep-self-match-check: the fleet's scripts anchored (every pattern on the binary path or -x); the live devnet's operational scripts and finished PC playbooks on the owed list by path, named in the README; the check is green over the tree 2026-10-06 18:53:19 +01:00
igneum-josh
41107eba3b fleet: box-matrix.sh kill_server uses pkill -x; the self-match check is green (the previous commit's claim was premature) 2026-10-06 18:47:34 +01:00
igneum-josh
d568a3f9ff fleet: box-matrix.sh patterns anchored; pgrep-self-match-check passes over the whole tree 2026-10-06 18:45:08 +01:00
igneum-josh
5c5ae403a1 fleet: box-node-swap.sh patterns anchored; the self-match check is clean over the tree 2026-10-06 18:43:01 +01:00
igneum-josh
f92c629abe fleet: the last three bare process patterns anchored; the self-match check passes over the tree 2026-10-06 18:40:30 +01:00
igneum-josh
350d9783d0 fleet scripts: every process pattern anchored (the pgrep-self-match check passes on tools/fleet); the observer's autosync on the owed list 2026-10-06 18:38:23 +01:00
igneum-josh
3a83c5daea CI: pgrep-self-match-check (a process pattern never matches its own shell; the wave-script class of 6 October), wired into ci.yml, README row; fleet: the 0.3.14 canary (bash 3.2, retries, overridable boxes), Devnet 2 fixes, the wave and pool scripts 2026-10-06 18:35:58 +01:00
igneum-josh
813f0a6fd5 Devnet 2 (the staging chain): box-dn2.sh (igneum-devnet-2, own genesis bits, every activation low, no exec-restart fields), devnet2-override.json, devnet2-gate.sh (install, activation at tip + margin, N minutes, PASS only on zero rejects, reorg depth at most 3, equal exec roots, a paid segment, equal versions), the page's Devnet 2 panel; the wave, pool and snapshot scripts 2026-10-06 17:50:34 +01:00
igneum-josh
6e3ccce2f6 proving-v1 plan, the fleet night: the first segment records after the switch accepted and paid (195.8 s, 1.51 IGN); one exec state, the export gap on snapshot-recovered nodes with the 0.3.14 pin roots 2026-10-06 17:43:28 +01:00
igneum-josh
d3647aad76 fleet prover: export from the node's exec restart block, not genesis (the exporter refuses the unexecuted blocks' zero roots on a restarted 0.3.13 node) 2026-10-06 17:10:15 +01:00
igneum-josh
36d01908b8 proving-v1 plan, the fleet night: the 0.3.13 swap and replay times per box; DAA 198,000 and the 229-block reorg that reset every exec layer 2026-10-06 16:58:05 +01:00
igneum-josh
deafabf78a fleet: night.py (the prover night loop: launches on the executed tip, re-runs the exec restart on a reset, 15-minute night rows), the tarball sha check in the swap, the prover script's FLOOR line restored 2026-10-06 16:52:59 +01:00
igneum-josh
f5ccfb9f59 fleet: box-node-swap.sh rewritten clean (the edited copy called stamp before its definition and misquoted the sha line; no node was touched) 2026-10-06 16:32:35 +01:00
igneum-josh
d70f152021 fleet: swap.py (one call per shipper word over the fleet, the hub first), the rig as N provers (per-card loops, distinct sockets), the rig script's device and chain fixes, restage.py 2026-10-06 16:20:00 +01:00
igneum-josh
2ad424d3e9 fleet: the node swap's two steps (publish 1 binary with the ten-field file, publish 2 the thirteen-field file), the expected digest checked, igneum_getExecStatus read 2026-10-06 15:59:19 +01:00
igneum-josh
2fe2560498 fleet: the 0.3.13 node swap for phase-2 boxes (fixed binary over the full-history datadir, the replay timed); the prover launcher prefers the swapped binary 2026-10-06 14:58:53 +01:00
igneum-josh
22ed1f70a5 Prover tiers on real cards: all eleven cards (the 3090 added); bench-log entry complete 2026-10-06 14:28:55 +01:00
igneum-josh
7f0320f33b bench-log: prover tiers on real cards, the rented fleet (ten cards, the 3090 to follow) 2026-10-06 14:23:37 +01:00