babylon.models.enums.events
Simulation event-bus enums (event types, resolutions, outcomes).
Spec 058: extracted from the historical babylon.models.enums monolith.
Re-exported via babylon.models.enums.__init__.
Classes
|
Types of simulation events for the narrative layer. |
|
Possible game ending outcomes (Slice 1.6: Endgame Detection). |
|
How contradictions can resolve. |
- class babylon.models.enums.events.EventType(*values)[source]
Bases:
StrEnumTypes of simulation events for the narrative layer.
These event types are published to the EventBus when significant state changes occur, enabling the AI Observer to generate narrative.
- Values:
SURPLUS_EXTRACTION: Imperial rent extracted from worker to owner IMPERIAL_SUBSIDY: Wealth converted to suppression to stabilize client state SOLIDARITY_AWAKENING: Periphery worker enters active struggle (consciousness >= threshold) CONSCIOUSNESS_TRANSMISSION: Consciousness flows via SOLIDARITY edge from periphery to core MASS_AWAKENING: Target consciousness crosses mass awakening threshold ECONOMIC_CRISIS: Imperial rent pool depleted below critical threshold (Sprint 3.4.4) ECOLOGICAL_OVERSHOOT: Consumption exceeds biocapacity (Slice 1.4 - Metabolic Rift) EXCESSIVE_FORCE: State violence “spark” - police brutality event (Agency Layer) UPRISING: Mass insurrection triggered by spark + accumulated agitation (Agency Layer) SOLIDARITY_SPIKE: Solidarity infrastructure built through shared struggle (Agency Layer) POWER_VACUUM: Comprador insolvency triggers George Jackson Bifurcation REVOLUTIONARY_OFFENSIVE: Organized labor seizes opportunity during power vacuum FASCIST_REVANCHISM: Core workers react with nationalism during power vacuum RUPTURE: Contradiction tension reached critical threshold, triggering phase transition PHASE_TRANSITION: Topology percolation threshold crossed (Sprint 3.3) ENTITY_DEATH: Entity starved (wealth < consumption_needs) - Material Reality Refactor POPULATION_DEATH: Probabilistic mortality from inequality (Mass Line Refactor) POPULATION_ATTRITION: Grinding Attrition deaths from coverage deficit (Mass Line Phase 3)
- Terminal Crisis Dynamics (ai/terminal-crisis-dynamics.md):
PERIPHERAL_REVOLT: Periphery severs EXPLOITATION edges when P(S|R) > P(S|A) SUPERWAGE_CRISIS: Core bourgeoisie can’t afford super-wages (pool exhausted) CLASS_DECOMPOSITION: Labor aristocracy splits into enforcers + internal proletariat CONTROL_RATIO_CRISIS: Prisoners exceed guard capacity (ratio inverted) TERMINAL_DECISION: System bifurcates to revolution or genocide
- SURPLUS_EXTRACTION = 'surplus_extraction'
- IMPERIAL_SUBSIDY = 'imperial_subsidy'
- SOLIDARITY_AWAKENING = 'solidarity_awakening'
- CONSCIOUSNESS_TRANSMISSION = 'consciousness_transmission'
- MASS_AWAKENING = 'mass_awakening'
- ECONOMIC_CRISIS = 'economic_crisis'
- ECOLOGICAL_OVERSHOOT = 'ecological_overshoot'
- EXCESSIVE_FORCE = 'excessive_force'
- UPRISING = 'uprising'
- SOLIDARITY_SPIKE = 'solidarity_spike'
- POWER_VACUUM = 'power_vacuum'
- REVOLUTIONARY_OFFENSIVE = 'revolutionary_offensive'
- FASCIST_REVANCHISM = 'fascist_revanchism'
- RUPTURE = 'rupture'
- PHASE_TRANSITION = 'phase_transition'
- ENDGAME_REACHED = 'endgame_reached'
- ENTITY_DEATH = 'entity_death'
- POPULATION_DEATH = 'population_death'
- POPULATION_ATTRITION = 'population_attrition'
- PERIPHERAL_REVOLT = 'peripheral_revolt'
- SUPERWAGE_CRISIS = 'superwage_crisis'
- CLASS_DECOMPOSITION = 'class_decomposition'
- CONTROL_RATIO_CRISIS = 'control_ratio_crisis'
- TERMINAL_DECISION = 'terminal_decision'
- CRISIS_PHASE_TRANSITION = 'crisis_phase_transition'
- DISPOSSESSION_CASCADE = 'dispossession_cascade'
- BIFURCATION_THRESHOLD = 'bifurcation_threshold'
- EDGE_MODE_TRANSITION = 'edge_mode_transition'
- PRINCIPAL_CONTRADICTION_SHIFT = 'principal_contradiction_shift'
- LEVEL_TRANSITION = 'level_transition'
- CO_OPTIVE_BREAKDOWN = 'co_optive_breakdown'
- LATENT_CONTRADICTION_RELEASE = 'latent_contradiction_release'
- ASPECT_REVERSAL = 'aspect_reversal'
- RESERVE_ARMY_PRESSURE = 'reserve_army_pressure'
- DISPOSSESSION_EVENT = 'dispossession_event'
- VALUE_TRANSFER = 'value_transfer'
- EXPLOITATION_MODE_SHIFT = 'exploitation_mode_shift'
- LIFECYCLE_TRANSITION = 'lifecycle_transition'
- LEGITIMATION_CRISIS = 'legitimation_crisis'
- LEGITIMATION_RECOVERY = 'legitimation_recovery'
- INHERITANCE_TRANSFER = 'inheritance_transfer'
- DUAL_CIRCUIT_INTERFERENCE = 'dual_circuit_interference'
- ORGANIZATIONAL_ACTION = 'organizational_action'
- STATE_REPRESSION = 'state_repression'
- STATE_SURVEILLANCE = 'state_surveillance'
- CONSCIOUSNESS_SHIFT = 'consciousness_shift'
- INITIATIVE_CONTESTED = 'initiative_contested'
- INFRASTRUCTURE_CHANGE = 'infrastructure_change'
- BIFURCATION_TENDENCY_CHANGE = 'bifurcation_tendency_change'
- CALIBRATION_DISAGREEMENT = 'calibration_disagreement'
- STATE_ACTION_EXECUTED = 'state_action_executed'
- FASCIST_CONVERGENCE = 'fascist_convergence'
- FACTION_SHIFT = 'faction_shift'
- THREAD_ESCALATION = 'thread_escalation'
- LEGAL_FRAMEWORK_ENACTED = 'legal_framework_enacted'
- LEGAL_FRAMEWORK_REVOKED = 'legal_framework_revoked'
- INSTITUTION_FACTION_SHIFT = 'institution_faction_shift'
- INSTITUTION_REPRODUCTION = 'institution_reproduction'
- INSTITUTION_BONAPARTIST_MODE = 'institution_bonapartist_mode'
- CALIBRATION_AXIOM_VIOLATION = 'calibration_warning.axiom_violation'
Periphery-wage source published a ratio < 1.0 (FR-002, Clarifications 2026-05-08).
- CALIBRATION_QCEW_CARRY_FORWARD = 'calibration_warning.qcew_carry_forward'
QCEW data missing for (county, year); employment shares carried forward (FR-004).
- CALIBRATION_PHI_HOUR_OUTLIER = 'calibration_warning.phi_hour_outlier'
Per-county phi_hour fell outside the LeontiefRentDefines plausibility bounds (FR-008).
- SOVEREIGN_COLLAPSE = 'sovereign_collapse'
- TERRITORY_TRANSITION = 'territory_transition'
- FACTION_VICTORY = 'faction_victory'
- SECESSION_DECLARED = 'secession_declared'
- CIVIL_WAR_DECLARED = 'civil_war_declared'
- RED_SETTLER_TRAP_DETECTED = 'red_settler_trap_detected'
- DUAL_POWER_ACTIVE = 'dual_power_active'
- RED_OGV_ENDGAME = 'red_ogv_endgame'
- FRAGMENTED_COLLAPSE_ENDGAME = 'fragmented_collapse_endgame'
- FASCIST_DRIFT = 'fascist_drift'
- FASCIST_RECRUITMENT = 'fascist_recruitment'
- ORGANIZATIONAL_FRACTURE = 'organizational_fracture'
- RED_BROWN_COUP = 'red_brown_coup'
- POGROM = 'pogrom'
- LOCKOUT = 'lockout'
- VIGILANTISM = 'vigilantism'
- SPONTANEOUS_RIOT = 'spontaneous_riot'
- class babylon.models.enums.events.GameOutcome(*values)[source]
Bases:
StrEnumPossible game ending outcomes (Slice 1.6: Endgame Detection).
The simulation can end in three ways, plus the ongoing state:
- Values:
IN_PROGRESS: Game is still ongoing (no endgame condition met yet).
- REVOLUTIONARY_VICTORY: The masses have won. Requires:
percolation_ratio >= 0.7 (70%+ in giant component)
average class_consciousness > 0.8 (ideological clarity)
- ECOLOGICAL_COLLAPSE: The planet has collapsed. Requires:
overshoot_ratio > 2.0 for 5 consecutive ticks
(Capital’s metabolic rift has become fatal)
- FASCIST_CONSOLIDATION: Fascism has won. Requires:
national_identity > class_consciousness for 3+ nodes
(False consciousness prevents class-based organization)
- Priority when multiple conditions are met:
REVOLUTIONARY_VICTORY > ECOLOGICAL_COLLAPSE > FASCIST_CONSOLIDATION
- IN_PROGRESS = 'in_progress'
- REVOLUTIONARY_VICTORY = 'revolutionary_victory'
- ECOLOGICAL_COLLAPSE = 'ecological_collapse'
- FASCIST_CONSOLIDATION = 'fascist_consolidation'
- RED_OGV = 'red_ogv'
- FRAGMENTED_COLLAPSE = 'fragmented_collapse'
- class babylon.models.enums.events.ResolutionType(*values)[source]
Bases:
StrEnumHow contradictions can resolve.
Based on dialectical materialism, contradictions resolve through one of three mechanisms. The resolution type determines what happens to the system after a contradiction reaches critical intensity.
- Values:
SYNTHESIS: Dialectical resolution - opposites unite at higher level RUPTURE: Revolutionary break - system undergoes fundamental change SUPPRESSION: Forced dormancy - contradiction remains but is contained
- SYNTHESIS = 'synthesis'
- RUPTURE = 'rupture'
- SUPPRESSION = 'suppression'