babylon.engine.systems.control_ratio

Control ratio system for tracking guard:prisoner dynamics.

This system monitors the balance between carceral enforcers and the prisoner population (INTERNAL_PROLETARIAT + LUMPENPROLETARIAT). When prisoners exceed the control capacity, a CONTROL_RATIO_CRISIS occurs.

User specification: 1:20 ratio (1 guard can control 20 prisoners).

The terminal decision bifurcation: - If average organization >= 0.5: prisoners + guards unite in REVOLUTION - If average organization < 0.5: system turns GENOCIDAL to eliminate surplus

See ai-docs/terminal-crisis-dynamics.md for full theory.

Classes

ControlRatioSystem()

Track guard:prisoner ratio and trigger terminal decision.

class babylon.engine.systems.control_ratio.ControlRatioSystem[source]

Bases: object

Track guard:prisoner ratio and trigger terminal decision.

When enforcers × CONTROL_CAPACITY < prisoners, a control ratio crisis occurs. The outcome depends on prisoner organization: - High org (>= 0.5): Revolution - prisoners and guards unite - Low org (< 0.5): Genocide - system eliminates surplus population

name = 'ControlRatio'
step(graph, services, context)[source]

Check control ratio and emit crisis/terminal decision events with delays.

Uses persistent_data to track phase timing: - Waits for _class_decomposition_tick + control_ratio_delay before checking - Emits CONTROL_RATIO_CRISIS when prisoners exceed capacity - Waits terminal_decision_delay before emitting TERMINAL_DECISION

Parameters:
Return type:

None