babylon.engine.systems.reserve_army
Reserve Army of Labor system (Feature 021, System #5).
Reads unemployment data for each territory, computes reserve army composition, and applies wage pressure to territory median_wage. Publishes RESERVE_ARMY_PRESSURE events via the event bus.
Classes
Computes reserve army composition and applies wage pressure. |
- class babylon.engine.systems.reserve_army.ReserveArmySystem[source]
Bases:
SystemBaseComputes reserve army composition and applies wage pressure.
For each territory node in the graph, reads the reserve_ratio (if available) and computes a wage_pressure coefficient that reduces median_wage. Stores the computed values on graph nodes and publishes events.
Position: #5 in _DEFAULT_SYSTEMS (after TickDynamicsSystem).
- step(graph, services, context)[source]
Apply reserve army wage pressure to all territories.
- Parameters:
graph (
GraphProtocol) – Mutable world graph with territory nodes.services (
ServicesProtocol) – Service container with defines and event_bus.context (
Union[dict[str,Any],TickContext]) – Tick context with current tick number.
- Return type: