babylon.engine.systems.solidarity

Solidarity system for the Babylon simulation - Proletarian Internationalism.

Sprint 3.4.2: The Counterforce to Imperial Rent Bribery. Sprint 3.4.3: Updated for IdeologicalProfile (multi-dimensional consciousness).

When periphery workers are in revolutionary struggle (consciousness >= threshold), their consciousness transmits through SOLIDARITY edges to core workers, awakening class consciousness that counters the super-wage bribery.

Key Design Decision: solidarity_strength is a PERSISTENT ATTRIBUTE ON THE EDGE, NOT auto-calculated from source organization. This enables the Fascist Bifurcation scenario where periphery revolts but core workers remain passive due to lack of built solidarity infrastructure.

Categorical reading (Phase B, project/06-lawverian-dialectics.md §4): every SOLIDARITY edge this system strengthens moves the solidarity graph toward the sheaf/unity pole \(\bigcirc\) of the connectivity cylinder — it shrinks atomization_index and raises the cylinder’s balance. Repression and atomization pull the opposite direction, toward the skeleton/atomized pole \(\Box\) (the edgeless graph). See babylon.domain.dialectics.instances.connectivity for the instance; this system does not call it directly (no behavior change in Phase B).

Classes

SolidaritySystem()

Proletarian Internationalism - Consciousness Transmission System.

class babylon.engine.systems.solidarity.SolidaritySystem[source]

Bases: SystemBase

Proletarian Internationalism - Consciousness Transmission System.

Implements consciousness transmission via SOLIDARITY edges: - Unidirectional flow (Periphery -> Core) - solidarity_strength stored on edge (key for Fascist Bifurcation) - Emits CONSCIOUSNESS_TRANSMISSION and MASS_AWAKENING events

Sprint 3.4.3: Updated to work with IdeologicalProfile, affecting only the class_consciousness dimension.

name: ClassVar[str] = 'Solidarity'
creates_value: ClassVar[bool] = False
step(graph, services, context)[source]

Apply solidarity transmission to all SOLIDARITY edges.

For each SOLIDARITY edge: 1. Check if source consciousness > activation_threshold 2. Check if solidarity_strength > 0 3. Calculate transmission delta 4. Apply delta to target class_consciousness 5. Emit events for narrative layer

Return type:

None

Parameters: