babylon.engine.dialectics.rent
RentDialectic — Ground Rent extraction (V3 Ch37-47).
Three-category decomposition: agricultural, resource, urban.
See also
babylon.economics.rent: Ground rent extraction calculations.
Classes
|
Ground Rent extraction — Absolute ↔ Differential. |
|
Pole A for the Rent dialectic — three-category decomposition. |
- class babylon.engine.dialectics.rent.RentDialectic(**data)[source]
Bases:
Dialectic[RentPole, EmptyPole]Ground Rent extraction — Absolute ↔ Differential.
Pole A holds the three-category rent decomposition (agricultural, resource, urban) from
economics.rent.types.- Weight semantics:
< 0: Rent is a minor claims category (small rentier share). > 0: Rent dominates surplus distribution (rentier economy).
- Motion law:
Reads upstream
total_surplusto compute rentier share. Weight = 2 * (rent_share) - 1, clamped to [-1, 1].
- Parameters:
- type_tag: str
- step(inputs, world)[source]
Motion law T for rent dynamics.
- Parameters:
inputs (
TickInputs) – Upstream outputs. Looks fortotal_surplus.world (
WorldView) – Read-only world context.
- Return type:
- Returns:
New RentDialectic with updated weight.
- 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.rent.RentPole(**data)[source]
Bases:
BaseModelPole A for the Rent dialectic — three-category decomposition.
Reimplements the three-category rent aggregation from
economics.rent.types.RentExtraction. The formulatotal_rent = agri + resource + urbanis identical. This is intentional: the dialectic receives pre-aggregated county-level data and does not perform data-source lookups.See also
babylon.economics.rent.types.RentExtraction- Parameters:
- agricultural_rent
Rent from farming / rural land.
- resource_rent
Rent from extractive industries.
- urban_rent
Rent from urban / building-site monopoly.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- agricultural_rent: float
- resource_rent: float
- urban_rent: float