babylon.models.events.balkanization_payloads
Spec-070 balkanization event payloads (T033, FR-022, FR-023, FR-026, FR-028, FR-029a, FR-031, FR-034, FR-035).
Each payload is a frozen Pydantic model mirroring its JSON Schema in
specs/070-balkanization/contracts/balkanization_events.json. The
SimulationEvent base owns the
common event_type + tick + timestamp fields; spec-070
payloads inherit it.
Naming convention: {EventType}Payload to disambiguate from the
GameOutcome enum values (e.g., RedOgvEndgamePayload carries
data for the EventType.RED_OGV_ENDGAME event, NOT the
GameOutcome.RED_OGV enum literal).
Classes
|
FR-028 civil-war-declared event payload. |
|
FR-035 dual-power-active diagnostic event payload. |
|
FR-026 faction-victory event payload. |
|
FR-032a FRAGMENTED_COLLAPSE endgame event payload. |
|
FR-031 RED_OGV endgame event payload (the settler-socialist trap). |
|
FR-034 red-settler-trap diagnostic event payload. |
|
FR-029a (2) secession-declared event payload. |
|
FR-023 sovereign-collapse event payload. |
|
FR-022 territory-transition event payload. |
- class babylon.models.events.balkanization_payloads.CivilWarDeclaredPayload(**data)[source]
Bases:
SimulationEventFR-028 civil-war-declared event payload.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.models.events.balkanization_payloads.DualPowerActivePayload(**data)[source]
Bases:
SimulationEventFR-035 dual-power-active diagnostic event payload.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.models.events.balkanization_payloads.FactionVictoryPayload(**data)[source]
Bases:
SimulationEventFR-026 faction-victory event payload.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.models.events.balkanization_payloads.FragmentedCollapseEndgamePayload(**data)[source]
Bases:
SimulationEventFR-032a FRAGMENTED_COLLAPSE endgame event payload.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.models.events.balkanization_payloads.RedOgvEndgamePayload(**data)[source]
Bases:
SimulationEventFR-031 RED_OGV endgame event payload (the settler-socialist trap).
- Parameters:
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.models.events.balkanization_payloads.RedSettlerTrapDetectedPayload(**data)[source]
Bases:
SimulationEventFR-034 red-settler-trap diagnostic event payload.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.models.events.balkanization_payloads.SecessionDeclaredPayload(**data)[source]
Bases:
SimulationEventFR-029a (2) secession-declared event payload.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.models.events.balkanization_payloads.SovereignCollapsePayload(**data)[source]
Bases:
SimulationEventFR-023 sovereign-collapse event payload.
- Parameters:
- trigger: Literal['legitimacy_zero', 'ecological_overshoot', 'nuclear_exchange', 'general_uprising']
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.models.events.balkanization_payloads.TerritoryTransitionPayload(**data)[source]
Bases:
SimulationEventFR-022 territory-transition event payload.
- Parameters:
event_type (Literal[EventType.TERRITORY_TRANSITION])
tick (int)
timestamp (datetime)
territory_id (str)
from_sovereign_id (str | None)
to_sovereign_id (str | None)
from_winning_faction_id (str | None)
to_winning_faction_id (str | None)
reason (Literal['influence_flip', 'collapse_partition', 'fracture', 'conquest'])
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].