Commit graph

84 commits

Author SHA1 Message Date
igneum-labs
17a022704c Merge testnet-genesis-2 ef4c1b3f into master: igneum-testnet-1 HELD, superseded by Igneum 2.0 on Devnet 3 (8 October 2026); the go cut acaf08b0, the digest 1da30c10, the clean gates and the seeds' state recorded
The lane's record (docs/plans/testnet-go.md, docs/testnet/README.md, docs/bench-log.md, infra/seed-nodes/testnet-object.json),
the fast-time harness (class v5 from the object, --exec-rpc per miner) and the two-node gate (block one on a fresh class v5
chain, the miner's exec port, the known-failed exit path). igneum-pow stays master's (the lane's freeze copy was the node
fork's pairing, a record not a tree). The founder's name scrubbed from the lane's files as master's scrub requires.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:27:07 +00:00
igneum-labs
059cbd7db6 Testnet go checklist: block one mined on a fresh class v5 testnet chain on acaf08b0's pair, the two-node 18-decimal gate PASS (16:00 UK, 8 October); base-unit gate: the miner's first-block line anchors on "ACCEPTED block"
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:02:46 +00:00
igneum-labs
842a8482c2 base-unit gate: a tip of 0 at block one exits 1 at once; the miner lines run under a wall-clock timeout (SECS + 180); go checklist: the known-failed run of row 9v read as designed on ba294c98's pair (15:32 UK, 8 October)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 14:33:35 +00:00
igneum-labs
a814156986 base-unit gate: the miner takes --exec-rpc for node A's exec port, and block one on a fresh class v5 chain is printed and required (the missing test); go checklist: row 9v's fix landed, 6e04f7fc is the go commit
The gate's node A serves its exec RPC on 28190 while the miner's default is the network's port (26790 on the 0.3.24 line
everywhere, 26890 on the testnet from f41f48a7), so the miner never reached it; the pod run of 15:0x UK needed a relay. The
block-one lines: node A's genesis-stream line, the miner's first block, the first class v5 refusal if any, node A's exec
tip after mining; tip 0 fails the run (the known-failed case of 6e04f7fc, ba294c98's pair, must read FAIL here).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 14:22:01 +00:00
igneum-labs
2ebe075e4c Gate fixes from the pin's pod run (8 October 2026): the fast-time harness expects the object byte the node stamps (7 on the 0.3.24 testnet object) and runs six keys so the silent share sits far from the pausing third; the base-unit gate's nodes never dial the public seeds (--nodnsseed)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 09:24:50 +00:00
igneum-labs
1ffcce2243 Pre-public scrub, the text pass (7 October 2026, 19:5x UK): no founder name, personal login, earlier business or personal address in any tracked text file, and a gate check that keeps it so
The sweep (main's item 1): 199 tracked text files, 783 lines. The founder's full name, first name and possessive become "the founder" (sentence starts capitalised); the lowercase operating-system user name in WSL paths and commands becomes <user>; the second owner login becomes "the second owner login"; the three earlier businesses and the two other brands become "the other business", "the earlier entity", "the earlier business" and "another brand"; the Chrome profile rule names the igneum.network profile, not the profile's label. The standing commit login igneum-labs is not a founder term here: the fresh-repository step renames it in the history (docs/plans/history-rewrite.md, tools/repo/fresh-repo.sh).

The patterns never appear in plain text in the tree (a plaintext list would be the hit): tools/ci/founder-strings.b64 (perl regex, tab, a sample per row) is read by tools/ci/founder-strings-check.sh (every tracked text file, perl, known-failed first: the self-test plants each row's sample in a fixture and the hit must name the file), by tools/community/discord-hooks.mjs (the guard's founder and business rows; the test takes its fixtures from the samples) and by tools/repo/fresh-repo.sh (the business names of the rewrite rules). site/forbidden-strings.txt carries the same patterns as b64: lines, decoded case-insensitive by site/scrub.mjs and tools/ci/launch-gates-check.mjs (whose fixture now plants an encoded made-up name). The check runs in the gate's tree checks on every merge.

Not in this commit, by main's word: the 105 commit messages and 40 personal-identity commits that need the history rewrite (listed, not run), and the secrets found by gitleaks over the history (reported with owners).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:39:50 +00:00
igneum-labs
1205bf91aa base-unit gate: check 5 reads each blue block's own DAA (the per-block subsidy rule from genesis on the testnet); the pod run of 09:4x UK read 165 of 561 segments one ramp step low against the chain block's DAA
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:51:31 +00:00
igneum-labs
b1e3e92c24 Testnet re-cut records (7 October 2026): infra/seed-nodes/testnet-object.json (igneum-testnet-1's object as override-file JSON, from print_testnet_object; the testnet itself takes no override file), docs/testnet/README.md with the re-cut genesis 01294fd3..., merkle bcd0e8fb..., digest 9390d235... and the switches on from genesis, the ledger's X3 evidence line, and the base-unit gate script from the decimals branch (tools/fleet/base-unit-gate.sh) for the gate on this tree
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:03:35 +00:00
igneum-labs
dd98c2a5a6 Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:33:54 +00:00
igneum-labs
dec154b923 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
91d057b2fc Merge branch 'gpu-fleet' into HEAD
# Conflicts:
#	.github/workflows/ci.yml
2026-10-06 23:33:28 +00:00
igneum-labs
7ecd25ffbe 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
6ab21f0a97 Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:29:39 +00:00
igneum-labs
52931a75f1 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
e4629e4aeb Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:28:55 +00:00
igneum-labs
1365c71b4d 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
72742779a9 Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:25:53 +00:00
igneum-labs
cd6d9da62b 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
c49705fa26 Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:25:10 +00:00
igneum-labs
a2626d9580 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
3a967bc0fd Merge branch 'gpu-fleet' into HEAD 2026-10-06 23:23:46 +00:00
igneum-labs
3de303e182 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
a5a18b1e9c 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
72ed44f57d 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
ed9c57bd50 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
80e2ca498c 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
igneum-labs
911dbf3654 dn2-check: the reorg read ignores the exec follower's replay of old history after a restart (lines far below the exec tip)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:52:30 +00:00
igneum-labs
f3cc27b7f7 box-dn2.sh: unsynced mining is opt-in (a fresh genesis only); the standing Devnet 2 nodes restart synced-first
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:51:54 +00:00
igneum-labs
a2bdd3e2fe Fleet: the publish-2 object move for the standing boxes (file swap, node restart by the supervisor, digest table)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:50:03 +00:00
igneum-labs
a5c11d91ea Standing supervisor: the miner runs only on a synced node past block 1,000 and is stopped while the node syncs (a box never mines from a genesis-only view)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:39:29 +00:00
igneum-labs
a8c74e68fc dn2-check: the since stamp follows each log's own UTC offset (the build-server seed logs +02:00)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:29:23 +00:00
igneum-labs
414aec2504 Standing check: every box's handshake digest against the live object (~/Desktop/fleet/expected-digest) every five minutes, one #incidents line per box per hour on a mismatch
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:19:23 +00:00
igneum-labs
724e563675 box-dn2.sh: the program-ids comment moved off the node line (it had swallowed the flags and the backgrounding, the same class as 17:18Z)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:15:29 +00:00
igneum-labs
1e33ca0b73 Standing supervisor: a crash loop on a corrupt datadir moves it aside and rejoins fresh (p2-4090-1b, 24 restarts on a missing sst)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:13:09 +00:00
igneum-labs
666b526850 Devnet 2 nodes carry IGNEUM_PROOF_PROGRAM_IDS (a zero shard program id refused every segment record)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:10:32 +00:00
igneum-labs
8d86346c49 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 22:01:29 +00:00
igneum-labs
2f2f4f7e7d 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 21:58:04 +00:00
igneum-labs
53370b7e52 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 21:55:36 +00:00
igneum-labs
062a651d3a 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 21:53:51 +00:00
igneum-labs
8d861f9d62 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 21:43:37 +00:00
igneum-labs
5ec84f1f3e fleet-bg.sh: setsid optional (macOS has none)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:43:14 +00:00
igneum-labs
1b9667aedd 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 21:42:59 +00:00
igneum-labs
fe307589c9 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 21:40:28 +00:00
igneum-labs
d12d3c4123 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 21:07:53 +00:00
igneum-labs
82e9088b8f 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 21:03:29 +00:00
igneum-labs
d32df7dcbc 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 20:56:19 +00:00
igneum-labs
3aa688f4ff 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 20:54:08 +00:00
igneum-labs
6bebb9994c 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 20:49:41 +00:00
igneum-labs
583b1e84b3 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 20:45:32 +00:00
igneum-labs
d78813ad5d 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 20:42:21 +00:00