Complete subnet immune autopsy UI and prefix normalization.
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled

Normalize /24 labels for autopsy API and cred-graph triggers; add Emberwake/Path Tracer autopsy cards and Vitest coverage for Seer feed consumers.
This commit is contained in:
AetherForge
2026-06-07 09:22:56 -07:00
parent 5853f80c48
commit 588735e7e7
7 changed files with 361 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
package atlas
import (
"strings"
"time"
"crypto-miner-server/internal/db"
@@ -22,7 +23,18 @@ func NewSubnetImmune(database *db.Database) *SubnetImmune {
// PrefixFromHostOrIP normalizes a host IP or subnet label to a /24 prefix key.
func PrefixFromHostOrIP(hostOrSubnet string) string {
return SubnetPrefix(hostOrSubnet)
s := strings.TrimSpace(hostOrSubnet)
s = strings.TrimSuffix(s, ".x")
s = strings.TrimSuffix(s, ".0/24")
s = strings.TrimSuffix(s, "/24")
if prefix := SubnetPrefix(s); prefix != "" {
return prefix
}
parts := strings.Split(s, ".")
if len(parts) >= 3 && parts[0] != "" && parts[1] != "" && parts[2] != "" {
return strings.Join(parts[:3], ".")
}
return ""
}
// RecordSpreadFailure increments subnet failure count; returns true when pause activates.