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

AccumulationDialectic(**data)

Concentration of capital ↔ reserve army expansion (V1 Ch25).

ConcentrationOfCapital(**data)

Concentration of capital via reinvestment of surplus (V1 Ch25§1).

ReserveArmyExpansion(**data)

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_contributed from ProductionDialectic. Receives colonial_extraction from PrimitiveAccumulationDialectic.

Parameters:
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 for occ.

  • world (WorldView) – Read-only world context.

Return type:

AccumulationDialectic

Returns:

New AccumulationDialectic with updated weight and tick.

observe()[source]

Project accumulation state for downstream consumption.

Emits reserve_army_pressure for WageDialectic and total_labor_pool for macro aggregation.

Return type:

dict[str, Any]

Returns:

Base observation + accumulation-specific fields.

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: BaseModel

Concentration 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: BaseModel

Industrial 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