Skip to content

d-miner5(kat): pin hashrate_drop honesty (no fabricated drop without observed peak) - #559

Merged
frstrtr merged 2 commits into
masterfrom
dashboard/d-miner5-hashrate-drop-kat
Jun 27, 2026
Merged

d-miner5(kat): pin hashrate_drop honesty (no fabricated drop without observed peak)#559
frstrtr merged 2 commits into
masterfrom
dashboard/d-miner5-hashrate-drop-kat

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Extends the D-MINER.5 notify-engine selftest to regression-lock the HASHRATE_DROP event kind, completing the per-kind honesty sweep (offline / back_online / daily-summary already pinned by #517/#557/#558).

New KAT cases (test-only, SAFE-ADDITIVE -- no engine logic change):

  • 6c: a brand-new worker with no observed prior peak must NEVER emit a drop on its first sample (the peak>0 guard). A drop without real history is a fabricated alert -- same honesty principle as the back_online gate in d-miner5(fix): gate back_online on a reported outage (no false recovery on sub-threshold blip) #558.
  • 6d: only AFTER a real peak is observed does a halving fire exactly one drop, attributed to the observed peak.
  • 6e: a dark (hashrate==0) sample is an OFFLINE concern, never a fabricated -100% drop; drop is evaluated in the online branch only.

Selftest 13/13 green locally.

Note for operator: HASHRATE_DROP currently compares against an all-time monotonic peak that never decays -- a miner who permanently downsizes would get a recurring (hourly-throttled) drop alert against a baseline that no longer applies. That is an alert-semantics decision, surfaced separately, not touched here.

frstrtr and others added 2 commits June 26, 2026 23:53
evaluate() emitted a back_online event whenever the prior sample was
offline, regardless of whether an OFFLINE alert had actually fired. A
sub-threshold blip (dark < offline_min) never fires OFFLINE, so the
recovery edge would tell the miner they are back from an outage they
were never told about and that never met the alert threshold -- a
false-positive notification.

Gate the back_online edge on offline_fired so a recovery is only
reported when the outage itself was reported. Add KAT scenario 6b
(blip-then-recover stays silent); selftest 10/10.
…observed peak)

Extends the D-MINER.5 notify-engine selftest to regression-lock the
HASHRATE_DROP edge cases, completing the per-kind honesty sweep
(offline/back_online/daily-summary already pinned):

  6c first-online (peak==0 guard) must NEVER fire a drop -- a drop with
     no observed prior peak is a fabricated alert.
  6d a real halving vs the observed peak fires exactly one drop.
  6e a dark (hashrate==0) sample is an OFFLINE concern, never a -100%
     drop -- drop is evaluated in the online branch only.

Test-only / SAFE-ADDITIVE: pins existing honest behavior, no engine
logic change. Selftest 13/13.
@frstrtr
frstrtr merged commit 609db5e into master Jun 27, 2026
21 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.

1 participant