babylon.engine.headless_runner.event_capture
Engine event capture for the headless runner.
Spec: 065-engine-bridging (T003 / T070).
The EventCapture subscribes to the engine’s EventBus and
buffers every EventType fired during the tick loop. At end of run
the buffer is drained and emitted into summary.json.events in
deterministic emission order (FR-018).
This is the narrative spine of the run: every SuperwageCrisis,
ClassDecomposition, ControlRatioCrisis, TerminalDecision,
ExcessiveForce, Uprising, etc. fires through here.
Classes
|
One fired engine event, awaiting serialization into summary.events. |
EventBus subscriber that collects engine events for summary.json. |
- class babylon.engine.headless_runner.event_capture.EngineEvent(**data)[source]
Bases:
BaseModelOne fired engine event, awaiting serialization into summary.events.
- Parameters:
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class babylon.engine.headless_runner.event_capture.EventCapture[source]
Bases:
objectEventBus subscriber that collects engine events for summary.json.
- set_tick(tick)[source]
Tag subsequent
on_eventcalls with this tick number.Called by the runner at the start of each tick BEFORE
engine.run_tick(...).