Commit graph

846 commits

Author SHA1 Message Date
igneum-josh
044b9b4fa0 Counter ASIC 3.0 status: the receive-side header-version fix f1ea7a38 and its poisoned-peer gate in the cut row 2026-10-06 21:47:10 +01:00
igneum-josh
93815e7406 Merge branch 'ca3-v4-node' into ca3-coord 2026-10-06 21:47:08 +01:00
igneum-josh
f35d87e888 Counter ASIC 3.0 gates (node): the receive-side version rule (fork f1ea7a38) and the poisoned-peer case of the node-cut gate (PASS: the new node refuses version-1026 blocks with 0.3.14's line, relays none, stays the old hub's peer), ledger N1 extended with the receive side and the stale-block answer
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:46:25 +01:00
igneum-josh
a7b11e1845 Counter ASIC 3.0 status: the audit pass (P5) recorded; the node lane's further queue reports to main 2026-10-06 21:29:51 +01:00
igneum-josh
6e5f3cc2a9 Merge branch 'ca3-v4-node' into ca3-coord 2026-10-06 21:29:50 +01:00
igneum-josh
536e0841f8 Counter ASIC 3.0 gates (node): the P5 row, the dependency pass for 0.3.15.1 (6 to 1 vulnerabilities, the one left named)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:29:07 +01:00
igneum-josh
708de47f4a Counter ASIC 3.0 status: the fork's final four commits for 0.3.15, the node-compat gate PASS with its failed case, the ledger rows 2026-10-06 21:26:47 +01:00
igneum-josh
9403e4b6f7 Merge branch 'ca3-v4-node' into ca3-coord 2026-10-06 21:26:46 +01:00
igneum-josh
4d7e677168 Counter ASIC 3.0 gates (node): the node-cut compat gate (node-compat.mjs: a mining new node beside a 0.3.14 node on the live object, both joins, the served genesis sync, the restart; PASS on 7961c5f1, FAIL on the canary binary 713ef876), the ledger rows N1 (version 1026 on the live file) and N2 (the pruned node's sync panic, a remote crash vector), the P4 row
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:25:39 +01:00
igneum-josh
8d4e1e33a0 Counter ASIC 3.0: the P1 rehearsal PASS as the status file's final row, the evidence folder's last entry and the public bench-log entry (numbers only); the 3.0 lane closed 2026-10-06 20:38:06 +01:00
igneum-josh
42ddbb0c98 Counter ASIC 3.0 status: P1 PASSED (the floor crossed with v4 in force, one chain, 0 rejected, three epochs' ids, the stale box refused); the line for Josh: cut on his go 2026-10-06 20:36:25 +01:00
igneum-josh
dfd5edbe53 Counter ASIC 3.0 status: the G2 Mac recheck closed on the worker's own pack (1,024 of 1,024 match; the export's day argument was the cause) 2026-10-06 20:33:36 +01:00
igneum-josh
2f899a6ab8 Counter ASIC 3.0 status: the rehearsal resumed on the generator-4 worker (blocks on v4, epoch 3 id PASS), the G2 Mac recheck open on the day key 2026-10-06 20:31:23 +01:00
igneum-josh
db6d3f666c Counter ASIC 3.0 status: the flip PASSED, then the fleet stopped on the 0.3.14 workers (generator-4 refused); the cut needs the workers in every package before publish 2 2026-10-06 20:06:23 +01:00
igneum-josh
3734bc4365 Counter ASIC 3.0 status: the rehearsal's flip landed (599 of 599 on every box), the epoch-2 id assertion PASS on the Mac 2026-10-06 20:04:28 +01:00
igneum-josh
89b4a0fff4 Counter ASIC 3.0 gates (node): the shipper's 0.3.15 readings in the P3 row (the three fixtures equal, the live floor's publish-2 digest 2c1162e2..., 0.3.14 exits at parse on the sixteen-field file, the box suite line)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 20:03:47 +01:00
igneum-josh
43ddb887ab Counter ASIC 3.0 status: the digest rule's two harness lines PASS on real nodes (compat and refusal) 2026-10-06 20:00:16 +01:00
igneum-josh
5c42359fc3 Merge branch 'ca3-v4-node' into ca3-coord 2026-10-06 20:00:15 +01:00
igneum-josh
38ac2a3d67 Counter ASIC 3.0 gates (node): the 0.3.15 digest rule's compat and refusal cases on real nodes (digest-compat.mjs: a fixed node and a 0.3.14 node on the thirteen-field file peer on one digest; the sixteen-field node is refused), the P3 row, the sixteen-field digest 1dddfa55... on the devnet id
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:59:34 +01:00
igneum-josh
f13ca36b75 Counter ASIC 3.0 status: the rehearsal's side effect on the live devnet (11 live miners at half rate since 18:42Z; the GPUs back at the floor) 2026-10-06 19:58:05 +01:00
igneum-josh
2f62e3e662 Counter ASIC 3.0 status: the digest-compat rule implemented (713ef876, b18ed271 on the thirteen-field file, suites green on the box) 2026-10-06 19:55:20 +01:00
igneum-josh
e0d5633243 Counter ASIC 3.0 status: the rehearsal at 18:44Z (DAA 230, one digest on 16 boxes, both stale refusals in hand, 0 rejected) 2026-10-06 19:49:55 +01:00
igneum-josh
667157f15c Counter ASIC 3.0 status: main's ruling on the digest (an absent optional field contributes nothing; publish 1 no split, publish 2 the one sweep) 2026-10-06 19:49:11 +01:00
igneum-josh
3bd0e1f0b0 Counter ASIC 3.0 status: the 0.3.15 digests measured (the digest moves at publish 1; the sixteen-field object 2c1162e2 at floor 226,800) 2026-10-06 19:48:37 +01:00
igneum-josh
18ca75ecea Counter ASIC 3.0 status: the 0.3.15 cut in flight (the fork merge f86a33c0, the test race fixed in tests only, the two-publish order) 2026-10-06 19:48:12 +01:00
igneum-josh
9a48e9fd46 Counter ASIC 3.0 status: the rehearsal chain's first block 18:41:10Z; the flip about 19:01Z, the floor 19:21Z 2026-10-06 19:42:19 +01:00
igneum-josh
c5dbf623cb Merge branch 'ca3-v4-node' into ca3-coord 2026-10-06 19:38:49 +01:00
igneum-josh
ff92dab83e Counter ASIC 3.0 gates (node): the rehearsal's miners are the GPU workers (the object inherits the devnet genesis bits); the id assertion on a worker box reads the pack's program.h
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:38:26 +01:00
igneum-josh
97bf9fa1e0 Counter ASIC 3.0 status: the rehearsal's CPU miners cannot mine the 2^27 genesis; CUDA workers; the clock from the first block 2026-10-06 19:37:31 +01:00
igneum-josh
54269f1800 Counter ASIC 3.0 status: the digest difference explained (the network id is folded in), the corrected values with their ids 2026-10-06 19:35:33 +01:00
igneum-josh
116a925fd0 Merge branch 'ca3-v4-node' into ca3-coord 2026-10-06 19:35:31 +01:00
igneum-josh
c541fcfc4d Counter ASIC 3.0 gates (node): the digests re-read on the right network ids (the digest folds the network id in; the fleet's a15db4f0 on suffix 400 confirmed with the Mac binary of the same fork commit; the publish example 65a42ab2 on the devnet id); the 0.3.13 parse refusal as a cut-order fact
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:34:52 +01:00
igneum-josh
dbdb829b17 Counter ASIC 3.0 status: the rehearsal's first reading (digest a15db4f0 on 16 boxes, the parse refusal of the 15-field file by a 0.3.13 node, the seed port collision and restart) 2026-10-06 19:31:21 +01:00
igneum-josh
c45d3157af Counter ASIC 3.0 status: the P1 rehearsal launched 18:22Z (boxes, object, binaries, the clock to the flip and the floor) 2026-10-06 19:23:24 +01:00
igneum-josh
f1c37d3f83 Merge branch 'ca3-v4-node' into ca3-coord 2026-10-06 19:19:53 +01:00
igneum-josh
15c382c56a Counter ASIC 3.0 gates (node): the rehearsal re-cut for the hour (1 block/s: 600-DAA epochs, window 600, flip at minute 20, floor at minute 40; digest d23394e7...)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:18:04 +01:00
igneum-josh
9ddcf1dc67 Merge remote-tracking branch 'origin/master' into ca3-coord 2026-10-06 19:17:32 +01:00
igneum-josh
86318b565a Counter ASIC 3.0 status: the two fast-forwards and their CI runs (decision 5 closed); Josh's go (v4 now, the clean-day wait removed), the P1 rehearsal running, 0.3.15 tonight on PASS 2026-10-06 19:17:31 +01:00
igneum-josh
3e6a4886dc Build server: the remote checkout discards the previous overlay first (the stale-overlay class, PC 1 worker, 6 October 2026)
remote-run.sh gains a checkout mode used by lib.sh: git checkout -- . and git clean -fd (target dirs, the sha stamps and
ignored files kept), fetch, branch at the commit, then a clean-tree check; the overlay follows. Before this, the rsync of
uncommitted files stayed in the box's tree and the next commit's git checkout -B refused with 'local changes would be
overwritten'. remote-run.sh --self-test reproduces the dirty tree (edited tracked file, untracked file, target dir, sha
stamp), shows the plain checkout refusing and the mode landing clean on the new commit; it runs in ci.yml and passed on the
Mac and the box; a live dirty-then-clean pair on the fork worktree passed too. Plan: section 5, gotchas of the first day.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:16:27 +01:00
igneum-josh
11b8263512 Merge site-ui-3 item 0: the home page's live scene reads the chain (block height, shards proven, last lock), the failed-feed state is labelled
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:14:48 +01:00
igneum-josh
9ca7277472 Merge site-miner: the 0.3.14 miner on the site (real captures, the four pages, Ember Tune measured, Power control)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:14:48 +01:00
igneum-josh
84a6de2608 Home live scene reads the chain, not the window: chain block, shards proven, last lock, live colours, a plain unavailable state
The "LIVE DEVNET" scene on the home page showed blocks 21, proven 0, locked 3 and grey nodes while the devnet stood past
chain block 140,000 with 2,090 shards paid and a checkpoint locking every 30 s. Four causes, all in site/index.html:
- "blocks" was the scene's own spawn counter, never the chain;
- "proven" counted blocks of the 90 s window whose shards were all paid, and proofs land a median 380 s behind the tip
  (median_proof_lag_s), so the window can never hold one;
- "locked" counted locked checkpoint blocks inside the same 90 s window (always about 3);
- the live path skipped the colour state machine, so every real block stayed grey, and a failed first fetch left the
  simulation running under a label that looked live, with no further polls.

Now: /api/live carries state.height (the chain block number, the same field /api/stats reports, one indexed subquery);
the scene's counters read chain block (state.height), shards proven (proving.paid_shards_total, the node's count of paid
shard records, with the 10-minute count and the median lag in the note) and last lock (finality.latest_locked_index);
live blocks take the observer's own words (pending, included, excluded, proven, locked checkpoint, final to its left),
refreshed on every poll, with a legend in those words; the hero tile shows the chain block instead of the node's
held-block count; polling never stops (2 s while fresh, 10 s while off) and the off state is labelled "simulated preview ·
live feed unavailable" or "observer offline, last update N ago" with a note that the counters count simulated blocks.
Also found while verifying: the scene advanced a fixed 16 ms per frame, so it ran at double speed on 120 Hz displays;
it now uses the real frame time, capped at 50 ms.

/live had the same window bug in its "proven 0/16" counter; it now reads the observer's 10-minute truth (chain blocks
with every shard paid, of the chain blocks planned in 10 min) with the lag and the chain total in its title.

Verified against the live API through tools/site-serve.mjs in the built-in browser and headless Chromium:
chain block 140,489, shards proven 2,130, last lock #6,784; the failed-fetch state shown by blocking /api/live.
Screenshots: docs/plans/site-ui-3-shots/item0/ (1440 and 390, live and failed). Checks: identity grep 0 hits,
link check 708 links 0 broken, site/api tests 14 pass, site build clean.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:14:05 +01:00
igneum-josh
e172d7a55c Site: the miner page pictures 0.3.14 (Mine, Earnings, Prove, Settings; the card row; Ember Tune measured)
Real screenshots of the live 0.3.14 app on the Apple M5 Max (paused, Ember Tune off, as Josh left it), shot headless
at 1440x900 and 390 px, dark and light, the rail foot, the address and the machine id masked: miner-dashboard.webp
(the hero, same name), miner-earnings, miner-prove, miner-settings, miner-dashboard-light, miner-phone.
miner.html: a page-by-page section (the card row cell by cell, three page shots, light and the phone), the lead and
the meta copy name the four pages and pounds a day at the user's price, the Ember Tune feat carries the app's one
sentence and the measured PC 1 rows from the 6 Oct log (5090: 311.0 to 226.8 W for 0.15% of rate; 4070: 106.0 to
75.6 W for none; the floor, not the optimum), the Power control feat (one approval, then the helper task, no prompts),
the dev fee moved to Earnings as in the app. index.html: the same hero shot, two pills. build.mjs: the caption no
longer says 'until 0.3.6' (0.3.14 still says Igneum Miner). The 9070 XT row, the market price for pounds earned and
the bench anchor (the run 6 entry is on the ship0314 branch) are marked as owed or coming.
relay/playbooks/site-capture-pc1.ps1: a read-only run job that shoots the installed app's UI on PC 1 with Edge
headless and drops the PNGs on the relay (no quit, pause, resume or settings change; passes the playbook checks).
docs/plans/site-miner-2026-10-06.png: before and after.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:13:01 +01:00
igneum-josh
88f5026d41 Merge origin/master into ca3-coord: Counter ASIC 3.0 complete (every gate green, P2 green, P1 written); the drive-ref check skips single-quoted here-strings and the copied-sources check reads code lines only (master's CI red on 0dc4392); main's decisions and the close in the status file 2026-10-06 19:05:54 +01:00
igneum-josh
fa4b64fe8a Counter ASIC 3.0 status: PC 1 free, the 9070 XT restored (confirmed off at 17:55Z, mining from 17:57Z), the amd:1 flag back 2026-10-06 19:02:01 +01:00
igneum-josh
cc29240d3b Counter ASIC 3.0 status: P2 green (miner-signalled activation, three runs and the failed case, G6), P1's plan and objects written; the line for Josh re-read 2026-10-06 18:57:35 +01:00
igneum-josh
9bf412acb6 Merge branch 'ca3-v4-node' into ca3-coord 2026-10-06 18:56:58 +01:00
igneum-josh
42d26913be Counter ASIC 3.0 status: the cards-off rule from main (runner flag + CI check tonight), the 4070 consequence 2026-10-06 18:56:13 +01:00
igneum-josh
389203571c Counter ASIC 3.0 gates (node): G6 on the signalling fork change GREEN (jobs build-20261006-173017, -174027, -174823: the 2.0 flake re-run alone, the five crates and the app, the relay upload fault noted)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 18:56:11 +01:00
igneum-josh
0c128e7e5f Counter ASIC 3.0 status: the watts job's failure and the 9070 XT restore in flight; the 4070 came back 2026-10-06 18:55:18 +01:00