Commit graph

274 commits

Author SHA1 Message Date
igneum-labs
3ec7ea063d bugs.md: the stopped detector fired live on Sam's Mac's update quit
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:48:52 +00:00
igneum-labs
62845c024f Console: OTA version captured as major.minor.patch in every update line (the installing line carried a colon)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:47:28 +00:00
igneum-labs
be0ac8f5b7 Console: every update line the app logs sets the OTA state, newest wins (the Mac's card said '0.3.3 is current' with 0.3.4 staged); test
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:46:17 +00:00
igneum-labs
fadd3dbd8f Console: a finished update shows as the OTA state ('update check: X is current'), not 'none' (PC 2 on 0.3.4); test
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:43:51 +00:00
igneum-labs
def1a27cd3 bugs.md: restart proof for the observer diagnostic; Sam's Mac second silence is not a quit
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:31:44 +00:00
igneum-labs
3d79b89f73 Observer: logs the seeded checkpoint states at start and names the earlier state when a lock is recorded over one (index 1319 re-recorded 14 min after its lock at the 20:15 restart)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:19:59 +00:00
igneum-labs
c5fac43d9f Observer autosync: the restart key is observer.mjs and run.sh, not the whole tools/observer tree (an autosync.sh change restarted the observer for nothing)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:18:32 +00:00
igneum-labs
a1d60e71d9 publish-manifest.sh: the live manifest must be byte-identical to the folder's and verify, with retries and named reasons; --verify-only; a failed deploy stops before the check
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:17:01 +00:00
igneum-labs
6680e87579 Observer autosync: a failed fast-forward names git's reason and the dirty files the incoming commits also touch
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:14:21 +00:00
igneum-labs
5ef5c75abf publish-manifest.sh: --override carries every height switch in consensus.override (proving v0 activation needs it)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:09:35 +00:00
igneum-labs
dae5b1b35e Igneum Miner 0.3.4: Finality rule v3 (dormant behind finality_v3_activation_daa), proving v0, job-channel fixes 2026-10-04 20:08:30 +00:00
igneum-labs
f7f58c709d Site: journey and bench rebuilt after the finality merge
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:07:01 +00:00
igneum-labs
d77528e248 Merge branch 'master' of https://github.com/igneum-network/igneum 2026-10-04 20:06:13 +00:00
igneum-labs
1bb5102079 Merge branch 'igneum-wt-finality'
# Conflicts:
#	docs/bench-log.md
2026-10-04 20:06:11 +00:00
igneum-labs
ddd8fe4248 bugs.md: the stopped-versus-silent console row
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:05:03 +00:00
igneum-labs
c98b6a546d Console: a machine whose app logged a clean quit or an update, with no status line after it, shows 'stopped (quit|update) N ago' instead of 'silent' (parseAppTail moved to relay/lib/parse.mjs, test)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:04:18 +00:00
igneum-labs
d22f1da0d8 Finality rule v3 (ledger F21, F22): simulator scenario M, spec 03 Q4/Q5, cloud vote-timing analysis, v3 harness runner, fast-time profile, bench-log entry, devnet rollout plan
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:04:12 +00:00
igneum-labs
c207c674b9 bugs.md: the observer double-lock fix proven on the live stream (21 locks, 0 duplicates)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:02:48 +00:00
igneum-labs
d9611f9a7f Observer autosync restarts the observer whenever the checked-out tools/observer tree changes (marker + check mode); console stale mark at 180 s (one missed upload is not stale); bugs.md rows
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:48:45 +00:00
igneum-labs
d402bde579 gitignore: trademark instruction packs stay out of the repository
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:43:49 +00:00
igneum-labs
1ab7e156c0 Brand: trademark filing pack (word mark, device mark in black, combined mark, classes 9, 36, 42, fees, the IGNIUM plan)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:39:27 +00:00
igneum-labs
ceefabd591 Observer: one checkpoint_locked event per index (the poll claims the state before its first await; the FinalityLock notification path raced it and the live feed showed two locked lines 30 ms apart); a lock claimed by the notification gets its votes_seen from the next poll
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:34:57 +00:00
igneum-labs
81934e51e7 Bug hunt: bugs.md row for the relay X28/X24 fixes; CLAUDE.md names the live site project (igneum team, GitHub integration)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:33:17 +00:00
igneum-labs
38e8db2ec3 Relay: secrets compared in constant time (relay/lib/auth.mjs, unit test in CI), HSTS header, tools/relay.mjs prints /r/<token> in list and watch (round 4, X28 and X24 part)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:31:22 +00:00
igneum-labs
54af94e95f Cloud devnet results: final collection of the 4 October network before teardown
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:27:34 +00:00
igneum-labs
9f1883b1b2 Bug hunt: the site's Vercel project is in the igneum team (link, env and deploy commands in README-ship.md); bugs.md rows for the collect branch and the Vercel link, Sam's Mac closed
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:20:32 +00:00
igneum-labs
235823b23d Bug hunt: console cards for other/intel workers and a stale mark on old STATUS lines (relay/lib/parse.mjs + test in CI); publish-jobs verifies the live file with retries and named reasons, a verify command, a failed deploy stops, a collect command without $_ is refused; the dl token masked in printed URLs; docs/bugs.md
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:15:05 +00:00
igneum-labs
86e33cc72d Lock: three build slots, exclusive measure, run mode, status command; replaced atomically
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:12:26 +00:00
igneum-labs
ed36161a69 CI identity grep: .log files get the generic scrub too; the 4 October difficulty record carried a home path (every master run red since 088b943)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:09:09 +00:00
igneum-labs
81d5127b9d Lock: a 'run' mode for functional runs that lets builds continue; rule updated
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:08:36 +00:00
igneum-labs
fd13f967f7 Bench log: four-shard block proven on the RTX 5090 (run 3), save gap closed; first machine in the United States
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:07:21 +00:00
igneum-labs
b9512a298f Jobs reader: error lines shown under a job's status
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:00:57 +00:00
igneum-labs
11b01cbabd Jobs reader: the app's closing report counts as final and error lines are collected; prove-shard.sh fails the job when a stage fails
Three watchers never saw a job finish because the closing upload starts with the app header, not the SUMMARY line,
and a shard run whose stages failed still exited 0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:59:13 +00:00
igneum-labs
48868dbb03 prove-shard.sh: touch the copied sources so cargo-prove rebuilds the guests on the PC
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:56:36 +00:00
igneum-labs
a71cd97bdd Prove package: a build gate executes the shard fixture and every block fixture on the Mac before any zip exists
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:49:25 +00:00
igneum-labs
fdb34ae3f9 Site: preview image URLs bumped to v3 so chat apps refetch the square mark
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:48:29 +00:00
igneum-labs
5b17062fc9 Ship tool: one command cuts an Igneum Miner version (tools/ship-app.mjs)
the project lead, 4 Oct 2026: 0.3.1, 0.3.2 and 0.3.3 each took eight hand steps and an hour. The tool runs them in order, each
step idempotent and resumable (--from): preflight, bump (six version files, one function, read back), push-inputs,
commit and push, the windows.yml run polled with gh (auth switch before every call), fetch, DMG under the build lock,
copy, signed manifest, one deploy, HEAD/GET verification with sizes and sha256, one console item. --dry-run prints
the plan, --check compares the version files, --self-test bumps a scratch copy. Secrets never printed.

Found by --check: Igneum-Miner.iss and Info.plist were left at 0.3.2 when 0.3.3 was cut (CI passed -Version from
Cargo.toml, so the installer was right; the Mac bundle said 0.3.2 because build-dmg.sh's sed only matched 0.3.0).
Both aligned to 0.3.3; build-dmg.sh now stamps the version with plutil. fetch-ci-artifacts.sh: CONSOLE_SKIP=1.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:29:21 +00:00
igneum-labs
edb8fb00d2 Log intake: accepts LOG_INTAKE_KEY_NEXT during a key rotation (round 4, X23)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:25:33 +00:00
igneum-labs
53fae2c8ea Relay: its own key (relay-key) replaces the intake key for the Mac tools and clients; relay token rotated 4 Oct 2026 (round 4, X23); prove package excludes cross-build folders
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:25:19 +00:00
igneum-labs
2bab547c23 Observer autosync: the shared checkout fast-forwards to origin and restarts the observer when its code or the public API changed
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:19:12 +00:00
igneum-labs
ce5bb840aa Prove host: lock file for the serde dependency
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:17:55 +00:00
igneum-labs
d641939c64 Bench log: shard proving on the RTX 5090 measured (10.9 s per shard, 2.2 s aggregation); evidence rows 15 and 16; journey line
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:17:16 +00:00
igneum-labs
5cf9169900 Merge remote-tracking branch 'origin/review-round-4' 2026-10-04 18:15:02 +00:00
igneum-labs
57f9baac35 Ledger P20: the 24-minute save gap measured on the second RTX 5090 run
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:15:02 +00:00
igneum-labs
df8c469723 Relay: run and task posts need the console token (round 4, X23); prove host saves proofs buffered (ledger P20, second gap)
The intake key sits in every miner package, so the relay now lets it report only (drop text and files, ack, done,
register, upload). Posting a run or task, or renaming and re-roling a machine, needs the console token.
The prove host wrote proofs through SP1's unbuffered save: on WSL2 under /mnt/c the 18 MB core proof of a shard
took longer to save than to prove. Proofs now go through a 4 MB buffer with a timed 'saved' line, and
prove-shard.sh keeps results on the Linux side and copies them per stage. Ledger P20 updated.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:14:10 +00:00
igneum-labs
36fcb07d49 Review round 4 (4 October 2026, afternoon): what is live. 1 fatal, 16 serious, 8 minor, 1 fixed; ledger X18 to X30, G12 to G14, F23, F24, M25 to M29, E16, E17, L9; fixes rows 104 to 116
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 18:05:28 +00:00
igneum-labs
8ab852ce21 Console: a job is done only on the app's closing report; prove-shard.sh takes every block fixture after the first argument
The console marked any job with a RESULT line as done, so a running shard job read as finished. Done now means
the SUMMARY line carries finished_at or the job's closing 'job <id>: <status> (exit N)' line is present.
prove-shard.sh dropped the third fixture argument (block-344-shards4) because it read only $2.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 17:52:35 +00:00
igneum-labs
6dc3b83888 Bench log: difficulty v2 activated on the live devnet by height switch
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 17:44:27 +00:00
igneum-labs
9a566d1d5b Live page: the ?window=300 capture with a paid shard cell and its tooltip; header counts and the ingest keep-window follow the target scale (the 8 px/s floor was the adaptive scale's); counts right on the first poll; lock label backed; record rotation 80 blocks per tick
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 17:43:26 +00:00
igneum-labs
1551da622c Live page: shards per block (proving v0), three strips on one time axis (blocks, finality bar, proving), observer proof feed, hero glint
Observer (tools/observer/observer.mjs): reads the execution layer's JSON-RPC of a node on the proving build
(IGNEUM_EVM_RPC, default the Mac app's node 26800): every chain block's shard plan as it joins the chain
(igneum_getShardPlan by blockHash, one live_proofs row per shard, planned), the proof records of the chain
blocks of the last 10 minutes polled in rotation (igneum_getProofRecords, four in flight, 40 blocks per tick
while active, 10 before activation): proving (in the pool), verified (SP1 proof verified, or carried and checked
by consensus), paid (a carrying segment paid it), with the prover's id8, the carrier, lag in DAA and the payout.
live_state.proving = {supported, active, activation_daa, tip_daa, verifier, pool, blocks_10m,
blocks_fully_proven_10m, shards_proven_10m, shards_paid_10m, median_proof_lag_s, provers_10m}. A node without
the RPCs gives supported false (rechecked every 5 min); an unreachable endpoint is retried every 20 s. Events:
proving (activation, first paid shard), prover_seen. Additive schema (live_proofs, live_state.proving).

API (site/api/live.mjs): proving, and per block shards: [{i, n, state, prover, lag, payout (IGN), pgas}] and
proven; ?window=N (30 to 300 s) for the page's diagnostic long view; LIVE_TABLE_PREFIX reads a test observer's
tables.

Live page (site/live.html), the design change of 4 Oct 2026: three thin strips sharing one time axis, newest at
the right. BLOCKS keeps the per-miner lanes, chain path, blue/red/pending colouring, arrival glow and tooltips;
the lock ring, dashed lock line and final band leave it. FINALITY is an 18 px bar: ember wash = final (up to the
newest locked checkpoint on screen), molten tick = locked checkpoint, faint = proposed, one label at the newest
lock ("locked #522, 12 s ago"); while finality is not active it reads "finality paused: N% of weight silent" and
nothing else (R4.6.3). PROVING shows one cell per shard under each chain block, outline (planned), molten
(proving), prover colour (verified), tick (paid), a dashed "proofs land N s behind the tip" line, or the one
honest line before activation ("Proving layer: not yet activated on this devnet; activation at DAA N" / "node
without proving"). Header stats: on screen, chain, identities, last lock, proven. Legend: one line per strip.
Hover and tap tooltips on blocks and cells (block, shard, prover, lag, payout). Lanes snap on resize (they used
to ease from a zero-height layout). Phone width, no horizontal scroll; draw 0.6 ms avg, 1 ms max with 110 blocks
on screen (playwright, 1280 px).

Hero (site/index.html): a faint second glint behind a real block once every shard of it is verified, only while
the proving layer is active; pace and sampling untouched.

Verified on the private 3-node proving network (tools/proving-v0/run.mjs --network-only, activation 60) with a
CPU prover loop signing as v0/v1/v2: records relayed, verified on node 0, carried and paid (block 155 by 405,
lag 259 DAA, 0.634 IGN); screenshots in docs/design/live-proving (devnet before activation at 1280 and 375 px,
test network active, the ?window=300 view with paid cells). The live devnet shows the "not yet activated;
activation not set" line once the observer runs this build.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 17:39:28 +00:00