igneum/site
igneum-josh f39e240d2c App engine: watchdog per card and per node, WORKER FAULT and mismatched= read from the miner; public GPU bench table and the reliability test harness
Review round 4 X21 and Josh's levers 5 and 6 (4 October 2026 evening):
- src/watchdog.rs: CardWatch (no status line for 90 s, or hash rate 0 for 60 s while the node is synced: one
  restart, then the card is marked faulted with the reason in the UI and the log; the miner's own worker restarts
  suspend both rules until ready, so there are no double restarts; exit 43 counts as a watchdog restart) and
  NodeWatch (our node silent for 120 s is restarted in-process through the restart kind the remote jobs use, with a
  growing delay). State machines with no clock; 11 unit tests replay recorded STATUS and WORKER FAULT lines.
- engine.rs reads STATUS mismatched=, faults= and the WORKER FAULT lines onto the card (faults, mismatched, message);
  a faulted card is not restarted until the user changes its settings or resumes mining; other cards keep mining.
- site/miners.html (build.mjs, scrubbed like /bench, rows from site/miner-bench.json): card, generator version, best
  MH/s, MH per watt where measured, miner version, date, source, measured by the team or reported by the fleet. In the
  navigation beside the engineering log on every page and in the sitemap. One line says there is no other miner to
  compare with.
- tools/reliability: fake-worker.mjs (the serve protocol, misbehaving on command), run.mjs (miner guards on a private
  test network, ports 29950+) and app-run.mjs (the app watchdog end to end, ports 29960+).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:20:49 +01:00
..
api Log intake: accepts LOG_INTAKE_KEY_NEXT during a key rotation (round 4, X23) 2026-10-04 19:25:33 +01:00
verify Light client v0: the browser verifies the latest certified checkpoint 2026-10-03 22:21:12 +00:00
.gitignore Site: the engineering log page renders a scrubbed copy of the bench log and the build fails on any private string (R4.6.1) 2026-10-04 14:46:44 +01:00
apple-touch-icon.png Brand: one master mark (black square, no circle) for every icon, favicon and profile picture 2026-10-04 12:39:55 +01:00
bench.html App engine: watchdog per card and per node, WORKER FAULT and mismatched= read from the miner; public GPU bench table and the reliability test harness 2026-10-04 20:20:49 +01:00
build.mjs App engine: watchdog per card and per node, WORKER FAULT and mismatched= read from the miner; public GPU bench table and the reliability test harness 2026-10-04 20:20:49 +01:00
evidence.html App engine: watchdog per card and per node, WORKER FAULT and mismatched= read from the miner; public GPU bench table and the reliability test harness 2026-10-04 20:20:49 +01:00
favicon-32.png Brand: one master mark (black square, no circle) for every icon, favicon and profile picture 2026-10-04 12:39:55 +01:00
favicon.ico Brand: one master mark (black square, no circle) for every icon, favicon and profile picture 2026-10-04 12:39:55 +01:00
forbidden-strings.txt Site build: the bench scrub is self-contained Node (runs on Vercel and CI), fails on any private string 2026-10-04 14:54:16 +01:00
icon-192.png Brand: one master mark (black square, no circle) for every icon, favicon and profile picture 2026-10-04 12:39:55 +01:00
icon-512.png Brand: one master mark (black square, no circle) for every icon, favicon and profile picture 2026-10-04 12:39:55 +01:00
index.html App engine: watchdog per card and per node, WORKER FAULT and mismatched= read from the miner; public GPU bench table and the reliability test harness 2026-10-04 20:20:49 +01:00
journey.json 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 2026-10-04 19:17:16 +01:00
litepaper.html App engine: watchdog per card and per node, WORKER FAULT and mismatched= read from the miner; public GPU bench table and the reliability test harness 2026-10-04 20:20:49 +01:00
live.html App engine: watchdog per card and per node, WORKER FAULT and mismatched= read from the miner; public GPU bench table and the reliability test harness 2026-10-04 20:20:49 +01:00
maskable-512.png Brand: one master mark (black square, no circle) for every icon, favicon and profile picture 2026-10-04 12:39:55 +01:00
miner-bench.json App engine: watchdog per card and per node, WORKER FAULT and mismatched= read from the miner; public GPU bench table and the reliability test harness 2026-10-04 20:20:49 +01:00
miners.html App engine: watchdog per card and per node, WORKER FAULT and mismatched= read from the miner; public GPU bench table and the reliability test harness 2026-10-04 20:20:49 +01:00
og-coin.png Share images: the master mark replaces the ringed coin on every og image; og.png (was a 404) added; ?v=2 cache bust 2026-10-04 18:39:05 +01:00
og-small.png Share images: the master mark replaces the ringed coin on every og image; og.png (was a 404) added; ?v=2 cache bust 2026-10-04 18:39:05 +01:00
og-square.png Share images: the master mark replaces the ringed coin on every og image; og.png (was a 404) added; ?v=2 cache bust 2026-10-04 18:39:05 +01:00
og.png Share images: the master mark replaces the ringed coin on every og image; og.png (was a 404) added; ?v=2 cache bust 2026-10-04 18:39:05 +01:00
package.json Site builds the engineering log, the FUD ledger and the journey feed from the repository on every deploy 2026-10-03 17:27:52 +01:00
robots.txt site: search and share metadata on every page, with the logo 2026-10-03 19:41:45 +00:00
scrub.mjs Site build: the bench scrub is self-contained Node (runs on Vercel and CI), fails on any private string 2026-10-04 14:54:16 +01:00
site.webmanifest Brand: one master mark (black square, no circle) for every icon, favicon and profile picture 2026-10-04 12:39:55 +01:00
sitemap.xml App engine: watchdog per card and per node, WORKER FAULT and mismatched= read from the miner; public GPU bench table and the reliability test harness 2026-10-04 20:20:49 +01:00
vercel.json Note the active GitHub account rule 2026-10-03 19:20:02 +00:00