keryx-miner-supr v0.6.5.7 — sparse possession tree (~130× smaller on disk) + stratum crash fix
Sparse checkpoint Merkle possession tree (~130× less disk)
The Proof-of-Model possession tree is no longer stored in full. Only every 6th tree level is written to
disk (leaves are recomputed from the model GGUF on demand, the root is always stored), so the on-disk
tree shrinks dramatically with no change to consensus — the possession root R_T is byte-identical to
before:
- Gemma-3-4B possession tree: 4737 MB → 37.6 MB (measured, live)
- Llama-3.3-70B tier: ~55 GB → ~0.44 GB
This retires the possession-tree disk pressure: --high / --very-high no longer need tens of GB of
extra disk beyond the model itself. Byte-exactness was validated three ways before release — a synthetic
oracle across many tree sizes (including non-power-of-two), the real Gemma GGUF reproducing the
node-pinned root, and live pool-accepted shares with 0 rejects on the whole fleet. On upgrade, an old
full-size pom-tree.bin is detected and automatically rebuilt as the tiny sparse tree (cache version 1→2).
Stratum: never panic on an unexpected pool error result (hardens failover)
An errored stratum result for a message id that was not a submitted share (e.g. a setup/subscribe reply,
observed live on a pool after a stale/duplicate worker session) previously panicked the whole miner in a
reconnect crash-loop. With --backup-pool failover enabled this could also crash on an unexpected reply
from a backup pool. The job id is now optional: such a result is logged and the normal reconnect/failover
path runs. Normal share-rejection handling is unchanged.
Notes
- Three build lines as usual: modern (CUDA 12.9, driver R575+), legacy (CUDA 12.4, driver R550+),
pascal (sm_60, GTX 10-series) — each in HiveOS / SMOS / mmpOS / generic-Linux formats, plus Windows. - Pool user-agent version stays 0.6.5; this is release build 0.6.5.7.