Appendix E
Appendix E — The Infinity Engine Event Schema
A minimal, technology-neutral schema for the append-only event log that backs a governed engine (Chapters 14, 23). Fields are illustrative; adopt and extend for your system.
event {
event_id : stable unique identifier (never reused)
parent_event_id : predecessor event (forms the chain)
parent_hash : content hash of the parent event
timestamp_utc : ISO-8601 event time
actor : who/what caused the event (human or automation, scoped)
loop_id : the engine loop this event belongs to
frame_ref : reference to the RFPA frame in force
beat : one of { attempt, validate, preserve, track, gate }
inputs : references to preserved prior states consumed
operation : the rule/method applied
output_ref : reference to the produced candidate/state
validation : { checks_run[], results[], criteria_precommitted: bool,
residual_risk: text }
status : one of { candidate, accepted, held, rolled_back, superseded }
supersedes : event_id of a predecessor this replaces (if any)
termination : { reason: one of { success, resource, failure, none },
limit_declared: text }
content_hash : hash of THIS event (integrity)
}
# Rules:
# - append-only: events are never edited or deleted
# - raw source data is immutable; derived states are regenerable
# - corrections are new events with status=superseded links, never in-place edits
# - a run must declare a termination policy before it starts
# - promotion (beat=gate) is bounded by the actor's authorized scope