babylon.engine.dialectics.circulation

CirculationDialectic — Circuit of Capital (V2 Ch1-4).

Pole A holds the CircuitState tracking Money, Productive, and Commodity capital. Motion law feeds inputs through advance_circuit.

See also

babylon.economics.circulation.circuit: Pure circuit advancement. babylon.economics.circulation.types: CircuitState, TurnoverProfile. babylon.engine.dialectics.crises.RealizationCrisisDialectic

Classes

CirculationDialectic(**data)

Circuit of capital dialectic.

class babylon.engine.dialectics.circulation.CirculationDialectic(**data)[source]

Bases: Dialectic[CircuitState, EmptyPole]

Circuit of capital dialectic.

Pole A holds the CircuitState tracking Money, Productive, and Commodity capital. Motion law feeds inputs through advance_circuit.

Parameters:
type_tag: str
step(inputs, world)[source]

Motion law T for the circuit of capital.

Parameters:
  • inputs (TickInputs) – Upstream outputs with elapsed_days, surplus_value, and optional profile_dict.

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

Return type:

CirculationDialectic

Returns:

New CirculationDialectic with updated circuit state.

observe()[source]

Project circulation state for downstream dialectics.

Emits: - total_capital: M + P + C’ aggregate. - realized_money: money-capital = realized money from sales. - commodity_overhang: unsold commodity fraction.

Return type:

dict[str, Any]

Returns:

Base observation extended with circulation outputs.

sublate()[source]

Sublate to Realization Crisis if commodity overhang exceeds threshold.

Return type:

Dialectic[Any, Any] | None

Returns:

RealizationCrisisDialectic if overhanging, else None.

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