babylon.config.defines.survival

Survival calculus (P(S|A), P(S|R)) and Agency-Layer struggle dynamics.

Spec 058: extracted from the historical babylon.config.defines monolith. Re-exported via babylon.config.defines.__init__; composed into GameDefines in babylon.config.defines._assembler.

Classes

AidDefines(**data)

AID verb coefficients.

BehavioralDefines(**data)

Behavioral economics coefficients.

StruggleDefines(**data)

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

SurvivalDefines(**data)

Survival calculus coefficients.

TensionDefines(**data)

Tension dynamics coefficients.

VitalityDefines(**data)

Mortality coefficients for Mass Line population dynamics.

class babylon.config.defines.survival.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)

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.survival.BehavioralDefines(**data)[source]

Bases: BaseModel

Behavioral economics coefficients.

Parameters:

loss_aversion_lambda (float)

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.survival.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:
  • 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)

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.survival.SurvivalDefines(**data)[source]

Bases: BaseModel

Survival calculus coefficients.

Parameters:
  • steepness_k (float)

  • default_subsistence (float)

  • default_organization (float)

  • default_repression (float)

  • revolution_threshold (float)

  • repression_base (float)

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.survival.TensionDefines(**data)[source]

Bases: BaseModel

Tension dynamics coefficients.

Parameters:
  • accumulation_rate (float)

  • aspect_flip_threshold (float)

  • antagonistic_intensity_threshold (float)

  • resolution_intensity_threshold (float)

  • rupture_gap_threshold (float)

  • principal_rate_weight (float)

  • regime_rate_epsilon (float)

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
rupture_gap_threshold: float
principal_rate_weight: float
regime_rate_epsilon: float
class babylon.config.defines.survival.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:
  • base_mortality_factor (float)

  • inequality_impact (float)

  • attrition_base_factor (float)

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