Commit graph

945 commits

Author SHA1 Message Date
igneum-josh
4d4da4e4ea release 0.3.12: the PC 2 job's place in the queue (one second before floor-build-6)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 10:14:21 +01:00
igneum-josh
92ea135218 release 0.3.12: the CI verdict (37440559793 on 88df58e), the gate stands
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 10:08:42 +01:00
igneum-josh
88df58e00d release 0.3.12: merge master d3b64cb (the morning summary, docs only)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 10:05:27 +01:00
igneum-josh
37b6a7ff74 pc2-agg-cost.ps1: pkill -f sp1-gpu-server at the end (the CI root-socket check); release 0.3.12: the PC 2 job, the Windows artefacts, the CI rows
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 10:04:33 +01:00
igneum-josh
0a71f315c9 release 0.3.12: the Windows exes, the second inputs push, the consensus-core fast-time finding
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:50:13 +01:00
igneum-josh
062c3f8597 Windows payload inputs: node 83089544 (push-inputs.sh, the Mac cross-build, the 0.3.11 workers, the AMD telemetry helper, signed); release 0.3.12
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:49:08 +01:00
igneum-josh
d3b64cbb5e morning summary: Counter ASIC 3.0 closed, the class v4 candidate and its gate decision
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:49:04 +01:00
igneum-josh
44b4d85539 release 0.3.12: the Mac node suites with the igneum-pow feature (the M20 era test known on 89dfcb95 too, the finality ban test flaky)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:46:49 +01:00
igneum-josh
ff6e624cd0 release 0.3.12: the plan's digests, the two-publish order, the line for Josh
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:45:23 +01:00
igneum-josh
4c63017031 release 0.3.12: the plan's node, prover, HiveOS and DMG rows for the widened cut
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:43:31 +01:00
igneum-josh
709413c143 release 0.3.12: the plan widens to the node change (the fresh-record rule switch, the segment-aligned prover)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:40:18 +01:00
igneum-josh
7dd3ff7129 packaging/mac/packaged-config.sh: the ten-field object (proving_v1_fresh_rule_daa 192000) in the packaged line (C34)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:38:59 +01:00
igneum-josh
49e0e2c694 release 0.3.12: merge proving-v1 app aea2f6a (the segment-aligned prover, the held fresh record, the fresh-record rule harness)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:37:18 +01:00
igneum-josh
0f945f3c58 morning summary: the segment rule is a consensus switch; 0.3.12 carries the node
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:36:28 +01:00
igneum-josh
aea2f6a633 bench-log: the fast-time harness on the fresh-record rule, both cases
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:35:13 +01:00
igneum-josh
67e4945d51 release 0.3.12: the plan names the make-payload fix and the superseded first Windows run
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:34:25 +01:00
igneum-josh
6532adf79b make-payload.sh: the AMD telemetry helper is taken from the unpacked inputs on CI (the worker glob missed igneum-gpu-telemetry.exe, so the 0.3.12 payload of run 37435975425 lacked it)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:33:25 +01:00
igneum-josh
011fe7ba1a proving v1 harness: under --fresh-rule the second offer of segment 3's record is a duplicate, not a chain-rule refusal
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:32:42 +01:00
igneum-josh
01abcc28ae release 0.3.12: the Windows run green, the installer and zip hashes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:32:34 +01:00
igneum-josh
ab01f48705 release 0.3.12: the plan's builds, CI, publish gate and owed items
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:27:08 +01:00
igneum-josh
457e83a8b0 bench-log and plan: the segment-aligned prover on PC 2 (9 whole segments in 30 min, 72 of 72 shards paid, 11.0% of the miner) and the chain rule's 8-DAA fresh window, its fix behind the switch
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:26:59 +01:00
igneum-josh
ebea8b69ed release 0.3.12: merge ember-tune 7f6c4e6 (Ember Tune, the quit source, no OTA and no pipe in a second engine, the elevated follow_file, the BOM fix, Power control, job-console's hidden-console builder and spawn check)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:22:22 +01:00
igneum-josh
7f6c4e639a app: every elevated launch through one hidden-console builder; CI check for Windows spawns; PC 1 console watchers
The console-window class (Josh, 5 October 2026: "Windows Command Processor" windows on PC 1 whenever a remote job runs).
Measured on PC 1 (ae432dc7, Windows 11 Pro 26200, default terminal "Let Windows decide" = Windows Terminal 1.24) with
tools/windows/console-watch.ps1 (job run-20261005-182528): no child a job script starts from the app's headless
console opens a window (powershell, cmd, query, curl, nvidia-smi, wsl --status, a distro, interop cmd and powershell,
powershell -WindowStyle Hidden: 0 windows each); Start-Process in a new console opens a Terminal window (the known-failed
case: 2 windows), the same with -WindowStyle Hidden opens none (the known-finished case). The elevated path
(Start-Process -Verb RunAs -WindowStyle Hidden through the AppInfo service) is the one road left; its watcher
(console-watch-elevated.ps1, job run-20261005-184610) was cancelled at the UAC prompt.

- platform.rs: elevated_ps_line + elevated_command build the one PowerShell line every elevated launch uses (the NVIDIA
  power cap, the sweep helper, the clock sync, an elevated remote job), -WindowStyle Hidden by construction; unit
  tests on the line, the quoting and the Command.
- jobrun.rs: the elevated job path uses it; the relaunch helper's Start-Process carries the reason it has no
  -WindowStyle Hidden (igneum-app.exe is a windows-subsystem program).
- tools/ci/windows-spawn-check.mjs (+ ci.yml): fails when a Command::new in app/igneum-app/src is not quieted,
  a creation_flags is not CREATE_NO_WINDOW alone, a Start-Process the Rust code writes lacks -WindowStyle Hidden or
  -NoNewWindow, or host.cpp spawns without CREATE_NO_WINDOW / SW_HIDE; self-test on known-good and known-bad samples.
- tools/windows/console-watch.ps1, console-watch-bg.ps1, console-watch-elevated.ps1: the watchers (run jobs).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:21:46 +01:00
igneum-josh
c5918c7e57 Merge release-0.3.12 (b0a6231) into ember-tune: 0.3.11's six-section View and card order kept, Ember Tune's line and switches re-added on it; the tune fields move into hotplug::apply_pref; the power-cap plan keeps present(); both CI test lists; 132 app tests, 26 UI tests, every gate green
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:20:46 +01:00
igneum-josh
11e8ca6c72 release 0.3.12: the plan's first sections (what it carries, the branch, the HiveOS package)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:20:34 +01:00
igneum-josh
81e4ecbfe7 Igneum Miner 0.3.12: the six version files
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:19:00 +01:00
igneum-josh
b0a62317e3 release 0.3.12: merge hive-words: the bundled node takes the override from the Flight Sheet
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:17:02 +01:00
igneum-josh
c6608c1fe5 release 0.3.12: merge card-order: the GPU list by performance
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:16:26 +01:00
igneum-josh
b984c17a0e release 0.3.12: merge update-catchup: an old update skips the hourly slot
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:16:26 +01:00
igneum-josh
9bcf4cd232 release 0.3.12: merge proving-v1 app: paid_wei as a decimal string
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

# Conflicts:
#	docs/bench-log.md
2026-10-06 09:16:26 +01:00
igneum-josh
83642add09 morning summary, 6 October 2026
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:15:36 +01:00
igneum-josh
2207cd7a33 app: an update published over an hour before the engine started skips the hourly rollout slot
PC 1, 6 October 2026 06:58:47Z: the app came up after the 0.3.11 publish, had the installer verified 44 s
later and sat on "installs at the next safe moment" with its slot at minute 35; Josh pressed Install now at
07:00:48Z. The slot staggers a fleet through a NEW publish; a machine that was off through the publish has
nothing to stagger. Now: published_at + 3,600 s <= engine start => slot_ok, logged once. The other safe-moment
guards (node synced, miner idle, boundary, network drop) are unchanged. manifest::unix_from_rfc3339 with tests.
For 0.3.12.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:13:51 +01:00
igneum-josh
bf56b92962 proving v1 harness: --fresh-rule <daa> (default never keeps the known-failed line; set, case 3 expects a fresh record accepted while the previous segment is pending and freshAdmissible true)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:05:04 +01:00
igneum-josh
272b025c9f prover: a segment record the chain rule refuses is held and offered again every pass until the segment's deadline (the fresh-record window on the 0.3.11 rule is one segment length in DAA); the tile counts held records; the fast-time file sets the fresh-rule switch
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:03:46 +01:00
igneum-josh
9a6469f34b ember-tune.md: the next-cut note names the right commit
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:03:19 +01:00
igneum-josh
1e9550e629 a job that cannot mine never burns its budget silently: the elevated job path follows its output file while the script runs (the 5-minute progress reports carry the lines; 0.3.12), and the tune playbook's watchdog fails a run that mines nothing within 120 s of its first status line (the engine's last log line in the RESULT, the tree ended, mining restored by the runner)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 09:03:13 +01:00
igneum-josh
01f3ee18ce bench log: run 2 (07:21 to 07:56Z): the BOM in the copied settings, no miner started, nothing set, mining paused 36 min 13 s, the hold released by the runner itself
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:59:21 +01:00
igneum-josh
8273494f13 playbooks: the scratch settings.json is written without a BOM (PowerShell 5.1's -Encoding utf8 adds one, the engine's JSON parser refuses it, the copy read as defaults with no payout address and nothing mined in runs 1 and 2); the address is read back and the job fails at once if it is empty; the CI check fails any playbook writing JSON with Set-Content -Encoding utf8
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:58:39 +01:00
igneum-josh
330207de90 pc2-segments: int64 segment keys (a double never matched the int64 hashtable keys, so job b claimed nothing in 88 passes); the work-list line; the log search widened
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:50:46 +01:00
igneum-josh
ffb2bfa552 app: order the GPU list by performance (usable, discrete before integrated, rate in 5 MH/s buckets, memory)
Josh, 6 October 2026: on PC 1 the integrated card sat between the 5090 and the 9070 XT. The list now shows
usable cards first, ordered by the measured rate since the start in 5 MH/s buckets (no flicker), discrete,
external and Apple before integrated, then memory; removed and unusable cards last; ties keep the detection
order. The row signature follows the order, so a reorder re-renders. Three UI tests. For 0.3.12.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:23:25 +01:00
igneum-josh
0ea2c1e8bc ember-tune-pc1.ps1: find the AMD helper under any amd-kit job folder
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:20:36 +01:00
igneum-josh
26725c0e4e pc2-segments: the port probe sets the port before the call (the first run dialled an empty port and refused itself)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:19:15 +01:00
igneum-josh
99882865a5 plan: segment-aligned proving (the change, item 2 answered from the relay source, the arithmetic; the PC 2 numbers to follow)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:18:59 +01:00
igneum-josh
50b6beb5e2 proving v1: the PC 2 segment-aligned prover job (tools/proving-v1/pc2-segments.ps1) and the CPU validation of --save-shards records and --prev
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:18:15 +01:00
igneum-josh
ee1626e84f ember-tune-pc1.ps1: both cards stay on their best points (Josh, 6 October 2026 07:25Z); no reset at the end
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:17:21 +01:00
igneum-josh
ca990c237b ember-tune-pc1.ps1: the copy runs with Power control off (the installed setting is read and reported, never a prompt: Josh, 6 October 2026 07:20Z), the kit paths after the update, the AMD card reset to factory at the end
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:15:43 +01:00
igneum-josh
ce8f34afce prover: segment-aligned work (proving v1): a free prover claims a whole segment, proves every shard from one export in one chain run, submits the shard records and the segment record; the host's chain mode takes --prev and writes per-shard records with --save-shards
One prover at 2.2% coverage never had 8 consecutive proven blocks (C47, 6 October 2026); claiming whole segments makes it complete about 1 segment in 75 instead of none. The choice is deterministic per key (FNV of first block and key hash) over the untouched whole segments inside their deadline by a margin (240 DAA or 1.5x the last segment's time); the per-block path stays as the fallback. Unit tests for the grid, the grouping, the margin, the attempted set and the per-key order; 120 app tests, 8 core and 9 host tests pass.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:12:23 +01:00
igneum-josh
1b2921e607 Aggregation cost on the 5090 (5 October, night): the chained aggregation is 2.1 s alone and 9.7 s beside the miner, the batch-log2 curve (2^16 buys 1.6x for a fifth of the hash rate), batch and tree folds estimated, two streams and SP1 knobs closed; the host times the stdin build and names the knobs, --save-shards; the PC 2 job scripts and the readers
The statement and the pinned guests are unchanged; every fixture proof verifies as before. The defaults stay (batch-log2 22, SP1 defaults): the one knob that moves a mining card's prover costs a fifth of the hash rate; the plan carries the trade for Josh and the batch fold for the next pin. Measured: docs/bench-log.md "aggregation cost on the RTX 5090"; the plan line: docs/plans/proving-v1.md "Aggregation cost (5 October, night)". Also: make-package's gate skips the exporter's .node-plan.json side files and takes the run lock for its execute step; the state-reply class (/api/state answering {} once paid_wei passes u64::MAX) found on the way and fixed on the app branch at 6714a45.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit ea38ece9eaa5949dd657cbfea5308c4948177ff8)
2026-10-06 08:04:50 +01:00
igneum-josh
a7d526eeef bench log: the 22:31 UTC installer run was a second install of 0.3.10 over 0.3.10 (PC 1 took 0.3.10 at 21:40:41Z through update-now), not how PC 1 got 0.3.10
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:03:26 +01:00
igneum-josh
ddfcdac83f release 0.3.11: C35's cause on PC 1 and the ember-tune guard e600e63 in the next-cut list
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 08:03:10 +01:00