Skip to content

fix: harden miner recovery, pool validation, and launchers - #22

Merged
JustAResearcher merged 3 commits into
JustAResearcher:mainfrom
SWvheerden:sw_harden
Jul 30, 2026
Merged

fix: harden miner recovery, pool validation, and launchers#22
JustAResearcher merged 3 commits into
JustAResearcher:mainfrom
SWvheerden:sw_harden

Conversation

@SWvheerden

@SWvheerden SWvheerden commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR hardens miner recovery, pool handling, and the multi-GPU launchers:

  • Stops surviving GPU workers when one worker fails and propagates that worker's exit code. The Linux launcher reports a missing backend as exit 5 and escalates TERM to KILL after a bounded grace period.
  • Separates explicit login rejection, clean disconnect, connected no-job silence, and malformed protocol data.
  • Exits with code 6 after repeated connected no-job timeouts and code 7 after three consecutive protocol failures. A protocol streak resets after a valid job update or a clean connection, including the immediate update-then-error race.
  • Validates complete JSON documents, including container matching, escapes, numbers, commas, and trailing data, while retaining status-object share acceptance.
  • Bounds outstanding submit tracking and removes failed CUDA recovery slots so zeroed proofs cannot reach host verification.
  • Rejects empty, whitespace/control, and overlong wallet/login values. Ambiguous Base58-length pool usernames now warn without being blocked, and the bounds cover Base58, hex, emoji, and pipe-grouped Tari encodings.
  • Documents supervisor-facing exit codes 0-7 and adds Linux and Windows launcher regressions to CI.

Validation

  • Windows MSVC and Ubuntu 22.04 g++ protocol/reliability suites: pass.
  • Windows PowerShell and Linux shell launcher regressions: pass, including failure propagation and cleanup of a TERM-resistant survivor.
  • CUDA 13.2 Windows build matrix: all nine release solver, pool miner, and reference targets pass for sm_86, sm_89, and sm_120.
  • RTX 5090 exact recall: five 4,200-graph runs (21,000 total) pass candidate repeatability, reference repeatability, candidate-vs-reference, and pipeline-4 parity. Every run found the same 110 proofs with zero verification failures.
  • Fresh final sm_120 smoke: 100 graphs, two verified cycles, zero verification failures.
  • GitHub Actions for commit 9b987d8: all three jobs passed.

Deliberate boundary

The recall matrix proves exact solution correctness; it is not a throughput comparison. No graphs/s A/B against v1.1.2 was performed.

@JustAResearcher JustAResearcher changed the title feat: more hardeing fix: harden miner recovery, pool validation, and launchers Jul 30, 2026
@JustAResearcher
JustAResearcher merged commit 168a596 into JustAResearcher:main Jul 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants