babylon.formulas.dynamic_balance
Dynamic Balance formulas (Sprint 3.4.4).
The bourgeoisie as a rational actor responding to material conditions: - BRIBERY: High pool, low tension -> increase wages - AUSTERITY: Low pool, low tension -> cut wages - IRON_FIST: Low pool, high tension -> increase repression - CRISIS: Critical pool -> emergency measures
Functions
|
Calculate bourgeoisie policy decision based on pool level and tension. |
Classes
Enumeration of bourgeoisie decision types. |
- class babylon.formulas.dynamic_balance.BourgeoisieDecision[source]
Bases:
objectEnumeration of bourgeoisie decision types.
Sprint 3.4.4: Dynamic Balance - The “Driver” decisions based on imperial rent pool level and aggregate class tension.
- NO_CHANGE = 'no_change'
- BRIBERY = 'bribery'
- AUSTERITY = 'austerity'
- IRON_FIST = 'iron_fist'
- CRISIS = 'crisis'
- babylon.formulas.dynamic_balance.calculate_bourgeoisie_decision(pool_ratio, aggregate_tension, high_threshold=0.7, low_threshold=0.3, critical_threshold=0.1, bribery_wage_delta=0.05, austerity_wage_delta=-0.05, iron_fist_repression_delta=0.10, crisis_wage_delta=-0.15, crisis_repression_delta=0.20, bribery_tension_threshold=0.3, iron_fist_tension_threshold=0.5)[source]
Calculate bourgeoisie policy decision based on pool level and tension.
Sprint 3.4.4: Dynamic Balance - The bourgeoisie as a rational actor responding to material conditions.
- Decision Matrix:
pool_ratio >= high AND tension < bribery_tension -> BRIBERY pool_ratio < critical -> CRISIS (emergency measures) pool_ratio < low AND tension > iron_fist_tension -> IRON_FIST pool_ratio < low AND tension <= iron_fist_tension -> AUSTERITY else -> NO_CHANGE (maintain status quo)
- Parameters:
pool_ratio (
float) – Current pool / initial pool (0.0 to 1.0+)aggregate_tension (
float) – Average tension across class relationships (0.0 to 1.0)high_threshold (
float) – Pool ratio above which prosperity is declared (default 0.7)low_threshold (
float) – Pool ratio below which austerity begins (default 0.3)critical_threshold (
float) – Pool ratio below which crisis fires (default 0.1)bribery_wage_delta (
float) – Wage increase during prosperity (default 0.05)austerity_wage_delta (
float) – Wage cut during austerity (default -0.05)iron_fist_repression_delta (
float) – Repression increase during iron fist (default 0.10)crisis_wage_delta (
float) – Emergency wage cut during crisis (default -0.15)crisis_repression_delta (
float) – Emergency repression spike (default 0.20)bribery_tension_threshold (
float) – Max tension for bribery policy (default 0.3)iron_fist_tension_threshold (
float) – Min tension for iron fist policy (default 0.5)
- Returns:
str, wage_delta: float, repression_delta: float) - decision: One of BourgeoisieDecision values - wage_delta: Change to wage rate (positive = increase) - repression_delta: Change to repression level (positive = increase)
- Return type:
Tuple of (decision
Example
# Prosperity: high pool, low tension -> increase wages decision, wage_d, repr_d = calculate_bourgeoisie_decision(0.8, 0.2) # Returns (“bribery”, 0.05, 0.0)
# Crisis: pool below critical -> emergency measures decision, wage_d, repr_d = calculate_bourgeoisie_decision(0.05, 0.5) # Returns (“crisis”, -0.15, 0.20)