babylon.models.config
Simulation configuration for the Babylon engine.
SimulationConfig holds all global coefficients and parameters used by the formulas in babylon.systems.formulas. This model provides: - Type-safe validation of all parameters - Sensible defaults matching ai-docs/game-loop-architecture.yaml - Immutability during simulation runs - JSON serialization for save/load
Sprint 3: Phase 2 game loop configuration.
Classes
|
Global configuration for the simulation engine. |
- class babylon.models.config.SimulationConfig(**data)[source]
Bases:
BaseModelGlobal configuration for the simulation engine.
All formula coefficients and world parameters are stored here. The config is immutable (frozen) to ensure determinism during simulation runs.
- Parameters:
extraction_efficiency (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
consciousness_sensitivity (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
tension_accumulation_rate (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
subsidy_conversion_rate (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
subsidy_trigger_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
solidarity_activation_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
mass_awakening_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
high_profile_heat_gain (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
eviction_heat_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
displacement_rate (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
heat_spillover_rate (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
clarity_profile_coefficient (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
pool_high_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
pool_low_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
pool_critical_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
superwage_ppp_impact (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
concentration_camp_decay_rate (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
displacement_priority_mode (DisplacementPriorityMode)
elimination_rent_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
elimination_tension_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
containment_rent_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
containment_tension_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])
- extraction_efficiency
Alpha (α) in imperial rent formula. Controls how efficiently the core extracts value from periphery. Range: [0, 1], Default: 0.8
- consciousness_sensitivity
k in consciousness drift formula. Controls how quickly consciousness responds to material conditions. Range: [0, 1], Default: 0.5
- subsistence_threshold
Poverty line for acquiescence calculation. Below this wealth level, survival through compliance becomes impossible. Range: [0, inf), Default: 0.3
- survival_steepness
Controls sigmoid sharpness in acquiescence probability. Higher values mean sharper transition around subsistence threshold. Range: (0, inf), Default: 10.0
- repression_level
State capacity for violence. Reduces revolution probability in P(S|R) = cohesion / repression. Range: [0, 1], Default: 0.5
- initial_worker_wealth
Starting wealth for periphery worker entities. Range: [0, inf), Default: 0.5
- initial_owner_wealth
Starting wealth for core owner entities. Range: [0, inf), Default: 0.5
- loss_aversion_lambda
Kahneman-Tversky loss aversion coefficient. Humans feel losses ~2.25x more strongly than equivalent gains. Range: (0, inf), Default: 2.25
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
displacement_priority_mode:
DisplacementPriorityMode