The Recursive SpiralRFPA/AVPT & the Odisena Infinity Engine

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