babylon.engine.dialectics.reproduction

ReproductionDialectic — Department I ↔ Department II (V2 Ch20-21).

Pole A handles Dept I (Means of Production). Pole B handles Dept II (Means of Consumption). Weight maps to the gap returned by check_simple_reproduction.

See also

babylon.economics.circulation.reproduction: Reproduction balance check. babylon.economics.tensor: DepartmentRow pole model. babylon.engine.dialectics.crises.DisproportionalityCrisisDialectic

Classes

ReproductionDialectic(**data)

Department I ↔ Department II contradiction.

class babylon.engine.dialectics.reproduction.ReproductionDialectic(**data)[source]

Bases: Dialectic[DepartmentRow, DepartmentRow]

Department I ↔ Department II contradiction.

Pole A handles Dept I (Means of Production). Pole B handles Dept II (Means of Consumption). Weight maps to the gap returned by check_simple_reproduction.

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

Motion law T for reproduction balance.

Parameters:
  • inputs (TickInputs) – Upstream outputs (currently unused — poles hold totals).

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

Return type:

ReproductionDialectic

Returns:

New ReproductionDialectic with updated weight.

sublate()[source]

Sublate to DisproportionalityCrisis when imbalance is extreme.

Return type:

Dialectic[Any, Any] | None

Returns:

DisproportionalityCrisisDialectic if |weight| >= 0.8, 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