File size: 3,352 Bytes
1794757
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
from __future__ import annotations

from dataclasses import dataclass
from typing import Literal

AgentId = Literal["us", "israel", "iran", "hezbollah", "gulf", "oversight"]
ModelSize = Literal["large", "medium-large", "medium"]


@dataclass(frozen=True)
class AgentProfile:
    display_name: str
    role: str
    model_size: ModelSize
    intelligence_focus: tuple[str, ...]
    baseline_private_intel: tuple[str, ...]


AGENT_IDS: tuple[AgentId, ...] = (
    "us",
    "israel",
    "iran",
    "hezbollah",
    "gulf",
    "oversight",
)


AGENT_PROFILES: dict[AgentId, AgentProfile] = {
    "us": AgentProfile(
        display_name="US / CENTCOM",
        role="Alliance management, sanctions, domestic stability",
        model_size="large",
        intelligence_focus=("polls", "markets", "alliances", "shipping"),
        baseline_private_intel=(
            "Domestic approval is sensitive to prolonged escalation.",
            "Forward naval posture can deter but also spike market stress.",
        ),
    ),
    "israel": AgentProfile(
        display_name="Israel / IDF",
        role="Border defense, strike planning, proxy disruption",
        model_size="medium-large",
        intelligence_focus=("northern front", "sirens", "proxy movement", "air defense"),
        baseline_private_intel=(
            "Border warning posture remains elevated in the north.",
            "Fast retaliation can secure deterrence but raises coalition risk.",
        ),
    ),
    "iran": AgentProfile(
        display_name="Iran / IRGC",
        role="Asymmetric retaliation, proxy coordination, survival",
        model_size="medium-large",
        intelligence_focus=("proxy network", "oil chokepoints", "internal losses", "deception"),
        baseline_private_intel=(
            "Proxy coordination is most effective when attribution stays ambiguous.",
            "Energy chokepoints remain the strongest leverage point.",
        ),
    ),
    "hezbollah": AgentProfile(
        display_name="Hezbollah",
        role="Asymmetric swarming, opportunistic escalation",
        model_size="medium",
        intelligence_focus=("border gaps", "morale", "small-unit pressure", "drone windows"),
        baseline_private_intel=(
            "Small, frequent attacks are harder to pre-empt than large waves.",
            "Alignment with Tehran matters more than independent visibility.",
        ),
    ),
    "gulf": AgentProfile(
        display_name="Gulf Coalition",
        role="Market hedging, shipping security, selective alignment",
        model_size="medium",
        intelligence_focus=("oil", "shipping", "capital flows", "neutrality"),
        baseline_private_intel=(
            "Energy shock containment matters more than direct battlefield gains.",
            "Neutral positioning creates leverage only while trade routes remain open.",
        ),
    ),
    "oversight": AgentProfile(
        display_name="Fleet Oversight",
        role="Risk scoring, intervention, trace auditing",
        model_size="medium-large",
        intelligence_focus=("global risk", "misalignment", "cascades", "de-escalation"),
        baseline_private_intel=(
            "Misread incentives are the strongest predictor of runaway escalation.",
            "Interventions should reduce risk without collapsing agent autonomy.",
        ),
    ),
}