igneum-josh
9b8eb23a2e
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-josh 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 19:39:50 +01:00
igneum-josh
597e74ea9f
Merge branch 'gpu-fleet' into HEAD
2026-10-07 00:33:54 +01:00
igneum-josh
835cd9b41d
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-07 00:33:54 +01:00
igneum-josh
c08c9e34c2
Merge branch 'gpu-fleet' into HEAD
...
# Conflicts:
# .github/workflows/ci.yml
2026-10-07 00:33:28 +01:00
igneum-josh
a822504c2e
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-07 00:31:55 +01:00
igneum-josh
76511d2931
Merge branch 'gpu-fleet' into HEAD
2026-10-07 00:29:39 +01:00
igneum-josh
9e4f0960ee
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-07 00:29:39 +01:00
igneum-josh
e7492a45d8
Merge branch 'gpu-fleet' into HEAD
2026-10-07 00:28:55 +01:00
igneum-josh
5d517b3785
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-07 00:28:55 +01:00
igneum-josh
5faf6bf0e1
Merge branch 'gpu-fleet' into HEAD
2026-10-07 00:25:53 +01:00
igneum-josh
9767f78747
Fleet: the last three process patterns in the bracket-first form
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 00:25:53 +01:00
igneum-josh
d78094eeac
Merge branch 'gpu-fleet' into HEAD
2026-10-07 00:25:10 +01:00
igneum-josh
27da32d934
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-07 00:25:10 +01:00
igneum-josh
a4a27fae09
Merge branch 'gpu-fleet' into HEAD
2026-10-07 00:23:46 +01:00
igneum-josh
cbbbaa28ed
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-07 00:23:46 +01:00
igneum-josh
a18bc2e567
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-07 00:17:48 +01:00
igneum-josh
17111bf173
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-07 00:14:41 +01:00
igneum-josh
f0dbeba369
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-07 00:04:29 +01:00
igneum-josh
fd507a374f
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-07 00:02:49 +01:00
igneum-josh
316ecaff9d
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 23:52:30 +01:00
igneum-josh
3a0c12a264
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 23:51:54 +01:00
igneum-josh
dfa2791b97
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 23:50:03 +01:00
igneum-josh
d37bf843cc
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 23:39:29 +01:00
igneum-josh
4747e12d89
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 23:29:23 +01:00
igneum-josh
973cff999e
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 23:19:23 +01:00
igneum-josh
9dd106c55e
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 23:15:29 +01:00
igneum-josh
55018bf2d5
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 23:13:09 +01:00
igneum-josh
11197ba1c4
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 23:10:32 +01:00
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
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
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
fc5ff8cc27
Fleet page publish: the Fleet | Workers nav and its CSS are re-inserted on every publish when a regeneration dropped them
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:38:29 +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