babylon.config.defines

Game defines for centralized coefficient configuration.

This module provides the GameDefines model which extracts hardcoded values from systems into a single, configurable location. This enables: 1. Easier calibration of game balance 2. Scenario-specific coefficient overrides 3. Clear documentation of magic numbers

Sprint: Paradox Refactor Phase 1

Classes

AidDefines(**data)

AID verb coefficients.

ArcGISDefines(**data)

ArcGIS organization and host configuration for external data sources.

BehavioralDefines(**data)

Behavioral economics coefficients.

BifurcationDefines(**data)

Bifurcation Topology Analysis coefficients (Feature 033).

CarceralDefines(**data)

Carceral equilibrium coefficients (Terminal Crisis Dynamics).

ClassDynamicsDefines(**data)

Class dynamics coefficients (FRED DFA-derived, Feature 016).

ClassSystemDefines(**data)

Unified class system coefficients (Feature 038).

CommunityDefines(**data)

Hypergraph community layer coefficients (Feature 022).

ConsciousnessDefines(**data)

Consciousness drift coefficients.

ContradictionFieldDefines(**data)

Contradiction field topology coefficients (Feature 002).

CrisisDefines(**data)

Crisis and Devaluation Mechanics coefficients (Feature 018).

DispossessionDefines(**data)

Dispossession event intensity weights (Feature 021, FR-004/FR-005).

EconomyDefines(**data)

Economic system coefficients.

EdgeTransitionDefines(**data)

Edge mode transition threshold values (Feature 002, FR-010).

EndgameDefines(**data)

Configuration for endgame detection thresholds (Slice 1.6).

ExternalDataDefines(**data)

External data source configuration.

GameDefines(**data)

Centralized game coefficients extracted from hardcoded values.

InfraTerrainDefines(**data)

Terrain classification and biocapacity coefficients (Feature 036).

InfrastructureDefines(**data)

Infrastructure capacity and internet operation coefficients (Feature 036).

InitialDefines(**data)

Initial condition coefficients.

InstitutionDefines(**data)

Institution Base Model coefficients (Feature 040).

LifecycleDefines(**data)

D-P-D' Lifecycle Circuit coefficients (Feature 030).

MetabolismDefines(**data)

Metabolic rift coefficients (Slice 1.4 - Ecological Limits).

MobilizeDefines(**data)

Configuration for MOBILIZE verb organizational actions.

MoveDefines(**data)

MOVE verb coefficients.

NegotiateDefines(**data)

NEGOTIATE verb coefficients.

OODADefines(**data)

OODA Loop System tunable coefficients (Feature 032).

OrganizationDefines(**data)

Organization system tunable coefficients (Feature 031).

PrecisionDefines(**data)

Numerical precision configuration for deterministic simulation.

RentCircuitDefines(**data)

Parameters for ground rent extraction in Volume III equalization (Feature 043).

ReserveArmyDefines(**data)

Reserve army of labor coefficients (Feature 021, FR-001/FR-002).

ServicesDefines(**data)

ArcGIS FeatureServer service names and layers.

SolidarityDefines(**data)

Solidarity and consciousness transmission coefficients.

StateApparatusAIDefines(**data)

State Apparatus AI coefficients (Feature 039).

StruggleDefines(**data)

Struggle dynamics coefficients (Agency Layer - "George Floyd" Dynamic).

SurvivalDefines(**data)

Survival calculus coefficients.

TensionDefines(**data)

Tension dynamics coefficients.

TerritoryDefines(**data)

Territory dynamics coefficients.

TimescaleDefines(**data)

Simulation timescale configuration for weekly ticks.

TopologyDefines(**data)

Phase transition coefficients for solidarity network analysis.

VitalityDefines(**data)

Mortality coefficients for Mass Line population dynamics.

WorkingDayDefines(**data)

Working day characterization thresholds (Feature 021, FR-007/FR-008).

class babylon.config.defines.CrisisDefines(**data)[source]

Bases: BaseModel

Crisis and Devaluation Mechanics coefficients (Feature 018).

Configures the multi-period crisis detector, phased amplification, bifurcation risk assessment, and wage compression mechanics.

See also

babylon.economics.tick.types: CrisisPhase, CrisisState specs/018-crisis-devaluation-mechanics/spec.md: FR-023

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

crisis_period_ticks: int
r_threshold: float
n_consecutive: int
m_recovery: int
r_cap: int
hysteresis_coefficient: float
wage_compression_rate: float
wage_compression_floor_ratio: float
bifurcation_solidarity_weight: float
bifurcation_burden_weight: float
class_burden_epsilon: float
bifurcation_event_threshold: float
dispossession_cascade_milestones: list[float]
stagnation_credit_growth: float
class babylon.config.defines.EconomyDefines(**data)[source]

Bases: BaseModel

Economic system coefficients.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

extraction_efficiency: float
comprador_cut: float
base_labor_power: float
super_wage_rate: float
superwage_multiplier: float
superwage_ppp_impact: float
initial_rent_pool: float
pool_high_threshold: float
pool_low_threshold: float
pool_critical_threshold: float
min_wage_rate: float
max_wage_rate: float
subsidy_conversion_rate: float
subsidy_trigger_threshold: float
shadow_wage_hourly: float
negligible_rent: float
negligible_subsidy: float
base_subsistence: float
death_threshold: float
trpf_coefficient: float
rent_pool_decay: float
bribery_wage_delta: float
austerity_wage_delta: float
iron_fist_repression_delta: float
crisis_wage_delta: float
crisis_repression_delta: float
bribery_tension_threshold: float
iron_fist_tension_threshold: float
trpf_efficiency_floor: float
class babylon.config.defines.SurvivalDefines(**data)[source]

Bases: BaseModel

Survival calculus coefficients.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

steepness_k: float
default_subsistence: float
default_organization: float
default_repression: float
revolution_threshold: float
repression_base: float
class babylon.config.defines.VitalityDefines(**data)[source]

Bases: BaseModel

Mortality coefficients for Mass Line population dynamics.

The Grinding Attrition Formula models probabilistic mortality based on intra-class inequality: - Even with sufficient average wealth, high inequality kills marginal workers - Deaths reduce population → per-capita wealth increases → equilibrium

Formula:

effective_wealth_per_capita = wealth / population marginal_wealth = effective_wealth_per_capita × (1 - inequality × inequality_impact) mortality_rate = max(0, (consumption_needs - marginal_wealth) / consumption_needs) deaths = floor(population × mortality_rate × base_mortality_factor)

Malthusian Correction: Population decline increases per-capita wealth, reducing future mortality rates and creating equilibrium dynamics.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

base_mortality_factor: float
inequality_impact: float
attrition_base_factor: float
class babylon.config.defines.SolidarityDefines(**data)[source]

Bases: BaseModel

Solidarity and consciousness transmission coefficients.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

scaling_factor: float
activation_threshold: float
mass_awakening_threshold: float
negligible_transmission: float
superwage_impact: float
class babylon.config.defines.BehavioralDefines(**data)[source]

Bases: BaseModel

Behavioral economics coefficients.

Parameters:

loss_aversion_lambda (Annotated[float, Gt(gt=0)])

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

loss_aversion_lambda: float
class babylon.config.defines.TensionDefines(**data)[source]

Bases: BaseModel

Tension dynamics coefficients.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

accumulation_rate: float
aspect_flip_threshold: float
antagonistic_intensity_threshold: float
resolution_intensity_threshold: float
class babylon.config.defines.ConsciousnessDefines(**data)[source]

Bases: BaseModel

Consciousness drift coefficients.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

sensitivity: float
decay_lambda: float
routing_scale: float
agitation_decay_rate: float
exploitation_sensitivity: float
rent_decline_sensitivity: float
reproduction_visibility_coefficient: float
repression_backfire: float
rent_opacity_factor: float
agitation_consumption_rate: float
liberal_drift_rate: float
educate_base_effect: float
agitation_education_threshold: float
education_pressure_decay: float
class babylon.config.defines.TerritoryDefines(**data)[source]

Bases: BaseModel

Territory dynamics coefficients.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

heat_decay_rate: float
high_profile_heat_gain: float
eviction_heat_threshold: float
rent_spike_multiplier: float
displacement_rate: float
heat_spillover_rate: float
clarity_profile_coefficient: float
concentration_camp_decay_rate: float
displacement_priority_mode: str
elimination_rent_threshold: float
elimination_tension_threshold: float
containment_rent_threshold: float
containment_tension_threshold: float
class babylon.config.defines.TopologyDefines(**data)[source]

Bases: BaseModel

Phase transition coefficients for solidarity network analysis.

The topology system tracks phase transitions in class solidarity: - Gaseous: Atomized, no collective action capacity - Transitional: Solidarity building, weak ties forming - Liquid: Mass movement (percolation but low cadre density) - Solid: Vanguard party (percolation with high cadre density)

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

gaseous_threshold: float
condensation_threshold: float
vanguard_density_threshold: float
brittle_multiplier: float
solidarity_sympathizer_threshold: float
solidarity_cadre_threshold: float
resilience_removal_rate: float
resilience_survival_threshold: float
class babylon.config.defines.MetabolismDefines(**data)[source]

Bases: BaseModel

Metabolic rift coefficients (Slice 1.4 - Ecological Limits).

The Metabolism System tracks the widening rift between extraction and regeneration: - Biocapacity regeneration and depletion - ECOLOGICAL_OVERSHOOT event when consumption exceeds biocapacity

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

entropy_factor: float
overshoot_threshold: float
max_overshoot_ratio: float
class babylon.config.defines.StruggleDefines(**data)[source]

Bases: BaseModel

Struggle dynamics coefficients (Agency Layer - “George Floyd” Dynamic).

The Struggle System gives political agency to oppressed classes by modeling: - The Spark: State violence (EXCESSIVE_FORCE) triggers insurrection - The Combustion: Spark + High Agitation + Low P(S|A) = UPRISING - The Result: Uprisings destroy wealth but build solidarity infrastructure

George Jackson Bifurcation (Power Vacuum): When the Comprador becomes insolvent, a power vacuum occurs. The outcome depends on the Periphery Proletariat’s revolutionary capacity: - capacity >= jackson_threshold: Revolutionary Offensive - capacity < jackson_threshold: Fascist Revanchism

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

spark_probability_scale: float
resistance_threshold: float
wealth_destruction_rate: float
solidarity_gain_per_uprising: float
consciousness_solidarity_boost: float
jackson_threshold: float
revolutionary_agitation_boost: float
fascist_identity_boost: float
fascist_acquiescence_boost: float
class babylon.config.defines.AidDefines(**data)[source]

Bases: BaseModel

AID verb coefficients.

Parameters:
aid_efficiency: float
aid_cl_cost: float
aid_solidarity_increment: float
solidaristic_threshold: float
education_threshold_for_solidarity: float
agitation_relief_per_unit: float
economism_warning_threshold: float
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class babylon.config.defines.CarceralDefines(**data)[source]

Bases: BaseModel

Carceral equilibrium coefficients (Terminal Crisis Dynamics).

The carceral system models the transition from wage suppression to outright incarceration as the imperial rent pool exhausts:

  1. SUPERWAGE_CRISIS: Rent pool can’t sustain LA wages

  2. CLASS_DECOMPOSITION: LA splits into enforcers + prisoners

  3. CONTROL_RATIO_CRISIS: Prisoners exceed control capacity

  4. TERMINAL_DECISION: Revolution vs genocide based on organization

Real-world staffing ratios (sources: BJS, Marshall Project 2024): - 1:1 = Maximum control (Massachusetts, best-staffed) - 4:1 = US national jail average (2022) - 15:1 = Federal DOJ theoretical baseline - 200:1 = Crisis/collapse (Georgia, 2024)

With 70/30 decomposition, prisoner/enforcer = 2.33:1, so: - control_capacity <= 2: Crisis triggers immediately - control_capacity >= 3: No crisis (stable carceral state)

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

control_capacity: int
enforcer_fraction: float
proletariat_fraction: float
revolution_threshold: float
decomposition_delay: int
control_ratio_delay: int
terminal_decision_delay: int
class babylon.config.defines.EndgameDefines(**data)[source]

Bases: BaseModel

Configuration for endgame detection thresholds (Slice 1.6).

The EndgameDetector monitors WorldState for three possible game endings:

  1. REVOLUTIONARY_VICTORY: percolation >= threshold AND consciousness > threshold The masses have achieved critical organization AND ideological clarity.

  2. ECOLOGICAL_COLLAPSE: overshoot_ratio > threshold for N consecutive ticks Sustained ecological overshoot leads to irreversible collapse.

  3. FASCIST_CONSOLIDATION: national_identity > class_consciousness for M+ nodes Fascist ideology has captured the majority of the population.

Parameters:
  • revolutionary_percolation_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • revolutionary_consciousness_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • ecological_overshoot_threshold (Annotated[float, Gt(gt=0)])

  • ecological_sustained_ticks (Annotated[int, Ge(ge=1), Le(le=100)])

  • fascist_majority_threshold (Annotated[int, Ge(ge=1), Le(le=100)])

revolutionary_percolation_threshold

Minimum percolation ratio (0.7 = 70% of nodes in giant solidarity component) for revolutionary victory.

revolutionary_consciousness_threshold

Minimum average class consciousness (0.8 = 80% ideological clarity) for revolutionary victory.

ecological_overshoot_threshold

Consumption/biocapacity ratio above which ecological damage accumulates (2.0 = consuming 2x biocapacity).

ecological_sustained_ticks

Number of consecutive ticks overshoot must persist before triggering ECOLOGICAL_COLLAPSE (5 ticks).

fascist_majority_threshold

Minimum number of nodes where national_identity exceeds class_consciousness for FASCIST_CONSOLIDATION (3 nodes).

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

revolutionary_percolation_threshold: float
revolutionary_consciousness_threshold: float
ecological_overshoot_threshold: float
ecological_sustained_ticks: int
fascist_majority_threshold: int
class babylon.config.defines.InitialDefines(**data)[source]

Bases: BaseModel

Initial condition coefficients.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

worker_wealth: float
owner_wealth: float
default_population: int
class babylon.config.defines.PrecisionDefines(**data)[source]

Bases: BaseModel

Numerical precision configuration for deterministic simulation.

Epoch 0 Physics Hardening: - All floating-point values snap to a 10^-n grid (default n=6) - This prevents drift accumulation over long simulations (100+ years) - ROUND_HALF_UP ensures deterministic cross-platform behavior

The Gatekeeper Pattern: Quantization is applied at TYPE level (Pydantic AfterValidator), NOT inside formulas.

Note: Increased from 5 to 6 decimal places for 100-year (5200 tick) Carceral Equilibrium simulations to reduce cumulative rounding errors.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

decimal_places: int
rounding_mode: str
epsilon: float
comparison_epsilon: float
class babylon.config.defines.ArcGISDefines(**data)[source]

Bases: BaseModel

ArcGIS organization and host configuration for external data sources.

Different federal agencies host HIFLD and infrastructure data on various ArcGIS organizations. This configuration centralizes the organization IDs and hosts to allow easy updates when services migrate.

Current organization mapping (as of 2024): - FEMA RAPT: Prison Boundaries, Law Enforcement (services.arcgis.com) - Esri US Federal: MIRTA Military Installations (services2.arcgis.com) - HIFLD Legacy: Some services still work (services1.arcgis.com)

Parameters:
  • fema_rapt_org (str)

  • fema_rapt_host (str)

  • esri_federal_org (str)

  • esri_federal_host (str)

  • hifld_legacy_org (str)

  • hifld_legacy_host (str)

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

fema_rapt_org: str
fema_rapt_host: str
esri_federal_org: str
esri_federal_host: str
hifld_legacy_org: str
hifld_legacy_host: str
class babylon.config.defines.ServicesDefines(**data)[source]

Bases: BaseModel

ArcGIS FeatureServer service names and layers.

Service names can be overridden for testing or alternative data sources. Layer numbers are important as some services (like Prison_Boundaries) have data on non-default layers.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

prison_boundaries: str
prison_boundaries_layer: int
law_enforcement: str
law_enforcement_layer: int
mirta_polygons: str
mirta_layer: int
electric_transmission: str
electric_transmission_layer: int
class babylon.config.defines.ExternalDataDefines(**data)[source]

Bases: BaseModel

External data source configuration.

Centralizes ArcGIS organization IDs, hosts, and service names for HIFLD and related infrastructure data sources. This enables: 1. Easy updates when services migrate between organizations 2. Testing with alternative data sources 3. Clear documentation of data source provenance

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

arcgis: ArcGISDefines
services: ServicesDefines
build_service_url(host, org, service, layer=0)[source]

Build a complete ArcGIS FeatureServer URL.

Parameters:
  • host (str) – ArcGIS host domain (e.g., “services.arcgis.com”)

  • org (str) – Organization ID (e.g., “XG15cJAlne2vxtgt”)

  • service (str) – Service name (e.g., “Prison_Boundaries_RAPT”)

  • layer (int) – Layer number (default 0)

Return type:

str

Returns:

Complete FeatureServer URL

prison_boundaries_url()[source]

Get the Prison Boundaries FeatureServer URL.

Return type:

str

law_enforcement_url()[source]

Get the Law Enforcement Locations FeatureServer URL.

Return type:

str

mirta_url()[source]

Get the MIRTA Military Installations FeatureServer URL.

Return type:

str

electric_transmission_url()[source]

Get the Electric Transmission Lines FeatureServer URL.

Return type:

str

class babylon.config.defines.TimescaleDefines(**data)[source]

Bases: BaseModel

Simulation timescale configuration for weekly ticks.

Epoch 0 Physics Hardening: - 1 tick = 7 days (weekly resolution) - 52 weeks = 1 year (for annual rate conversions)

This is critical for: - Economic flow rates (annual -> per-tick conversion) - Historical pacing (events per game year) - UI display (showing dates/weeks)

All annual rates (wage_rate, extraction_efficiency) are divided by weeks_per_year to get per-tick rates.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

tick_duration_days: int
weeks_per_year: int
property ticks_per_year: int

Number of ticks per simulation year.

Since 1 tick = 1 week, this equals weeks_per_year.

property days_per_year: int

Days per simulation year (ticks * days_per_tick).

With defaults: 7 * 52 = 364 days (close to actual 365-366).

class babylon.config.defines.ContradictionFieldDefines(**data)[source]

Bases: BaseModel

Contradiction field topology coefficients (Feature 002).

Configures normalization bounds, history window depth, and transition thresholds for the dialectical field topology systems.

See also

specs/002-dialectical-field-topology/spec.md: FR-001 through FR-019

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

field_min: float
field_max: float
history_window: int
curvature_alpha: float
co_optive_suppression_rate: float
latent_release_multiplier: float
default_transition_priority: int
class babylon.config.defines.ReserveArmyDefines(**data)[source]

Bases: BaseModel

Reserve army of labor coefficients (Feature 021, FR-001/FR-002).

Configures the bounded sigmoid that maps reserve_ratio to wage pressure. Higher reserve ratios produce stronger downward pressure on wages.

See also

specs/021-capital-volume-i/spec.md: FR-001, FR-002, FR-003

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

sigmoid_k: float
sigmoid_r0: float
wage_pressure_ceiling: float
min_employed_fraction: float
class babylon.config.defines.DispossessionDefines(**data)[source]

Bases: BaseModel

Dispossession event intensity weights (Feature 021, FR-004/FR-005).

Configures the relative weight of each dispossession type when computing aggregate territory-level dispossession intensity.

See also

specs/021-capital-volume-i/spec.md: FR-004, FR-005, FR-006

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

weight_foreclosure: float
weight_eviction: float
weight_displacement: float
weight_tax_sale: float
weight_eminent_domain: float
weight_wage_theft: float
weight_incarceration_seizure: float
weight_pension_default: float
deadweight_loss_fraction: float
transfer_scale: float
class babylon.config.defines.WorkingDayDefines(**data)[source]

Bases: BaseModel

Working day characterization thresholds (Feature 021, FR-007/FR-008).

Configures the threshold values for classifying territory-sector pairs by their dominant mode of surplus value extraction.

See also

specs/021-capital-volume-i/spec.md: FR-007, FR-008, FR-011

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

absolute_hours_threshold: float
relative_hours_threshold: float
intensity_threshold_high: float
intensity_threshold_low: float
absolute_visibility: float
relative_visibility: float
class babylon.config.defines.CommunityDefines(**data)[source]

Bases: BaseModel

Hypergraph community layer coefficients (Feature 022).

Controls alpha-smoothing decay rates for community state, solidarity potential computation bonuses and penalties, and infrastructure maintenance parameters.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

heat_decay_alpha: float
cohesion_decay_alpha: float
infrastructure_decay_alpha: float
community_overlap_bonus: float
rent_differential_penalty: float
core_organizer_maintenance_factor: float
class babylon.config.defines.ClassDynamicsDefines(**data)[source]

Bases: BaseModel

Class dynamics coefficients (FRED DFA-derived, Feature 016).

Parameters fitted to FRED Distributional Financial Accounts (2015-2025) for class wealth flow dynamics.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

alpha_21: float
gamma_3: float
equilibrium_w1: float
equilibrium_w2: float
equilibrium_w3: float
equilibrium_w4: float
alpha_41: float
alpha_31: float
alpha_32: float
alpha_42: float
alpha_43: float
delta_1: float
delta_2: float
delta_3: float
beta_1: float
beta_2: float
beta_3: float
beta_4: float
omega_1: float
omega_2: float
omega_3: float
omega_4: float
class babylon.config.defines.LifecycleDefines(**data)[source]

Bases: BaseModel

D-P-D’ Lifecycle Circuit coefficients (Feature 030).

36 tunable parameters for intergenerational class reproduction. All defaults have documented provenance (CDC, Census, Chetty, etc.).

The legitimation weight ranking is a design invariant reflecting authorial political judgment; individual values are tunable but the ordinal ranking is not.

See also

specs/030-dpd-lifecycle-circuit/data-model.md: Full provenance table.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

birth_rate: float
rate_d_to_p: float
rate_p_to_d_prime: float
rate_d_prime_to_death: float
initial_pop_d_frac: float
initial_pop_p_frac: float
initial_pop_d_prime_frac: float
pension_coverage_rate: float
home_ownership_rate: float
ss_replacement_rate: float
healthcare_security: float
retirement_confidence: float
legit_w_home_ownership: float
legit_w_healthcare_security: float
legit_w_retirement_confidence: float
legit_w_pension_coverage: float
legit_w_ss_replacement: float
legitimation_blend_weight: float
legitimation_crisis_threshold: float
legitimation_unstable_threshold: float
pareto_alpha: float
care_cost_fraction: float
mobility_base_rate: float
mobility_base_rate_p75: float
mobility_racial_gap: float
carceral_transition_modifier: float
early_mortality_modifier: float
baseline_gini: float
poverty_share: float
employment_rate: float
single_parent_fraction: float
college_rate: float
ideology_caregiver_weight: float
ideology_institutional_weight: float
ideology_regression_coefficient: float
sandwich_squeeze_threshold: float
class babylon.config.defines.OrganizationDefines(**data)[source]

Bases: BaseModel

Organization system tunable coefficients (Feature 031).

14 parameters controlling consciousness effects, intelligence methodology ceilings, cohesion mechanics, credibility defaults, and capacity factors.

See also

specs/031-organization-base-model/data-model.md: Full provenance table.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

elder_capacity_factor: float
tendency_modifier_revolutionary: float
tendency_modifier_liberal: float
tendency_modifier_fascist: float
observation_ceiling_local_pd: float
observation_ceiling_fusion: float
observation_ceiling_fbi: float
cohesion_loss_per_key_figure: float
min_cohesion_threshold: float
credibility_default_faction: float
credibility_sovereign: float
credibility_chartered: float
credibility_default_state: float
violence_capacity_default: float
surveillance_capacity_default: float
class babylon.config.defines.EdgeTransitionDefines(**data)[source]

Bases: BaseModel

Edge mode transition threshold values (Feature 002, FR-010).

Configures the threshold values used in predicate conditions that determine when edges transition between modes (EXTRACTIVE, TRANSACTIONAL, CO-OPTIVE, etc.).

Parameters:
  • extraction_contested_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • extraction_broken_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • concessions_exploitation_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • concessions_rent_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • mutual_aid_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • market_failure_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • power_asymmetry_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • co_optive_power_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • solidarity_degrades_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • betrayal_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • conflict_resolved_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • shared_enemy_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • reform_rent_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • co_optation_normalizes_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • co_optive_breakdown_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

  • concessions_withdrawn_threshold (Annotated[float, Ge(ge=0.0), Le(le=10.0)])

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

extraction_contested_threshold: float
extraction_broken_threshold: float
concessions_exploitation_threshold: float
concessions_rent_threshold: float
mutual_aid_threshold: float
market_failure_threshold: float
power_asymmetry_threshold: float
co_optive_power_threshold: float
solidarity_degrades_threshold: float
betrayal_threshold: float
conflict_resolved_threshold: float
shared_enemy_threshold: float
reform_rent_threshold: float
co_optation_normalizes_threshold: float
co_optive_breakdown_threshold: float
concessions_withdrawn_threshold: float
class babylon.config.defines.OODADefines(**data)[source]

Bases: BaseModel

OODA Loop System tunable coefficients (Feature 032).

Controls cycle time computation, initiative scoring, action costs, consciousness effect multipliers, and propagation parameters.

See also

specs/032-ooda-loop-system/data-model.md: Full specification.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

base_observe_time: float
latency_weight: float
base_orient_time: float
coherence_weight: float
base_act_time: float
coord_weight: float
depth_weight: float
decision_mode_base_autocratic: float
decision_mode_base_delegate: float
decision_mode_base_democratic: float
decision_mode_base_consensus: float
initiative_weight_speed: float
initiative_weight_institutional: float
initiative_weight_counterintel: float
initiative_weight_embeddedness: float
initiative_weight_momentum: float
institutional_bonus_federal: float
institutional_bonus_state: float
institutional_bonus_local: float
institutional_bonus_nonstate: float
momentum_decay: float
momentum_success_bonus: float
embeddedness_discount: float
contradiction_cost_multiplier: float
outsider_cost_multiplier: float
min_cost_modifier: float
max_ci_delta_per_tick: float
action_base_educate: float
action_base_agitate: float
action_base_provide_service: float
action_base_recruit: float
action_base_organize: float
action_base_propagandize: float
action_base_repress: float
action_base_surveil: float
action_base_assimilate: float
autonomy_effectiveness_scale: float
agitation_contestation_delta: float
agitation_educate_bonus: float
contestation_threshold: float
elder_legitimacy_multiplier: float
counter_intel_increment: float
base_cost_recruit: int
base_cost_organize: int
base_cost_educate: int
base_cost_agitate: int
base_cost_propagandize: int
base_cost_fundraise: int
base_cost_provide_service: int
base_cost_employ: int
base_cost_repress: int
base_cost_protest: int
base_cost_strike: int
base_cost_expropriate: int
base_cost_surveil: int
base_cost_infiltrate: int
base_cost_counter_intel: int
base_cost_map_network: int
base_cost_propose_alliance: int
base_cost_denounce: int
base_cost_build_infrastructure: int
base_cost_attack_infrastructure: int
base_cost_assimilate: int
repress_heat_delta: float
surveil_heat_delta: float
build_infrastructure_delta: float
attack_infrastructure_delta: float
orient_time_floor: float
validate_derivations(game_defines)[source]

Cross-validate OODA coefficients against source primitives.

Checks that derived coefficients (Categories A and B) still match their source primitive formulas. Returns a list of drift warnings for any mismatches exceeding tolerance (0.001).

Parameters:

game_defines (GameDefines) – Parent GameDefines providing source primitives.

Return type:

list[str]

Returns:

List of warning messages for any detected drift. Empty if clean.

get_base_cost(action_type)[source]

Look up base AP cost for an action type.

Parameters:

action_type (str) – ActionType value string.

Return type:

int

Returns:

Base AP cost for the action.

Raises:

KeyError – If action_type is not recognized.

get_action_base(action_type)[source]

Look up consciousness base multiplier for an action type.

Parameters:

action_type (str) – ActionType value string.

Return type:

float

Returns:

Consciousness base multiplier (0.0 means no CI effect).

class babylon.config.defines.BifurcationDefines(**data)[source]

Bases: BaseModel

Bifurcation Topology Analysis coefficients (Feature 033).

Configures consciousness-weighted solidarity analysis that predicts whether crisis routes to fascism or revolution. The core innovation: a nonlinear sigmoid of collective_identity weights solidarity edges so assimilationist solidarity classifies as fragile/fascist.

See also

babylon.bifurcation.consciousness: Sigmoid weighting. babylon.bifurcation.analysis: Full bifurcation orchestrator. specs/033-bifurcation-topology/spec.md: Feature specification.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

consciousness_sigmoid_midpoint: float
consciousness_sigmoid_steepness: float
consciousness_filter_threshold: float
indeterminate_dead_zone: float
axis_tendency_epsilon: float
legitimation_amplifier_scale: float
wage_ceiling_high_ratio: float
wage_ceiling_low_ratio: float
wage_ceiling_min: float
wage_ceiling_max: float
shared_exploitation_bonus: float
purge_removal_rate: float
class babylon.config.defines.InfraTerrainDefines(**data)[source]

Bases: BaseModel

Terrain classification and biocapacity coefficients (Feature 036).

Configures majority-coverage thresholds, initial biocapacity stock values, and per-tick depletion rates. Also includes internet access defaults.

See also

babylon.infrastructure.terrain: DefaultTerrainClassifier. specs/036-infrastructure-topology/spec.md: FR-001 through FR-008.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

majority_coverage_threshold: float
initial_freshwater: float
initial_fishery: float
initial_shipping_access: float
initial_mineral: float
initial_timber: float
initial_hydroelectric: float
depletion_freshwater: float
depletion_fishery: float
depletion_shipping_access: float
depletion_mineral: float
depletion_timber: float
depletion_hydroelectric: float
internet_access_threshold: float
default_surveillance_coupling: float
get_initial_stock(stock_type)[source]

Get initial biocapacity stock value by type.

Parameters:

stock_type (str) – BiocapacityType value (lowercase).

Return type:

float

Returns:

Initial stock value.

Raises:

ValueError – If stock_type is not recognized.

get_depletion_rate(stock_type)[source]

Get per-tick depletion rate by stock type.

Parameters:

stock_type (str) – BiocapacityType value (lowercase).

Return type:

float

Returns:

Depletion rate per tick.

Raises:

ValueError – If stock_type is not recognized.

class babylon.config.defines.InfrastructureDefines(**data)[source]

Bases: BaseModel

Infrastructure capacity and internet operation coefficients (Feature 036).

Configures per-type capacity values, natural capacity defaults, OPSEC tradeoff ratios, and internet throttle fractions.

See also

babylon.infrastructure.capacity: DefaultEdgeCapacityCalculator. specs/036-infrastructure-topology/spec.md: FR-009 through FR-029.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

highway_freight: float
highway_commuter: float
highway_value: float
highway_consciousness: float
arterial_freight: float
arterial_commuter: float
arterial_value: float
arterial_consciousness: float
local_road_freight: float
local_road_commuter: float
local_road_value: float
local_road_consciousness: float
rail_freight: float
rail_commuter: float
rail_value: float
rail_consciousness: float
pipeline_energy: float
transmission_energy: float
shipping_lane_freight: float
natural_capacity_coefficient: float
minimum_capacity_threshold: float
opsec_tradeoff_ratio: float
throttle_throughput_fraction: float
snap_buffer_fraction: float
local_ratio_threshold: float
semi_local_ratio_threshold: float
get_capacity(infra_type, flow_category)[source]

Get base capacity for an infrastructure type and flow category.

Parameters:
  • infra_type (str) – InfrastructureType value (lowercase).

  • flow_category (str) – FlowCategory value (lowercase).

Return type:

float

Returns:

Base capacity value, or 0.0 if combination not applicable.

class babylon.config.defines.RentCircuitDefines(**data)[source]

Bases: BaseModel

Parameters for ground rent extraction in Volume III equalization (Feature 043).

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

absolute_rent_fraction: float
differential_rent_elasticity: float
class babylon.config.defines.ClassSystemDefines(**data)[source]

Bases: BaseModel

Unified class system coefficients (Feature 038).

Centralizes all tunable coefficients for the unified class system: filtration parameters, home ownership proxy, and the 5x5 class-pair solidarity matrix.

Parameters:
  • trust_land_discount (Annotated[float, Ge(ge=0.0), Le(le=1.0)]) – Fed SCF / BIA discount on effective wealth for FIRST_NATIONS trust land property. 0.5 = 50% reduction.

  • documentation_exclusion_factor (Annotated[float, Ge(ge=0.0), Le(le=1.0)]) – Discount on effective wealth for UNDOCUMENTED households. 0.6 = 40% reduction.

  • equity_factor (Annotated[float, Ge(ge=0.0), Le(le=1.0)]) – Fraction of homeowners with meaningful equity. Calibrated: 65% ownership * 0.6 = 39% ~ 40% LA share.

  • base_class_solidarity (dict[str, dict[str, float]]) – Symmetric 5x5 class-pair base solidarity matrix (15 unique values in upper triangle including diagonal).

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

trust_land_discount: float
documentation_exclusion_factor: float
equity_factor: float
base_class_solidarity: dict[str, dict[str, float]]
get_base_solidarity(class_a, class_b)[source]

Symmetric lookup into the class-pair solidarity matrix.

Parameters:
  • class_a (str) – ClassPosition name (e.g. “PROLETARIAT”).

  • class_b (str) – ClassPosition name (e.g. “LABOR_ARISTOCRACY”).

Return type:

float

Returns:

Base solidarity value, or 0.0 for unknown pairs.

class babylon.config.defines.StateApparatusAIDefines(**data)[source]

Bases: BaseModel

State Apparatus AI coefficients (Feature 039).

Configures the state-as-adversary system: faction dynamics, fascist convergence detection, attention thread management, budget allocation, escalation ladder, and territory effect parameters.

All thresholds are [S] SYNTHETIC unless otherwise noted.

See also

specs/039-state-apparatus-ai/spec.md: Full specification.

Parameters:
  • max_faction_shift_per_tick (Annotated[float, Ge(ge=0.0), Le(le=0.2)])

  • minimum_effect_floor (Annotated[float, Ge(ge=0.0), Le(le=0.1)])

  • heat_to_ss_coefficient (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • fascist_security_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • fascist_settler_ci_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • fascist_finance_ceiling (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • convergence_confirmation_ticks (Annotated[int, Ge(ge=1), Le(le=10)])

  • reversion_ss_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • reversion_ci_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • thread_pool_base (Annotated[int, Ge(ge=1), Le(le=50)])

  • thread_pool_max (Annotated[int, Ge(ge=1), Le(le=100)])

  • thread_escalation_thresholds (dict[str, float])

  • detroit_2010_annual_budget (Annotated[float, Ge(ge=0)])

  • actions_per_tick (Annotated[int, Ge(ge=1), Le(le=10)])

  • escalation_ladder (list[str])

  • develop_infrastructure_boost (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • neglect_infrastructure_decay (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • displace_population_fraction (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • neglect_quality_floor (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • consciousness_resistance_factor (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • high_profile_heat_rate (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • low_profile_heat_rate (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • heat_escalation_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • scorched_earth_legitimacy_core (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • scorched_earth_legitimacy_periphery (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • strategic_withdrawal_decay_multiplier (Annotated[float, Ge(ge=1.0), Le(le=10.0)])

  • strategic_withdrawal_asset_recovery (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • displace_ci_reduction (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • displace_community_infra_reduction (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • heat_decay_rate (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • recruit_no_presence_penalty (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • eviction_scatter_ci_loss (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • propagandize_base_delta (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • incorporate_base_attractiveness (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • bribe_consciousness_shift (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • bribe_liberal_increase (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • divide_requires_prior_surveil (bool)

  • incorporate_requires_prior_surveil (bool)

  • fund_capacity_increment (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • staff_thread_cost (Annotated[float, Ge(ge=0.0), Le(le=50.0)])

  • staff_max_per_tick (Annotated[int, Ge(ge=1), Le(le=10)])

  • audit_routine_detection_chance (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • audit_thorough_detection_chance (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • audit_deep_detection_chance (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • infiltrate_informant_intel_rate (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • infiltrate_provocateur_intel_rate (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • infiltrate_mole_intel_rate (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • infiltrate_detection_base_chance (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • raid_ci_radicalization_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • raid_ci_radicalization_boost (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • raid_ci_suppression_rate (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • raid_org_coherence_damage (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • raid_key_figure_capture_base (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • raid_force_multiplier_swat (Annotated[float, Ge(ge=1.0), Le(le=5.0)])

  • raid_force_multiplier_military (Annotated[float, Ge(ge=1.0), Le(le=10.0)])

  • prosecute_org_morale_damage (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • prosecute_key_figure_removal_chance (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • prosecute_terrorism_charge_multiplier (Annotated[float, Ge(ge=1.0), Le(le=5.0)])

  • prosecute_legitimacy_boost_success (Annotated[float, Ge(ge=0.0), Le(le=0.1)])

  • liquidate_singleton_collapse_chance (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • liquidate_core_legitimacy_cost (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • liquidate_periphery_legitimacy_cost (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • liquidate_deniability_threshold (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • liquidate_coherence_damage (Annotated[float, Ge(ge=0.0), Le(le=1.0)])

  • emergency_powers_thread_multiplier (Annotated[float, Ge(ge=1.0), Le(le=5.0)])

  • emergency_powers_liquidate_in_core (bool)

  • surveillance_expansion_intel_bonus (Annotated[float, Ge(ge=0), Le(le=0.5)])

  • god_mode_enabled (bool)

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

max_faction_shift_per_tick: float
minimum_effect_floor: float
heat_to_ss_coefficient: float
fascist_security_threshold: float
fascist_settler_ci_threshold: float
fascist_finance_ceiling: float
convergence_confirmation_ticks: int
reversion_ss_threshold: float
reversion_ci_threshold: float
thread_pool_base: int
thread_pool_max: int
thread_escalation_thresholds: dict[str, float]
detroit_2010_annual_budget: float
actions_per_tick: int
escalation_ladder: list[str]
develop_infrastructure_boost: float
neglect_infrastructure_decay: float
displace_population_fraction: float
neglect_quality_floor: float
consciousness_resistance_factor: float
high_profile_heat_rate: float
low_profile_heat_rate: float
heat_escalation_threshold: float
scorched_earth_legitimacy_core: float
scorched_earth_legitimacy_periphery: float
strategic_withdrawal_decay_multiplier: float
strategic_withdrawal_asset_recovery: float
displace_ci_reduction: float
displace_community_infra_reduction: float
heat_decay_rate: float
recruit_no_presence_penalty: float
eviction_scatter_ci_loss: float
propagandize_base_delta: float
incorporate_base_attractiveness: float
bribe_consciousness_shift: float
bribe_liberal_increase: float
divide_requires_prior_surveil: bool
incorporate_requires_prior_surveil: bool
fund_capacity_increment: float
staff_thread_cost: float
staff_max_per_tick: int
audit_routine_detection_chance: float
audit_thorough_detection_chance: float
audit_deep_detection_chance: float
infiltrate_informant_intel_rate: float
infiltrate_provocateur_intel_rate: float
infiltrate_mole_intel_rate: float
infiltrate_detection_base_chance: float
raid_ci_radicalization_threshold: float
raid_ci_radicalization_boost: float
raid_ci_suppression_rate: float
raid_org_coherence_damage: float
raid_key_figure_capture_base: float
raid_force_multiplier_swat: float
raid_force_multiplier_military: float
prosecute_org_morale_damage: float
prosecute_key_figure_removal_chance: float
prosecute_terrorism_charge_multiplier: float
prosecute_legitimacy_boost_success: float
liquidate_singleton_collapse_chance: float
liquidate_core_legitimacy_cost: float
liquidate_periphery_legitimacy_cost: float
liquidate_deniability_threshold: float
liquidate_coherence_damage: float
emergency_powers_thread_multiplier: float
emergency_powers_liquidate_in_core: bool
surveillance_expansion_intel_bonus: float
god_mode_enabled: bool
class babylon.config.defines.InstitutionDefines(**data)[source]

Bases: BaseModel

Institution Base Model coefficients (Feature 040).

Configures factional balance dynamics, Bonapartist threshold detection, and default structural selectivity modifiers per apparatus type.

All thresholds are [S] SYNTHETIC unless otherwise noted.

See also

specs/040-institution-base-model/spec.md: Full specification.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

alpha_smoothing_rate: float
bonapartist_threshold: float
bonapartist_exclusion_threshold: float
default_action_modifiers: dict[str, dict[str, float]]
class babylon.config.defines.MobilizeDefines(**data)[source]

Bases: BaseModel

Configuration for MOBILIZE verb organizational actions.

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

mobilize_cl_cost: float
min_consciousness: float
turnout_per_sl: float
solidarity_amplification_per_edge: float
heat_generation_per_demonstrator: float
base_agitation_gain: float
strike_value_disruption_factor: float
max_demonstrators_before_backfire: int
backfire_heat_multiplier: float
backfire_agitation_gain: float
class babylon.config.defines.MoveDefines(**data)[source]

Bases: BaseModel

MOVE verb coefficients.

Parameters:
  • expand_presence_split (float)

  • minimum_reception (float)

  • relocation_withdrawal_ticks (int)

  • expansion_edge_strain (float)

  • evasion_base_probability (float)

  • reacquire_ticks (int)

  • distance_ap_surcharge (int)

expand_presence_split: float
minimum_reception: float
relocation_withdrawal_ticks: int
expansion_edge_strain: float
evasion_base_probability: float
reacquire_ticks: int
distance_ap_surcharge: int
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class babylon.config.defines.NegotiateDefines(**data)[source]

Bases: BaseModel

NEGOTIATE verb coefficients.

Parameters:
  • interest_weight (float)

  • leverage_weight (float)

  • institutional_leverage_weight (float)

  • negotiate_solidarity_increment (float)

  • betrayal_base_rate (float)

  • leverage_threshold_for_institutions (float)

interest_weight: float
leverage_weight: float
institutional_leverage_weight: float
negotiate_solidarity_increment: float
betrayal_base_rate: float
leverage_threshold_for_institutions: float
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class babylon.config.defines.GameDefines(**data)[source]

Bases: BaseModel

Centralized game coefficients extracted from hardcoded values.

GameDefines collects numerical constants that were previously scattered across system implementations. By centralizing them here, we can: - Document their purpose and valid ranges - Override them per-scenario for calibration - Test the sensitivity of outcomes to coefficient changes

The model is frozen (immutable) to ensure defines remain constant throughout a simulation run.

Structure follows the YAML file organization: - crisis: Crisis detection and devaluation mechanics (Feature 018) - economy: Imperial rent extraction and value flow - survival: P(S|A) and P(S|R) survival calculus - solidarity: Consciousness transmission - behavioral: Behavioral economics (loss aversion) - tension: Tension dynamics - consciousness: Consciousness drift - territory: Territory dynamics - topology: Phase transition thresholds (gaseous/liquid/solid) - metabolism: Metabolic rift (ecological limits) - struggle: Struggle dynamics (Agency Layer) - carceral: Carceral equilibrium (Terminal Crisis Dynamics) - endgame: Endgame detection thresholds - initial: Initial conditions - contradiction_field: Dialectical field topology (Feature 002) - reserve_army: Reserve army of labor coefficients (Feature 021) - dispossession: Dispossession event intensity weights (Feature 021) - working_day: Working day characterization thresholds (Feature 021) - community: Hypergraph community layer coefficients (Feature 022) - class_dynamics: Class wealth flow dynamics (Feature 016, FRED DFA-derived) - edge_transition: Edge mode transition thresholds (Feature 002) - organization: Organization system coefficients (Feature 031) - ooda: OODA loop system coefficients (Feature 032) - class_system: Unified class system coefficients (Feature 038) - bifurcation: Bifurcation topology analysis coefficients (Feature 033) - infra_terrain: Terrain classification and biocapacity coefficients (Feature 036) - infrastructure: Infrastructure capacity and internet coefficients (Feature 036)

Parameters:
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

crisis: CrisisDefines
mobilize: MobilizeDefines
economy: EconomyDefines
survival: SurvivalDefines
vitality: VitalityDefines
solidarity: SolidarityDefines
behavioral: BehavioralDefines
tension: TensionDefines
consciousness: ConsciousnessDefines
territory: TerritoryDefines
topology: TopologyDefines
metabolism: MetabolismDefines
struggle: StruggleDefines
carceral: CarceralDefines
endgame: EndgameDefines
initial: InitialDefines
precision: PrecisionDefines
timescale: TimescaleDefines
external_data: ExternalDataDefines
contradiction_field: ContradictionFieldDefines
reserve_army: ReserveArmyDefines
dispossession: DispossessionDefines
working_day: WorkingDayDefines
community: CommunityDefines
class_dynamics: ClassDynamicsDefines
edge_transition: EdgeTransitionDefines
lifecycle: LifecycleDefines
organization: OrganizationDefines
ooda: OODADefines
bifurcation: BifurcationDefines
infra_terrain: InfraTerrainDefines
infrastructure: InfrastructureDefines
rent_circuit: RentCircuitDefines
class_system: ClassSystemDefines
state_ai: StateApparatusAIDefines
institution: InstitutionDefines
move: MoveDefines
negotiate: NegotiateDefines
property SUPERWAGE_IMPACT: float

How much 1 unit of imperial extraction increases Core wealth.

property SOLIDARITY_SCALING: float

Multiplier for graph edge weights affecting Organization.

property REPRESSION_BASE: float

Base resistance to revolution in P(S|R) denominator.

property REVOLUTION_THRESHOLD: float

The tipping point for P(S|R) formula.

property DEFAULT_ORGANIZATION: float

Fallback organization value when not specified on entity.

property DEFAULT_REPRESSION_FACED: float

Fallback repression value when not specified on entity.

property DEFAULT_SUBSISTENCE: float

Fallback subsistence threshold when not specified on entity.

property NEGLIGIBLE_TRANSMISSION: float

Threshold below which transmissions are skipped as noise.

classmethod load_from_yaml(path)[source]

Load GameDefines from a YAML file.

Parameters:

path (str | Path) – Path to the YAML file (absolute or relative)

Return type:

GameDefines

Returns:

GameDefines instance populated from YAML

Raises:
  • FileNotFoundError – If the YAML file doesn’t exist

  • yaml.YAMLError – If the YAML is malformed

  • pydantic.ValidationError – If values fail validation

classmethod default_yaml_path()[source]

Return the default path to defines.yaml.

Return type:

Path

Returns:

Path to src/babylon/data/defines.yaml

classmethod load_default()[source]

Load GameDefines from the default YAML location.

Falls back to default values if file doesn’t exist.

Return type:

GameDefines

Returns:

GameDefines instance