Commit graph

1540 commits

Author SHA1 Message Date
igneum-josh
0dc2adff3c fast time: the three-node fork-gate harness, its six-case runner and a box wrapper for harness runs (mission item 4)
infra/fast-time/fork-gate.mjs: H1 and H2 honest and mining through every phase, B the third node; modes attack (B's
key fresh, 3 of 5 CPU threads in the split), third (B at about half of the table, accepted) and partition (H1 against
H2, the heavier side wins with the gate on as with it off). A reorg is read from the chain (getVirtualChainFromBlock
of the pre-cut tip lists removed blocks), never from a key; blue work compared as BigInt; leftovers stopped by pid
file, never by name. infra/fast-time/fork-gate-gate.mjs runs the six cases side by side (known-failed first) and is
GREEN only when every case gives the verdict it must and the two partition heals agree. tools/fast-time-remote.sh
runs a harness on a build box under a slot with a holder line and a JSONL row (the node binaries from a fork
worktree's target on the box, results fetched back); it carries the whole-body block and is listed in the check.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 13:26:38 +01:00
igneum-josh
d1285cefcc Build boxes: the slot holder keeps its own line (a keeper, with its self-test in the gate); an explicit --jobs is clamped for bounded classes; one git remote per box; the host-file double suffix
The dashboard lane, 7 October 2026 10:39Z: both slots of build-1 flock-held and EMPTY while two suites ran. Cause: a run from a
worktree without last night's append-mode fix opens a busy sibling's slot file with > on every probe. The holder now keeps its own
line: a keeper re-writes it within BR_KEEP_S (20 s) whenever the file is empty, until release; remote-run.sh --self-test-keeper
(in the gate) truncates a held line and sees it return, and sees nothing written after release; live on build-1 at 11:19Z (the
line came back in 25 s). The first version deadlocked the runner's bare wait with the keeper (build-2's first run hung 15 min
after its test passed): the keeper stops before the wait. The two running suites' -j 90 came from explicit --jobs 90: a bounded
class now clamps it to its cap with a log line (pass --priority gate for the full set). run-from-mac.sh --box N: the host file
was suffixed twice (build-server-2-2) and every box's mirror would have shared one remote name; one remote per box (build-N).
build-2's first green run: a suite at nice 10 on 32 cores, jobs 32, 986 s cold.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 12:22:12 +01:00
igneum-josh
0a4a1236cb Worker dashboard: only a build-* slot held without a line shows as a "held, no holder line" card (the measure lock is not a build)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 12:16:17 +01:00
igneum-josh
2b7216d144 Merge remote-tracking branch 'origin/master' into site-redesign 2026-10-07 11:57:33 +01:00
igneum-josh
c09ef74521 site-redesign: the package's look 1:1, header and footer included
The owner, 12:4x UK: "some things look different on the live site vs the one I sent you, match it 1:1". site/site.css is
now the package's design system as delivered (tokens, type, chrome, components, breakpoints) with self-hosted fonts, the
two text tokens for contrast on light surfaces, and a compatibility layer for the data pages' vocabulary. The header
and footer are the package's (status bar, logo with the ember stop, the six items, the Discover dropdown, the theme
toggle, the Download button, the burger and its sheet; the footer grid with the three icon links, Run, Read, Explore
and the legal line). The home, miner and wallet pages carry the package's markup on our content; the live page, the
explorer, the litepaper, the faucet, the MetaMask page and the generated pages take its values in their own blocks.
The theme is always set (stored, else the OS), so the package's light theme applies. Side-by-side sheets before and
after at 1440 px from tools/site-redesign/sheets.mjs; no sample data, no review chrome, the hero loop continuous.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:57:32 +01:00
igneum-josh
f98e42c117 Merge remote-tracking branch 'origin/workers-dash-2'
# Conflicts:
#	tools/workers/page/workers.html
2026-10-07 11:43:34 +01:00
igneum-josh
21cfe2759d Worker dashboard: the slots gauge counts build-* slots only (the box's measure lock is not a build slot)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:43:01 +01:00
igneum-josh
8995882faf Worker dashboard: a flock-held slot with an empty file counts as held (label unknown), not free
Seen on igneum-build-1 at 10:39Z on 7 October 2026: both slot files flock-held and empty while two suites ran and
three waiters queued, so the header read 0/2. The holder's missing line is the build-server agent's to fix; the
collector no longer reports a full box as free either way, and the page shows "held, no holder line" in the lane.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:41:49 +01:00
igneum-josh
6af72e67b8 Merge site-launch-now: the copy-pass row for the home triplet swap
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:40:48 +01:00
igneum-josh
9037aa89df site-copy-pass: row 4a, the home triplet swap of the launch pack (the redesign lane's ask)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:40:47 +01:00
igneum-josh
5a958bf49b Merge site-launch-now: the launch-pack text without emission numbers, the ladder on /miner, the leaderboard and Who is mining on /live
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:39:02 +01:00
igneum-josh
bb95076c59 site: the launch-pack text without an emission number (the three wants, the block sentence, the law section, the journey phases), the ladder on /miner, the weight leaderboard and "Who is mining" on /live
Main's split of 7 October 2026: everything in docs/plans/launch-pack.md section 4 that carries no emission number deploys now; /income and the income card's numbers wait on site-launch-pack for the genesis re-cut. On the redesign's pages and components. Home: the three wants are the first block under the hero in the package's three fcards ("Three things, in order."); the "Income with no cliff" card states the shape of the schedule without a number and points at /miner#card; the "fair supply" card's ramp line carries no percentage; one line under the grid to the litepaper's finality section. Litepaper: the block sentence under the three-streams table (C); "What the chain is, in law" at the end of Economics (D). Journey: phase 4 and phase 6 (E). /miner: the ladder between "What your card does here." and "One client. Three jobs.", seven rungs in the app lane's words with the devnet and mainnet thresholds. /live: the weight leaderboard from finality.weights (rank, key, blocks in window, presence, last block; weight, never hashrate) and a "Who is mining" panel counting what the observer reports; the card-by-card census waits for the app's public-profile switch.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:39:01 +01:00
igneum-josh
345939e498 Worker dashboard: one server section per box, per-box live feeds, installer and pusher take build-2 and build-3
The build-server agent has igneum-build-2 and -3 on order (suites and benches; proving and the fast-time nodes). The
installer takes a host argument (N reads ~/.config/igneum/build-server-N, or build@<ip>); the pusher drops the Mac and
PC facts on every box it has a host file for, pulls each box's file and publishes boxes[] (box stays the first for the
old shape); the page draws one server section and one crew card per box, reads every box's Caddy feed in parallel
(build, build-2, build-3.igneum.network) with the edge copy filling any box that does not answer, and merges every
box's builds into the lanes, the timeline and the analytics. Nothing changes for build-1 until the host files exist.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:37:33 +01:00
igneum-josh
db67a4c96e run-from-mac.sh --box N: the box's dashboard feed name build-N.igneum.network travels to provision as WORKERS_HOST
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:35:45 +01:00
igneum-josh
fbf9e7c005 Worker dashboard: scheduling classes on the cards (kind, nice, cores), gate-queued marker, wait and gate-pending files
The slot line now ends "; kind=<k> nice=<n> cores=<c>; agent=<a>" (build box scheduling, 68696e4c): lib.mjs lifts the
three into their own fields and keeps the bare label; the old line shape still derives its kind. The collector reads
/srv/builds/_locks/wait-<pid> and gate-pending-<pid> directly (dead pids skipped), marks a gate with priority gate
and sorts it first; the page shows the class line on Now building and Queue cards, a "gate queued" pill, and the class
in the closing lines. JSONL nice, cores, jobs and priority carried through. 14 tests pass.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 9fce5742a6)
2026-10-07 11:35:07 +01:00
igneum-josh
7b1db40058 Build boxes: one host file per box and a route by class (suites and benches to build-2, proving to build-3, the rest to build-1); the no-mining rule in a box README and as a guard in the capacity layer
Main's order of 7 October 2026 (igneum-build-2, AX162-1, and igneum-build-3, AX102-1, on order). lib.sh: bs_box_file N and
bs_route <class>; a class whose box has no host file yet falls back to box 1 and says so. run-from-mac.sh --box N <ip> provisions
igneum-build-N and writes build-server-N. tools/build-remote.sh --box N overrides the route; --priority gate always runs on box 1;
the proving crate routes to box 3. README.md: the kind map and Josh's rule, no mining on any Hetzner box, ever (nodes, builds, tests,
benchmarks and CPU proving only; the pool's fast-time network mines on rented GPU pods, never on build-3). capacity/run.sh refuses a
job that would start igneum-miner mine or a GPU worker, whatever SEQUENCE says.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:34:16 +01:00
igneum-josh
9fce5742a6 Worker dashboard: scheduling classes on the cards (kind, nice, cores), gate-queued marker, wait and gate-pending files
The slot line now ends "; kind=<k> nice=<n> cores=<c>; agent=<a>" (build box scheduling, 68696e4c): lib.mjs lifts the
three into their own fields and keeps the bare label; the old line shape still derives its kind. The collector reads
/srv/builds/_locks/wait-<pid> and gate-pending-<pid> directly (dead pids skipped), marks a gate with priority gate
and sorts it first; the page shows the class line on Now building and Queue cards, a "gate queued" pill, and the class
in the closing lines. JSONL nice, cores, jobs and priority carried through. 14 tests pass.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:33:59 +01:00
igneum-josh
cd9733dede site-redesign: the /randomx heading holds two words on its last line at 390 px (the orphan check)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:31:15 +01:00
igneum-josh
71d43cf60b Merge site-redesign: the full-site redesign on our content (the GPU hero, the live DAG panel, the miner download layout, the wallet layout, the five secondary pages from their sources, the restyled generated pages, the copy pass)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:30:18 +01:00
igneum-josh
2fa3adf997 site-redesign: the full-site redesign on our content, 22 pages served
The package's design system, layouts and interactions on our tokens and self-hosted fonts (site/site.css section 10),
our facts, numbers, records and live services on every page. The home page: the GPU hero (site/hero-scene.js, continuous
while in view, labelled as drawn), the live DAG panel on scenes/feed.js and live-dag.js 2.0.2, three reasons, the
economics split, the download row with the OS marks, the ledger line. The miner page: the download layout, platform
tabs stamped from the live download index with sha256, the steps, the card table, the fee section (the one source of
/dev-fee), the FAQ. The wallet page in the package's wallet-hero layout, the window slot ready for the wallet redesign.
The secondary pages rendered by the build from one source each: /claims and /randomx from the litepaper's sections,
/dev-fee from the miner's fee section, /provenance from docs/provenance.md through the scrub, /journey from
journey.json; /benchmarks rewrites to /miners, /connect redirects to /metamask. The generated pages (bench, bench
table, ledger) restyled onto the page hero and the docs layout with a section filter. The footer's secondary links point
at the real pages. The copy pass on every served page (docs/plans/site-copy-pass.md). The package's data tests and the
hero loop test in the gate (tools/site-redesign). No sample data is served; the package's review chrome is not.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:30:18 +01:00
igneum-josh
68696e4cdc Build box scheduling: suites and benches at nice 10 on 32 cores with -j 32; a gate kind at nice 0 on the full set ahead of queued suites; kind, nice and cores on the slot label and the JSONL line; the default-class CI check
Main's order of 7 October 2026 after a load of 190 on 96 threads (a release join bench and the 0.3.19 app gate starving each
other, 'builds' of 16 minutes). tools/build-remote.sh resolves a class from the cargo subcommand and --priority: test and bench are
the bounded class (nice 10, the last 32 cores, -j 32) unless --priority gate (nice 0, the full set, the box's own jobs rule);
builds and checks are unchanged. remote-run.sh applies renice and taskset to the command's subshell, caps the jobs, lets a queued
gate (gate-pending-<pid>) take the next slot ahead of suites and benches, and prints nice and cores in the RESULT line and the
JSONL line (nice, cores, priority). The slot label carries '; kind=<k> nice=<n> cores=<c>' before '; agent=', so the dashboard's
job card shows why a job is slow. --plan prints the resolved class without the box; tools/ci/build-kind-default-check.sh (in the
gate) holds the five shapes. Smoke on the box: a suite at jobs=32 nice=10 cores=32, a gate at nice=0 cores=96.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:29:26 +01:00
igneum-josh
9ec8c752d8 Merge site-ui-4: the /live Proven tile wired to the 600 s summary read
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:15:35 +01:00
igneum-josh
45ea96d23a live: the Proven tile reads /api/live?window=600&summary=1 every 10 s, "of the last 10 minutes, every shard verified or paid" (the page edit the previous commit's script skipped)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:15:33 +01:00
igneum-josh
56fe7852e5 Merge site-ui-4: the /live Proven tile on a 600 s summary read, the observer's claims flag
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:14:45 +01:00
igneum-josh
d368b2e6a7 live: the Proven tile reads a 600 s window of its own every 10 s (?summary=1 counts), the observer marks claimed shards proving behind OBSERVER_CLAIMS
Main's two follow-ons of 7 October 2026 after the per-block read. (1) /api/live?window=N&summary=1 returns the window's counts alone (blocks, chain, planned, proven, shards by state, the proving counters), and the /live Proven tile reads window 600 that way every 10 s with the line "of the last 10 minutes, every shard verified or paid", while the scene keeps its 60 s window; the stat was the scene window's count, zero by the proof lag. (2) The observer's shardStates reads an open claim as 'proving' from the claim until the proof lands: the records reply's own claims field whenever the node sends one, and the claims RPC behind OBSERVER_CLAIMS ('1' = igneum_getProofClaims, or a method name; unset = off); a node without the method turns the flag off for the run after one log line. Nothing lights until the node lane ships the RPC on the 0.3.20 line.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:14:43 +01:00
igneum-josh
f1cc7ff0ad Merge site-ui-4: the live API's per-block proof read (joined by hash, windows to 1800 s) and the observer's 30-minute record window
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:06:19 +01:00
igneum-josh
50193aa44e observer and live API: a block in view carries its shard states whatever its age; windows up to 1800 s (1,800 blocks); the record window 30 minutes
Main's order of 7 October 2026 on the per-block proof read. The live API joined proof rows by when the plan landed and capped the window at 300 s while the fleet's proofs land a median 262 s after the block, so a 60 or 90 s scene window read zero proven blocks by construction. Now: /api/live?window=N accepts 30 to 1800 s and returns at most 1,800 blocks; the shard rows are joined by block hash alone, so the proof's own landing is what moves a block to verified or paid in any window. The observer keeps reading a planned block's records for 30 minutes (was 10) so the lag tail still lands. provers_10m, shards_proven_10m and median_proof_lag_s are unchanged.
Read against the live chain through the local API at 11:05 UK: window 90 proven 0 before and after (every block younger than the lag), 300 proven 2, 600 proven 49 of 139 chain blocks, 1800 proven 143 of 329 chain blocks (1,334 s of blocks under the cap). Observation for the fleet lane: in 1,800 blocks no shard reads proving or verified; states go planned straight to paid.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:06:17 +01:00
igneum-josh
9162c8478b Merge site-ui-4: the full header on every page with the mobile sheet, OS marks on the download cards, the footer redesign with the three icon links, the chip-model public text, the phone scene (live-dag.js 2.0.2), the nav build check
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:01:55 +01:00
igneum-josh
bb6e877a19 site-ui-4: the build runs the nav check only where tools/ exists (the gate builds a copy of site/ alone and runs the check as its own line)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:01:53 +01:00
igneum-josh
04d08fb5c2 CLAUDE.md: nothing heavy on the Mac (standing rule, 7 October 2026): builds, tests, benchmarks and multi-browser captures go to the box or a PC; the Mac keeps the macOS binaries and the DMG only
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 11:00:11 +01:00
igneum-josh
aeb3fddb65 site-ui-4: the header on every page (six items, Download, the burger with its open state and aria), OS marks on the download cards, the footer redesign (icon row GitHub, Discord, Reddit; Contact eyebrow; one baseline grid; the state word and the year), the chip-model text (prize sentence cut, the bounded hot-set row), live-dag.js 2.0.2 narrow options for phones, the nav build check, the word-bounded rig-name check
The owner's orders of 7 October 2026 (header, logos, footer, phone scene) and the Counter ASIC lane's public text (docs/plans/counter-asic-3-public-text-2026-10-07.md, b10c7ac2) with the disclosure prize held back until its publish word.
Header: the one-screen home no longer hides items; the sheet carries exactly Litepaper, Miner, App, Wallet, Live devnet, Ledger and Download; 44 px bar links, 48 px sheet rows, the burger turns into an X; tools/ci/site-nav-check.mjs runs after every build and in the gate.
Cards: the Windows four-pane, Apple and Tux marks from 631f505, white on the ember card, the card's own text colour on the mono cards (so they flip with the theme).
Footer: the ledger page renders through tools/ledger-page.mjs and now underlines Ledger; the Reddit profile is the one the owner named.
Renderer: narrow, narrowBreak 720, narrowWindow 30, narrowLanes 4, narrowMinNode 11; hairlines off except the selected chain; checkpoint labels as the percent; fps 60 on the home and /live mounts. Measured in headless chromium at 390 with 4x CPU throttling: 50 to 56 frames a second (the cap is 60).
Evidence row 17 rewritten in the table's eight columns. The forbidden list gains "disclosure prize" and the word-bounded rig names.
Tested with Playwright at 390 and 768 in both themes with real taps on every public page and the 404: 48 rows, 0 problems; captures in docs/plans/site-ui-4-shots/chrome.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:59:42 +01:00
igneum-josh
5c08c6e012 Merge site-ui-4: the EMBER 02 renderer on the home fold and /live (2.0.1 real-data options, the proof inspector, the observatory page)
renderer pack EMBER 02 supplied by Josh, 7 Oct 2026

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:11:43 +01:00
igneum-josh
5e8f11deac site-ui-4: live-dag.js 2.0.1, the real-data presentation options (lanes capped at 7 with the own key first, node size from the lane height with a floor, hairline merge edges within two lanes and the first parent only, the others lane smaller and dimmer, a glow and ring on proven blocks); 60 s default window; the demo-feed proof capture beside the live one
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:09:24 +01:00
igneum-josh
d3f55ba844 site-ui-4: the your-blocks tile reads 0 in ash until a key is marked
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:59:58 +01:00
igneum-josh
9c1742a8da site-ui-4: the EMBER 02 renderer on the home fold and /live, the proof inspector, the compact copies for the app (prototype, not deployed)
renderer pack EMBER 02 supplied by Josh, 7 Oct 2026: src/live-dag.js
and src/proof-core.js adopted byte for byte (sha256 582f2e73... and
c2a094a6...), reviewed as third-party code (one same-origin fetch of
/api/live when poll is on, no eval, no CDN, no font download, tokens
read from :root in both themes, checkpoints placed only on an exact
blue score, proof never implies inclusion, a lock only when reported),
its tests/verify.py run on this Mac (73 of 73) and the module mounted
against the real observer feed (state live, only /api/live requested,
zero records promoted). Home: the pack's full mode in the one-screen
fold with the legend row and the newest block's caption, fed by the
page's own reader. /live: the pack in the graph slot, the four miner
stats (blocks in window, your blocks, proven, latest checkpoint), the
All blocks / Selected chain / Your blocks tabs, Pause and Follow, the
window stepper, the inspector column with IgneumProof's shard scene,
the proof shards list, inclusion, miner key, blue score, DAA, parents,
header time, checkpoint, finality, and the three-beat Motion, with
meaning block; the observatory's six tiles, identities, event stream,
block activity, light client and table stay. site.css gains --included
and --excluded. The standalone demo is the pack's standalone.html; the
10-second recording is from this branch's /live.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:59:46 +01:00
igneum-josh
9b98b8376b Income per tier: the three tariffs are USD 0.05, 0.10 and 0.25 a kWh (cheap industrial, US retail, UK retail; the coordinator's answer, 7 October 2026), the table regenerated, the cost per mined IGN shown to three significant figures
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:54:44 +01:00
igneum-josh
130b7fa1a9 Launch pack: the thirteen gate rows in testnet-go.md with their checks, the certificate runbook and signing-step specification, the hash-origin runbook, the site-lane text handoff, what needs the owner
docs/plans/testnet-go.md, "Launch gates": LG-1 income per tier (done, re-generate at the cut), LG-2 hash origin on Devnet 2 for seven days, LG-3 signed and notarised installers, LG-4 first-share time per release, LG-5 the text on the site, LG-6 to LG-10 the community gates (first 100 keys, first outside block, first outside-reproduced benchmark, first attested outside pool, first 1,000 independent keys), LG-11 a signed proving customer as a MAINNET gate (the owner, 7 October 2026: a customer paying at a published rate or a letter of intent with a volume), LG-12 the report daily for 90 days, LG-13 the USD 50,000 disclosure prize (approved, staged until the entity address and the publish word). Each with its check, its state and its owner.

docs/plans/launch-pack.md: the Apple organisation and EV Authenticode runbooks (provider, cost, the entity's documents, where the keys live, never on the box), the signing step for the shipper (windows.yml before ISCC and the Inno SignTool directive, build-dmg.sh Developer ID plus notarytool and stapler, the manifest's signed_by and notarized fields, the shipper's fetch and verify checks), the first-share measurement specification, the hash-origin timer on the box and today's reading with its consequences, the handoff block for the site lane (the three wants on the front page, finality on page two, the block sentence, the eight sentences of future.md 8.3 verified and numbered under the label, the journey gate changes, the ledger rows X13, X37, X38, E23, L10), and the nine items that need the owner.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:53:12 +01:00
igneum-josh
fef536abfa Launch pack tools: per-tier income table from the bench rows and TESTNET_1, the daily hash-origin report, the launch-gates check (mission item 10)
tools/launch/income-tiers.mjs renders docs/analysis/income-tiers.md (public) from tools/launch/income-tiers.json: eleven measured cards (the 6 October rented-card rows, the 9070 XT telemetry run, the M5 Max Metal bench, each with its source), IGN a day at 1, 10 and 100 GH/s after the ramp on EmissionSchedule::TESTNET_1 (100 IGN a block, 90-day ramp from 10 percent, monthly 2^(-1/24), the 80 percent producer share), electricity a day and per mined IGN at USD 0.005, 0.02 and 0.10 a kWh, a rig and a pool-user line, the consequences per tier, the owed rows; --check fails CI when the page and its inputs disagree; the test pins the arithmetic (6,912 IGN a day for 100 MH/s on 100 GH/s at the launch rate, day 1 at 10 percent, one step at 2^(-1/24)).

tools/observer/hash-origin.mjs: once a day from the observer's tables, who found the blocks: keys with a block and above dust, attested pools against shared payout addresses (a multi-key machine is not a pool until its operator attests), the project fleet's share from the intake identity lines plus the fleet registry's key file, the ten largest keys, the 2x step since yesterday, the community gates (first 100 keys, first outside block, first attested outside pool at 10 percent for 7 days; the X5 count stays an upper bound until the two observer columns exist). --dry reads only; --write keeps hash_origin_days and hash_origin_reports and live_state.hash_origin; --post goes through the Discord poster's guard. Fixture, a known-finished and a known-failed day in the test. Ran read-only on the live devnet today: 113 keys, 0.76 GH/s, the fleet share wrong until the key file exists.

tools/ci/launch-gates-check.mjs (in pre-push.sh with the two test lines): every row of the Launch gates table in testnet-go.md has a check and every backticked path exists; the site-lane handoff and the income table carry no served-page or export pattern and no em dash; the eight regulatory sentences are present in order under the label. Self-test fires on each.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:53:12 +01:00
igneum-josh
e81343eb0a site-ui-4: /live as the network observatory (prototype, not deployed)
The reference page's composition in our tokens and words, every number
from the observer: the header row (eyebrow, the title with its ember
full stop, one sentence, two buttons, the state word), six tiles in one
hairline row each with a definition, the block graph panel (our
live-dag.js in the graph slot, the block-count chip, selected chain
only, pause and follow, the inspector column with hash, lane, time, blue
score, DAA, chain, colour word, shards, checkpoint and lock state, the
drag-to-explore line, the zoom control, the legend row and the blue
score range), the three panels (block activity with per-minute bars,
mining identities with share bars and the reader's own key marked when
set, the event stream), the blocks table, our footer. live-dag.js gains
an onSelect hook on click (additive; the app's copy unchanged).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:30:23 +01:00
igneum-josh
b92a5fd4fa build server: the remote checkout's clean spares a lane's scratch (AP-H1, the lost-scratch class)
remote-run.sh checkout_tree ran `git clean -fd` on the box mirror before every build from any agent, so the attack rows
lost attack-f3/, attack-f1-venv/ and tools/attack/*/target to each other's builds (7 October 2026, 09:2x UK). The clean now
also spares the fixed prefixes attack-*, scratch-*, target-attack-*, .build-remote.log and every glob in the mirror-local
.igneum-scratch-spare (one per line, # comments, the file itself spared), keeps the target and stamp excludes and still runs
without -x. The clean-tree test asks `git clean -nd` with the same excludes instead of filtering the status list, so a spared
dir is not "not clean". --self-test: a fixed-prefix dir at the root and nested, a declared dir and the spare file survive, an
undeclared dir is removed. tools/ci/scratch-spare-check.sh in the pre-push gate fails when the clean line loses the spare
arguments, spare_args stops reading the file, a fixed prefix goes, or -x appears. docs/plans/build-server.md R4a says how a
lane declares its prefix.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:24:07 +01:00
igneum-josh
11496f7f05 Merge mission: the last research round (five lanes: past, unfinished, future, invent, reinvent) and The Igneum Mission, the closed list of twelve
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:22:14 +01:00
igneum-josh
5352d00c7a Export exclusion: docs/analysis/mission is internal research (the last mission's five lanes and the closed list), outside the public export list
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:22:09 +01:00
igneum-josh
6d31fe462c The Igneum Mission: the one page for Josh and the closed list of twelve (five in flight, seven new, about 290 agent hours, no new consensus rule beyond the three cut branches), the rejected ideas with the line that killed each, what was not run, and the closing line: nothing is added without removing something
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:19:29 +01:00
igneum-josh
d5c94fa89f Mission lane 2, unfinished: proof of useful work (every scheme that passed cheap-verify did so by making the work useless; Filecoin at 29 to 36 percent utilisation), the stalled ASIC-resistance programmes, merged mining, finality on proof of work (every one that held was a second set bought with coins), decentralised pools (only Monero's P2Pool at 7.7 percent; a share sidechain about 40 hours on Igneum), the one-click miner apps against Ember, the three-way verdicts
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:18:20 +01:00
igneum-josh
2121b33471 Mission lane 5, reinvent: the miner's dopamine loop from a 105-post sample (the miner's own card at 777x the room median, the network's milestone at 66x), Helium, Chia, Ethereum 2017 and Kaspa 2022 compared, the first month on Igneum per tier (an 8 GB card: a block in 1.6 h at 100 GH/s, never the vote line at 1 TH/s), the 30-day weight as the status ladder, the launch gates, the surfaces table, what not to build
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:15:30 +01:00
igneum-josh
a7b8b66f7c Mission lane 4, invent: proof of following, serving, propagation and state availability judged against class v5 (the 108 ms answer kills every challenge scheme), the in-protocol pool priced (FruitChains shape, 14.6 GB a day at 10,000 miners), heat mode, the 786 B offline finality QR, the self-generated candidates, four persona verdicts, the honest answer
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:08:01 +01:00
igneum-josh
66fc62cb5c Mission lane 3, the far future 2030 to 2036: HBM4 and the end of GDDR, the chip maker's break-even by node and market cap, the rental deflation curve against the 51 percent table, heat and grid rules by region, zk proving cost to 2036, phone light clients, post-quantum votes at 8,192 voters, regulation of a coin with no issuer, the three-scenario table
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:08:01 +01:00
igneum-josh
0fcbef5017 Mission lane 1, the past: every GPU-mined chain since 2011 (31 rows), what each promised and paid, the earnings-curve shape (income halves 60 to 120 days after peak, under USD 0.10 per kWh in 6 to 18 months, 50 to 100 percent of hash gone in 90 days), the three wants and three hates from the archives, the lessons mapped to the design
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:08:01 +01:00
igneum-josh
9f76510861 Merge site-ui-3: light-theme wallet captures, the miner light showcase
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:07:55 +01:00
igneum-josh
b205a2b835 site: light-theme wallet captures (0.1.5, rendered from the wallet's mock), the miner showcase frame differs from the hero in light
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:07:53 +01:00