babylon.engine.bifurcation_monitor

Bifurcation topology monitor (T032, Phase 10, Feature 033).

Standalone monitor that tracks consciousness-weighted bifurcation analysis results across simulation ticks and emits tendency change events. Accepts a CommunityStateStore for consciousness data access.

Unlike TopologyMonitor (which tracks percolation phase transitions), BifurcationMonitor tracks the George Jackson model: whether crisis routes toward fascism or revolution based on cross-line solidarity weighted by community consciousness.

See also

babylon.bifurcation.analysis: Core analysis function. babylon.engine.topology_monitor: Percolation-based monitor. babylon.engine.community_state_store: State store protocol.

Classes

BifurcationMonitor(community_state_store[, ...])

Monitor tracking bifurcation tendency across simulation ticks.

class babylon.engine.bifurcation_monitor.BifurcationMonitor(community_state_store, defines=None, logger=None)[source]

Bases: object

Monitor tracking bifurcation tendency across simulation ticks.

Records BifurcationSnapshot per tick and emits BifurcationTendencyEvent when the overall tendency changes (revolutionary/fascist/indeterminate).

Parameters:
bifurcation_history

List of BifurcationSnapshot objects.

__init__(community_state_store, defines=None, logger=None)[source]
Parameters:
Return type:

None

property bifurcation_history: list[BifurcationSnapshot]

Return list of recorded bifurcation snapshots.

record_bifurcation(graph, H, agent_memberships, contradictions, tick)[source]

Run bifurcation analysis and record snapshot.

Parameters:
  • graph (DiGraph) – Simulation DiGraph with social_class and territory nodes.

  • H (Hypergraph) – XGI hypergraph for community membership lookup.

  • agent_memberships (dict[str, set[CommunityType]]) – Agent ID to community memberships mapping.

  • contradictions (list[Contradiction]) – List of current contradictions in this scope.

  • tick (int) – Current simulation tick.

Return type:

None

get_pending_events()[source]

Return and clear pending events.

Same pattern as TopologyMonitor: observer events cannot be emitted directly to frozen WorldState. Pending events are collected by the Simulation facade.

Return type:

list[SimulationEvent]

Returns:

List of pending events (cleared after return).