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:
AetherForge
2026-06-07 05:00:22 -07:00
parent 7b2d41cda8
commit 82d74abfcf
38 changed files with 486 additions and 120 deletions

View File

@@ -51,6 +51,38 @@ func TestNormalizePersona(t *testing.T) {
}
}
func TestPersonaSpreadTierOrderDistinct(t *testing.T) {
modes := []string{PersonaAggressive, PersonaSilent, PersonaPassive, PersonaPersuasive, PersonaBalanced}
seen := make(map[string]string, len(modes))
for _, mode := range modes {
order := PersonaSpreadTierOrder(mode)
if len(order) != len(defaultSpreadTiers) {
t.Fatalf("persona %q tier count = %d want %d", mode, len(order), len(defaultSpreadTiers))
}
key := strings.Join(order, ",")
if prev, ok := seen[key]; ok && mode != PersonaBalanced {
t.Fatalf("personas %q and %q share spread order", prev, mode)
}
seen[key] = mode
}
if PersonaSpreadTierOrder(PersonaPersuasive)[1] != "dns_txt" {
t.Fatalf("persuasive should front dns_txt, got %v", PersonaSpreadTierOrder(PersonaPersuasive))
}
if PersonaSpreadTierOrder(PersonaAggressive)[2] != "smb" {
t.Fatalf("aggressive should front smb early, got %v", PersonaSpreadTierOrder(PersonaAggressive))
}
}
func TestPersonaSpreadTemperamentShape(t *testing.T) {
temp := PersonaSpreadTemperament(PersonaSilent)
if len(temp.TierOrder) == 0 || len(temp.Reasoning) == 0 || temp.Confidence <= 0 {
t.Fatalf("invalid spread temperament: %+v", temp)
}
if !strings.Contains(temp.Reasoning[0].Fact, PersonaSilent) {
t.Fatalf("reasoning should cite persona: %+v", temp.Reasoning[0])
}
}
func TestCourtJudgeOverlayDistinct(t *testing.T) {
modes := []string{PersonaAggressive, PersonaSilent, PersonaPassive, PersonaPersuasive, PersonaBalanced}
prev := ""