Skip to content

d-miner5(fix): gate back_online on a reported outage (no false recovery on sub-threshold blip) - #558

Merged
frstrtr merged 1 commit into
masterfrom
dashboard/d-miner5-back-online-gate
Jun 27, 2026
Merged

d-miner5(fix): gate back_online on a reported outage (no false recovery on sub-threshold blip)#558
frstrtr merged 1 commit into
masterfrom
dashboard/d-miner5-back-online-gate

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 26, 2026

Copy link
Copy Markdown
Owner

What

evaluate() in the D-MINER.5 notify engine emitted a back_online event whenever the prior sample was offline (p_online == 0), regardless of whether an OFFLINE alert had ever fired.

A sub-threshold blip — a worker dark for less than offline_min — never fires OFFLINE. But on the next online sample the old code still emitted back_online, telling the miner they had recovered from an outage:

  • they were never notified about, and
  • that never met the alert threshold in the first place.

That is a false-positive notification: the engine reporting a recovery from an outage it never reported. Same charter as the dashboard — the notify path must never tell a miner something untrue.

Fix

Gate the back_online edge on offline_fired, so a recovery is only reported when the outage itself was reported.

Test

Adds KAT scenario 6b: a worker blips dark for 1m (< 15m threshold) then recovers — must stay silent (no OFFLINE, no false back_online). Verified the KAT fails before the fix and passes after. selftest 10/10.

Web/notify-engine layer only; non-consensus.

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.
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