babylon.formulas.reactionary

Reactionary-subject formulas (spec-071).

The fascism branch of the George Jackson bifurcation (Constitution I.4). When the imperial bribe (Φ) decays, crisis agitation that would route to revolution under solidarity instead routes to fascism in its absence. The privileged strata (labor aristocracy, petty/comprador bourgeoisie) carry an entitlement — a stake in the imperial order — that amplifies agitation into a fascist pull.

Structural provenance (Constitution III.8): entitlement is the material stake in imperial rent; solidarity in the denominator is the cross-colonial bridge (I.4) that reroutes agitation to revolution — its presence suppresses the fascist pull. These are pure, deterministic functions; all defaults trace to babylon.config.defines.ReactionaryDefines.

See also

babylon.engine.systems.reactionary.FascistFactionSystem: the

system that applies these formulas.

babylon.formulas.consciousness_routing.route_agitation_to_ternary():

the revolutionary-vs-fascist split of raw agitation.

Functions

calculate_defection_probability(chauvinism, ...)

Probability an entitled org member defects under crisis.

calculate_entitlement_effective(...[, ...])

Effective entitlement under threat (a threatened stake reacts harder).

calculate_fascist_pull(agitation, ...[, epsilon])

Fascist pull on an entitled stratum under crisis.

calculate_spontaneous_riot_risk(volatility, ...)

Undirected-disorder risk for the declassed lumpenproletariat.

babylon.formulas.reactionary.calculate_defection_probability(chauvinism, discipline)[source]

Probability an entitled org member defects under crisis.

P_defection = sigmoid(chauvinism discipline). Chauvinism is the accumulated reactionary sentiment of a labor-aristocratic recruit; discipline is the organization’s counter-pressure. At parity the probability is 0.5.

Parameters:
  • chauvinism (float) – Accumulated reactionary sentiment [0, 1].

  • discipline (float) – Organizational counter-pressure [0, 1].

Return type:

float

Returns:

Defection probability in [0, 1] (bounded by the sigmoid).

Example

>>> calculate_defection_probability(chauvinism=0.5, discipline=0.5)
0.5
babylon.formulas.reactionary.calculate_entitlement_effective(base_entitlement, threat, threat_gain=_REACT.entitlement_threat_gain)[source]

Effective entitlement under threat (a threatened stake reacts harder).

effective = clamp(base + threat_gain × threat × (1 base), 0, 1). A stake under threat (loss of privilege) amplifies toward the ceiling; with no threat the effective value passes the base through unchanged.

Parameters:
  • base_entitlement (float) – The node’s base entitlement [0, 1].

  • threat (float) – Perceived threat to the stake [0, 1] (e.g., falling Φ).

  • threat_gain (float) – Amplification coefficient (default from ReactionaryDefines).

Return type:

float

Returns:

Effective entitlement in [0, 1].

Example

>>> calculate_entitlement_effective(base_entitlement=0.8, threat=0.0)
0.8
babylon.formulas.reactionary.calculate_fascist_pull(agitation, entitlement, solidarity, epsilon=_REACT.solidarity_pull_epsilon)[source]

Fascist pull on an entitled stratum under crisis.

Fascist_Pull = Agitation × (Entitlement / (Solidarity + ε)).

Crisis-gated: with zero agitation the pull is zero (hegemony holds — the Fundamental Theorem). Solidarity in the denominator suppresses the pull (I.4: solidarity across the colonial divide reroutes agitation to revolution). The ε guard both prevents division by zero and sets the maximal unsuppressed pull.

Parameters:
  • agitation (float) – Raw crisis energy [0, ∞) from falling wages / rising exploitation (babylon.formulas.consciousness_routing).

  • entitlement (float) – The stratum’s stake in the imperial order [0, 1].

  • solidarity (float) – Incident solidarity strength [0, 1] — the cross-colonial bridge that dampens reaction.

  • epsilon (float) – Denominator guard (default from ReactionaryDefines).

Return type:

float

Returns:

The fascist pull (≥ 0). Compared against ReactionaryDefines.fascist_pull_threshold by the system.

Example

>>> calculate_fascist_pull(agitation=2.0, entitlement=0.8, solidarity=0.0, epsilon=0.1)
16.0
>>> calculate_fascist_pull(agitation=0.0, entitlement=0.8, solidarity=0.0)
0.0
babylon.formulas.reactionary.calculate_spontaneous_riot_risk(volatility, discipline)[source]

Undirected-disorder risk for the declassed lumpenproletariat.

riot_risk = volatility × (1 discipline), clamped to [0, 1]. High volatility with low organizational discipline produces spontaneous, non-revolutionary disorder — the reactionary inverse of the organized, solidarity-building UPRISING (it destroys wealth but builds no solidarity).

Parameters:
  • volatility (float) – The stratum’s disorder propensity [0, 1].

  • discipline (float) – Organizational discipline gating the volatility [0, 1].

Return type:

float

Returns:

Riot risk in [0, 1]. Compared against ReactionaryDefines.spontaneous_riot_threshold.

Example

>>> calculate_spontaneous_riot_risk(volatility=0.8, discipline=0.0)
0.8
>>> calculate_spontaneous_riot_risk(volatility=0.8, discipline=1.0)
0.0