babylon.engine.dialectics.accumulation
AccumulationDialectic — ConcentrationOfCapital ↔ ReserveArmyExpansion (V1 Ch23-25).
Ch25§1: “accumulation of capital is… accompanied by… a relatively redundant population of labourers.” Rising OCC displaces workers, while accumulation itself creates demand.
See also
babylon.engine.dialectics.base.Dialectic: Generic base class.
babylon.economics.reserve_army: Wage pressure calculations.
Classes
|
Concentration of capital ↔ reserve army expansion (V1 Ch25). |
|
Concentration of capital via reinvestment of surplus (V1 Ch25§1). |
|
Industrial reserve army produced by accumulation (V1 Ch25§3). |
- class babylon.engine.dialectics.accumulation.AccumulationDialectic(**data)[source]
Bases:
Dialectic[ConcentrationOfCapital, ReserveArmyExpansion]Concentration of capital ↔ reserve army expansion (V1 Ch25).
Ch25§1: “accumulation of capital is… accompanied by… a relatively redundant population of labourers.” Rising OCC displaces workers, while accumulation itself creates demand.
- Weight semantics:
- weight < 0 → concentration dominant (A): capital expanding,
absorbing labor (prosperity phase).
- weight > 0 → reserve army dominant (B): labor displacement,
rising unemployment (crisis phase).
- Morphism inputs:
Receives
rate_of_exploitation,occ,labor_hours_contributedfrom ProductionDialectic. Receivescolonial_extractionfrom PrimitiveAccumulationDialectic.
- Parameters:
id (UUID)
type_tag (str)
pole_a (ConcentrationOfCapital)
pole_b (ReserveArmyExpansion)
parent_id (UUID | None)
tick_created (int)
tick_updated (int)
- type_tag: str
- step(inputs, world)[source]
Motion law T for the accumulation contradiction.
Rising OCC from upstream Production shifts weight positive (toward reserve army expansion).
- Parameters:
inputs (
TickInputs) – Upstream outputs. Looks forocc.world (
WorldView) – Read-only world context.
- Return type:
- Returns:
New AccumulationDialectic with updated weight and tick.
- observe()[source]
Project accumulation state for downstream consumption.
Emits
reserve_army_pressurefor WageDialectic andtotal_labor_poolfor macro aggregation.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: UUID
- pole_a: A
- pole_b: B
- weight: float
- parent_id: UUID | None
- tick_created: int
- tick_updated: int
- class babylon.engine.dialectics.accumulation.ConcentrationOfCapital(**data)[source]
Bases:
BaseModelConcentration of capital via reinvestment of surplus (V1 Ch25§1).
Ch24: “Accumulate, accumulate! That is Moses and the prophets!”
- Parameters:
- total_capital
Total capital stock (c + v).
- reinvestment_rate
Fraction of surplus reinvested ∈ [0, 1].
- fixed_capital
Capital tied up in instruments/machinery.
- centralization_index
Degree of capital centralization ∈ [0, 1]. Distinct from concentration: centralization is merger and acquisition, concentration is growth from reinvestment.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- total_capital: float
- reinvestment_rate: float
- fixed_capital: float
- centralization_index: float
- class babylon.engine.dialectics.accumulation.ReserveArmyExpansion(**data)[source]
Bases:
BaseModelIndustrial reserve army produced by accumulation (V1 Ch25§3).
Ch25: “The greater the social wealth… the greater is the industrial reserve army… The more extensive, finally, the lazarus-layers… the greater is official pauperism.”
- Parameters:
- unemployed_fraction
Fraction of labor force unemployed ∈ [0, 1].
- wage_pressure
Downward pressure on wages from reserve army. Negative = tight market (upward pressure on wages).
- absorption_rate
Rate at which reserve army is absorbed.
- total_labor_pool
Total available labor-hours in the economy.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- unemployed_fraction: float
- wage_pressure: float
- absorption_rate: float
- total_labor_pool: float