keryx-miner-supr v0.6.5.5
Robustness follow-up to v0.6.5.4. No protocol/consensus change; drop-in (mining.subscribe user-agent stays keryx-miner-supr/0.6.5).
Fix — independent wedge supervisor
v0.6.5.4 added a stratum job-watchdog, but it lives inside the stratum read loop, so it can't fire if that loop itself blocks (e.g. a stalled GPU worker back-pressuring the job-dispatch channel — which was observed to leave a rig "alive" at 0% GPU for over an hour).
v0.6.5.5 adds a fully independent supervisor task: it watches the accepted-share counter and, if no share is accepted for KERYX_STALL_RESTART_SECS (default 600 s) while mining, exits (code 75) so the process manager relaunches a fresh miner — which also resets any wedged GPU workers. Keying on the final output (accepted shares) catches every wedge class. It arms only after the first accepted share, so model downloads / pre-activation / brief inference pauses never trip it.
Run under an auto-restart wrapper to benefit: HiveOS restarts on exit automatically; for a bare launch use systemd (Restart=always) or a while true wrapper.
Build lines
modern (CUDA 12.9, R575+), legacy (CUDA 12.4, R550+), pascal (sm_60; --cpu-inference --light). Each in hiveos / smos / mmpos / linux.