Commit graph

1488 commits

Author SHA1 Message Date
igneum-labs
16bd5f7347 Merge commit 'e22d2425' into release-0.3.19 2026-10-07 09:39:34 +00:00
igneum-labs
4570f92ab9 Merge commit '032e1f87' into release-0.3.19
# Conflicts:
#	app/igneum-app/src/update.rs
2026-10-07 09:39:34 +00:00
igneum-labs
927895a69d prover loop: no records-indexing poll until the node's exec follower holds a record (ledger N7, PC 1 on 0.3.18)
The 0.3.18 clock-sample gate stopped one caller; the prover's first igneum_getAssignedShards after the node reads synced killed PC 1's 0.3.17 node the same way (rpc.rs:808, records[1..=0] on an empty vector) because its follower loads after the sync flag. The loop now waits on igneum_getExecStatus's executedTipHash, the same gate.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:34:17 +00:00
igneum-labs
e22d24253a miner-ui-5: u04 and u14 reshot on live-dag.js 2.0.1
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:10:42 +00:00
igneum-labs
49db28fb9c miner-ui-5: live-dag.js 2.0.1 (the site lane's real-data options, byte-identical), window 60 on both scenes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:09:54 +00:00
igneum-labs
f508274fe2 miner-ui-5: the plan, the captures, the first-share runbook for the shipper, the Discord rung shapes (not posted)
docs/plans/miner-ui-5.md (what is built, gate results, owed, the RPC fields the node does not expose yet, what the
site lane takes); docs/plans/miner-ui-5-shots/ (light and dark at 1440 and 390, the saved block card PNG);
docs/plans/miner-ui-5-first-share-runbook.md; docs/community/discord/ladder.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:05:52 +00:00
igneum-labs
32793b686a miner-ui-5 (0.3.19): the ladder on every page, the count-up, the block card, Earnings in IGN first, EMBER 02 scene
View: poisson, ignPerDay, ladderRungs (every threshold from the node's params: dust, weightWindow, presenceWindow),
blockCard, earningsLines (IGN first, the typed price never fetched, the share and rank, IGN per kWh), cardIgnDay,
timeline, profileWords; FIELDS names every number's RPC field for the title on hover. Overview: the Poisson
count-up until the first block, the block card in place with Save the card (a canvas PNG, no network call), Copy the
link and the explorer, the ladder strip. Earnings: the six lines, the ladder card, Your first hour. Prove: the shard
card. Cards: IGN a day per card. Settings: Make my page public. The chain scene is the site lane's EMBER 02 pack
(live-dag.js and proof-core.js byte-identical): the compact card fed by the page's own api/live read, Inspect opens
the full scene with the block inspector in the site's words. ui-mock: scenarios firstwait, firstblock, ladder,
api/ladder, api/card. view.test.mjs: a Devnet 2 key walks every rung; 47 UI tests.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:05:52 +00:00
igneum-labs
959c4a5fa9 miner-ui-5 (0.3.19): the ladder's engine half: ladder.json, api/ladder chain facts, the block card's PNG
src/ladder.rs: this machine's record (first block by card, hash joined to the miner's ACCEPTED line by nonce from the
node's PoW accepted line, blocks per UTC day, VOTE and LOCK lines as the signing record and streak, paid shards, the
milestone at 1, 100, 1,000, every 10,000th and the first block of a new card, the first-hour marks); persisted, in
api/state.ladder. src/chainfacts.rs: GET /api/ladder, getFinalityWeights through the node's EVM port when it answers
igneum_getFinalityWeights (owed), else the observer's relay plus /api/stats; this machine's keys ranked; the source
named. src/card.rs and POST /api/card: the page's 1200x630 PNG written under <data root>/cards/ and revealed.
settings.profile_public behind api/settings. Hooks in engine.rs (block, node line, vote, lock, synced, mining) and
prover.rs (paid shard). Box: 190 + 27 + 8 tests.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:05:51 +00:00
igneum-labs
0d05308e8d release 0.3.18 plan: published 08:39Z on the project lead's word
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:43:47 +00:00
igneum-labs
644461d7e2 release 0.3.18 plan: staged (installer, scratch manifest, runbook)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:34:39 +00:00
igneum-labs
032e1f8717 miner-ui-4: carry the clock sample's exec-record gate (0f6b4650, ledger N7); version words follow the 0.3.19 renumbering
Only update.rs from 0f6b4650; its version bumps stay with the shipper's cut.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:32:03 +00:00
igneum-labs
754d22c6ea release 0.3.18 plan: the app-only clock-sample cut
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:31:41 +00:00
igneum-labs
0f6b4650b6 0.3.18 (app only): the clock sample asks igneum_getExecStatus first and takes no block from a follower without a record (ledger N7)
A node before 0.3.18's exec RPC fix dies on eth_getBlockByNumber when its exec follower holds no record (rpc.rs indexes records[0] on an empty vector; the panic hook exits the process), and this sample ran every 9 s once blocks arrived, so a fresh install's IBD and PC 1's restart crash-looped. The sample now waits for executedTipHash. No node change; the pin stays at 5899f603. Version 0.3.18 on the 0.3.17 app tree.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:23:44 +00:00
igneum-labs
8084d88d23 miner-ui-4: light 390 px Overview and Cards rendered from PC 2's live state for the site
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 07:58:09 +00:00
igneum-labs
a7a9e5c231 release 0.3.17 plan: the cases' verdict (PASS; relay-into-target void by topology); 0.3.17 closes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 06:36:51 +00:00
igneum-labs
017553b8c5 release 0.3.17 plan: the cases' interim (c17-1 clean, relay case void by topology, poison mining)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 06:26:34 +00:00
igneum-labs
e619bc96c3 miner-ui-4 (0.3.18): a miner whose template fetches time out is not faulted on silence
PC 1's read-back: the node reported synced while its finality replay blocked the template RPC for three minutes; the miners printed only timeouts and the watchdog faulted every card. The timeout line is the miner's heartbeat: silence clocks start over from it, the card says it waits for templates, one Activity line per episode. Recorded sequence as the test; 173 box tests.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 05:46:31 +00:00
igneum-labs
447a7d82fc release 0.3.17 plan: PC 1's cause from its logs (template fetch timeouts under the finality catch-up, node synced)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 05:45:24 +00:00
igneum-labs
3fa25b2d23 release 0.3.17 plan: the Mac row; 0.3.17 live
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 05:43:05 +00:00
igneum-labs
4b597d73ae release 0.3.17 plan: hands and seed rows, PC 1 after the miners restart
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 05:33:42 +00:00
igneum-labs
e602e7cda6 release 0.3.17 plan: the standing fleet's per-box table (14 of 14 on 5899f603)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 05:29:53 +00:00
igneum-labs
4ec47b6b62 miner-ui-4 (0.3.18): workers come back after an OTA relaunch
The card watchdog judges a miner only while the node is synced; a silence fault from the node's sync is released at the synced transition and the card starts again with an Activity line; a worker silent from its start is faulted at 60 s; one Activity line per card at its first start. Known-failed test from PC 1's 04:51Z relaunch; 173 box tests.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 05:19:07 +00:00
igneum-labs
faa7955101 release 0.3.17 plan: PC 1 read-back, the workers-after-relaunch fault, the restart job
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 05:16:06 +00:00
igneum-labs
53a1b1c5e5 release 0.3.17 plan: canary full form PASS, rollout boxes 1 and 2
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 05:05:39 +00:00
igneum-labs
8d33d2722d release 0.3.17 plan: the HiveOS row live
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 05:02:55 +00:00
igneum-labs
110960376c release 0.3.17 plan: canary synced and mining, rollout box 1, the Mac, PC 2 offline
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 04:57:31 +00:00
igneum-labs
3307351d79 release 0.3.17 plan: main's (b) ruling, the deploy as run
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 04:53:10 +00:00
igneum-labs
5012c1ddc8 release 0.3.17 plan: the block stage finding, the diff argument, the open deploy question
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 04:44:53 +00:00
igneum-labs
f59fb2d05b release 0.3.17 plan: the decisive read passes (headers through in one session)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 04:32:01 +00:00
igneum-labs
00e35af4bc release 0.3.17 plan: canary first lines (past the guard mark), the log flood is f1ea7a38's own
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 04:08:04 +00:00
igneum-labs
029fd440d1 release 0.3.17 plan: seed and hive pairs, the hive package smoke, the Windows run, the staged manifest
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:57:43 +00:00
igneum-labs
cb272df466 release 0.3.17 plan: the suite and the integration check
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:54:17 +00:00
igneum-labs
4e1dc54973 miner-ui-4: note the node's blockrate object (6e4ace3f) behind the merge depth read
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:53:41 +00:00
igneum-labs
40f4c1d860 release 0.3.17 plan: the hands' and seed's pairs, the OUT_DIR non-equality
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:51:24 +00:00
igneum-labs
e5a55d1b05 release 0.3.17 plan: builds on 5899f603, digests, the engine read-back on this tree
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:49:37 +00:00
igneum-labs
d283472386 0.3.17: the node pin at 5899f603 (f1ea7a38 plus the IBD-guard fix)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:48:09 +00:00
igneum-labs
068f5889df release 0.3.17 plan: the node-only hotfix, trees and the renumbering
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:42:36 +00:00
igneum-labs
f9816b1c18 miner-ui-4: the 0.3.18 Mac check as decided (own node after the apply, mode own, digest from RPC, synced; miner paused)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:40:23 +00:00
igneum-labs
0e6c3b42ec rust-toolchain.toml: the one pin (1.99.0) from master, so master's build tools run against this tree
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 29740ce6cfed30836aff3c1550741d00dbaeceef)
2026-10-07 03:40:19 +00:00
igneum-labs
45fd85dcdb miner-ui-4 (0.3.18): the merge depth reads blockrate.mergeDepth, not params; 3,600 stands until the node carries it
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:39:48 +00:00
igneum-labs
3d6af04893 miner-ui-4: version words follow the renumbering (0.3.17 is a node-only hotfix; this branch ships as 0.3.18)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:36:51 +00:00
igneum-labs
dcc758264d packaged-config: the packaged object is the live sixteen-field one (a fresh 0.3.17 install peers at once; the thirteen-field object would be refused until the first manifest read)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit bd7b307699c018e2065d602b319bad76eb61465e)
2026-10-07 03:35:46 +00:00
igneum-labs
01c91f079d 0.3.17: the node-only hotfix on the 0.3.16 tree (version 0.3.17; the fresh-join fix rides the node pin)
Main's rule 7 October 2026 03:3xZ: the version scheme is three-part everywhere, so the hotfix (f1ea7a38 plus the IBD-guard fix) ships as 0.3.17; the feature tree becomes 0.3.18, decimals 0.3.19.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:35:29 +00:00
igneum-labs
29234803db hive package: no AppleDouble entries in the tar (COPYFILE_DISABLE, no mac metadata)
GNU tar on HiveOS materialised the Mac's extended headers as ._ files next to every binary.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit c5187a70693415a6bb68d94972008272bbdf50b1)
2026-10-07 03:34:10 +00:00
igneum-labs
302d6e7055 miner-ui-4 (0.3.18): a node whose blocks never merge reads behind and holds the miner
src/merge.rs, pure: every network sink more than the merge depth ahead and none of our blocks in the network's view for 120 s. Engine polls the observer's view every 30 s while mining and runs the check after sync_decision_v2; state behind, sync_cause not merging, one error event. Known-failed test first; 172 box tests, 42 UI tests.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 03:16:20 +00:00
igneum-labs
59bbf46689 miner-ui-4: an external node that goes away hands the ports to the app after 60 s
The mode (own | external | none) is re-decided every 5 s while the app reads or refuses another node; gone for 60 s, the app starts its own node and says so in Activity. node.mode and node.mode_reason in api/state and on the Node details. Pure extnode::step with the goes-away test first.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:31:42 +00:00
igneum-labs
4f6cfbfba7 miner-ui-4: fold Ember's finality-paused words, read igneum_getNodeInfo (params, network, powEngine stub fault)
View.finalityWords with Ember's test (41 UI tests). extnode reads the node lane's reply shape: params compared value by value, network must match, a stub engine is refused and a fault on the app's own node. 168 box tests green.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:28:24 +00:00
igneum-labs
98c1f05eff Publish 2 read-backs (0.3.17): a node on the app's ports is checked and said out loud (src/extnode.rs: chain id and consensus overrides over RPC; match = used and named, mismatch = 'Node not started: port N is taken', unknown = used and marked); api/state names whose node it reads (node.source, rules_check, port_note); the digest comes from igneum_getNodeInfo every 30 s (digest_source rpc | log) with the stdout line as the fallback; node logs pruned to the newest 10 per start; the Node details show whose node. Tests on decide and prune.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:14:29 +00:00
igneum-labs
172696bb26 shot_path and its test move from src/live.rs into src/server.rs beside the /api/shot route, so src/live.rs is ember-tune's file whole at the 0.3.17 merge
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:14:29 +00:00
igneum-labs
4793cca547 Miner UI 4 (b): a screenshot from the machine itself: POST /api/shot asks the window host over the SHOT line; the Mac host snapshots the web view, the Windows host captures through WebView2, both to <data root>/shots/; app-shot.ps1 plus a collect glob bring it back. 152 app tests on the box.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:14:29 +00:00