Commit graph

84 commits

Author SHA1 Message Date
igneum-labs
49b5420124 Merge testnet-genesis-2 dbe40e30 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
d81e0023fe 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
9bfb830430 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
b1bbebd30f 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
633d81d530 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
7355d53fde 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
18da2c5583 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
bf4c5847b9 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
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
igneum-labs
aa9a1a6e9c 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
ffef7fbfc2 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
1af1a7d80c 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
897be899e1 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
ea614bb7f4 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
4f8e85f665 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
6a8ac209ca 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
a93b09ec8e 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
0e19e63143 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
9be0dfd4ca 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
00879d7363 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
22837c22a6 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
211eeb05d9 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
4b709db7ee 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
55660ecde8 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
9808520f4d 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
4a741da85d 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
5b0066a2a8 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
438a282bff 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
c649036bca 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
611cbe5edd 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
512d6e25f0 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
8e010d84d6 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
61928774a0 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