tangl.vm.replay

Replay records and engines used to persist, diff, and roll back runtime state.

Related design docs

Related notes

Replay artifacts

class Event(_ctx=None, *, uid=<factory>, label=None, tags=<factory>, templ_hash=None, seq=None, origin_id=None, operation, item_id=None, field=None, key=None, value=None, prior_value=None, **kwargs)[source]
class Patch(_ctx=None, *, uid=<factory>, label=None, tags=<factory>, templ_hash=None, seq=None, origin_id=None, registry_id, initial_registry_value_hash, final_registry_value_hash, events=<factory>, **kwargs)[source]
class StepRecord(_ctx=None, *, uid=<factory>, label=None, tags=<factory>, templ_hash=None, seq=None, origin_id=None, step, edge_id=None, cursor_id, entry_phase=None, was_choice=False, delta_id=None, state_hash=b'', call_stack_ids=<factory>, algorithm_id='', **kwargs)[source]

One replay step on the active traversal timeline.

class CheckpointRecord(_ctx=None, *, uid=<factory>, label=None, tags=<factory>, templ_hash=None, seq=None, origin_id=None, step, algorithm_id, graph_payload, state_hash, cursor_id, call_stack_ids=<factory>, **kwargs)[source]

Checkpoint record for fast rollback reconstruction.

class RollbackRecord(_ctx=None, *, uid=<factory>, label=None, tags=<factory>, templ_hash=None, seq=None, origin_id=None, resumed_step, prior_step, truncated_record_count, truncated_step_count, reason=None, **kwargs)[source]

Monument record emitted after destructive rollback.

Replay engines

class ReplayEngine(*args, **kwargs)[source]

Algorithm interface for replay and rollback.

class DiffReplayEngine[source]

Diff-based replay engine.

Deltas are represented as Patch records containing create/update/delete events for graph members.