babylon.engine.dialectics.imperial

ImperialDialectic — Core ↔ Periphery (V3 Ch14 §V + MLM-TW).

The Fundamental Theorem of MLM-TW: Revolution in Core is impossible if W_c > V_c (wages > value produced). The difference is Imperial Rent (Phi).

Classes

CoreEconomy(**data)

Pole A for the Imperial dialectic — core / imperialist side.

ImperialDialectic(**data)

Core ↔ Periphery — the Fundamental Theorem of MLM-TW.

PeripheryEconomy(**data)

Pole B for the Imperial dialectic — periphery / exploited side.

class babylon.engine.dialectics.imperial.CoreEconomy(**data)[source]

Bases: BaseModel

Pole A for the Imperial dialectic — core / imperialist side.

Parameters:
core_wages

Wages paid to core workers (Wc).

value_produced

Value produced by core workers (Vc).

profit_rate

Core industrial profit rate.

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

core_wages: float
value_produced: float
profit_rate: float
class babylon.engine.dialectics.imperial.ImperialDialectic(**data)[source]

Bases: Dialectic[CoreEconomy, PeripheryEconomy]

Core ↔ Periphery — the Fundamental Theorem of MLM-TW.

Pole A is the imperialist core. Pole B is the exploited periphery. Imperial Rent Phi is now computed structurally from the production chain.

Weight semantics:

< 0: Core extracts freely (labor aristocracy bribed, periphery suppressed). > 0: Periphery resists (decolonization, rising consciousness).

Motion law:

Reads upstream matrix updates (DecomposedFlow) and computes rent structurally via ProductionChainRentCalculator, or falls back to scalar defaults. Weight derived from deviation of LAR from unity.

Invariant:

Imperial rent Phi >= 0 (core always extracts from periphery).

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

Motion law T for imperial dynamics.

Parameters:
  • inputs (TickInputs) – Upstream outputs. Looks for extraction_boost.

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

Return type:

ImperialDialectic

Returns:

New ImperialDialectic with updated poles and weight.

observe()[source]

Project imperial rent state.

Return type:

dict[str, Any]

Returns:

Observation dict with Phi, LAR, extraction parameters.

invariants()[source]

Verify invariants.

Return type:

list[str]

Returns:

List of violation descriptions.

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.imperial.PeripheryEconomy(**data)[source]

Bases: BaseModel

Pole B for the Imperial dialectic — periphery / exploited side.

Parameters:
periphery_wages_ratio

w_core / w_periphery ratio.

extraction_rate

Imperial extraction efficiency alpha [0, 1].

consciousness

Periphery resistance level Psi_p [0, 1].

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

periphery_wages_ratio: float
extraction_rate: float
consciousness: float