Commit graph

191 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
a0a0f0dc8b fleet: the collector keyed by card and VRAM with a raw-rows fallback; the matrix script's final write guarded against a card that reports no power 2026-10-06 14:22:15 +01:00
igneum-josh
38d2db63e7 Prover tiers on real cards: ten cards, the 8 GB beside-the-miner rows (core-only 2^25 fits); fleet: the rig script and retry 2026-10-06 14:20:06 +01:00
igneum-josh
d1d5f5a6f8 Prover tiers on real cards: eight cards (3060, 3080, 4060 Ti 16 GB, 5090 added), the 8 and 10 GB rows; fleet: the datadir joiner swap, the v5 known-failed runner 2026-10-06 14:07:05 +01:00
igneum-josh
587e531278 Prover tiers on real cards: the first four cards (4090, A5000, 4070, 5070), the method, the per-tier consequences; fleet: RunPod pods, companions pushed with every stage 2026-10-06 13:56:51 +01:00
igneum-josh
3fe3a1145f GPU fleet: box-kill.sh (anchored kills as a file), log rotation before every stage start, parallel orchestrator probes, the listed-after-rent check 2026-10-06 13:46:14 +01:00
igneum-josh
83b71e8c65 GPU fleet: the orchestrator loop, a killable per-second GPU sampler, the STATUS-line rate parser, an atomic locked registry, the p2p hub peer 2026-10-06 13:34:25 +01:00
igneum-josh
78e93d4c50 GPU fleet: RunPod client, the phase-1 collector, the phase-2 launcher (node restarted with the proof verifier), parallel status, the toolchain fix 2026-10-06 13:14:57 +01:00
igneum-josh
627a2256c7 GPU fleet: Vast client, box setup (0.3.12 node + patched SP1 server + cuda host), the phase-1 matrix, the Ember ladder, the Linux segment prover, the fleet page builder 2026-10-06 13:01:23 +01:00
igneum-josh
c2b922c1e6 prover-floor: the three other PC 2 scripts test their kit file before the first use (C32)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 00:06:38 +01:00
igneum-josh
40cff807ad prover-floor: pc2-floor-sweep3-miner.ps1 tests its kit file before the first use (the kit-path check, C32)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 00:04:52 +01:00
igneum-josh
88e28f4d2e Merge prover-floor (cfe3d80) into release-0.3.11: docs and standalone probe sources the evidence rows cite (C38); nothing a built artefact reads 2026-10-06 00:03:46 +01:00
igneum-josh
cc72f4ab29 CI on the merged 0.3.11 tree: MacBook reworded in the analysis prose (the identity check's hostname pattern), a presence check before the kit's first use in the three proving-v1 PC 2 scripts (C32), pc1-cpu-prove.ps1 on the socket check's allow list (the CPU path starts no GPU server)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 23:44:09 +01:00
igneum-josh
cfe3d805d3 Prover floor: the beside-the-miner sweep playbook (sweep 3)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 22:42:31 +00:00