Reference
Runtime Loop
The governed loop that every Splendor run follows.
Runtime Loop
Splendor standardizes the loop that turns observations into verified outcomes:
Percepts -> Policy -> Constraints -> Gateway -> Verifiers -> Adapter -> Outcome -> State Commit -> TraceLifecycle
- A run starts with tenant, agent, run, and optional work-order context.
- A tick begins and collects structured percepts.
- The current state head is loaded for policy evaluation.
- Policy code proposes actions and optional state changes.
- Constraints evaluate the proposed work.
- The Action Gateway assigns action identity and starts verification.
- Required verifiers check policy, permissions, quotas, adapters, preconditions, approvals, safety evidence, and scope where applicable.
- Only verified actions reach adapters.
- Outcomes are recorded as executed, denied, failed, approval needed, or intervention needed.
- State commits explicitly to the state graph.
- Trace events record the tick and action facts in order.
Required trace order
A complete successful tick records the following event classes:
tick.started
percepts.received
state.loaded
policy.invoked
policy.completed
constraints.evaluated
verification.started
verification.completed
action.executed | action.denied | action.failed | action.needs_approval | action.needs_intervention
outcome.recorded
state.committed
tick.completedFailure behavior
- Policy or perceptor failure prevents action execution.
- Constraint denial prevents gateway submission or adapter execution.
- Gateway verifier denial prevents adapter execution.
- Verifier uncertainty fails closed.
- Trace persistence failure fails closed for side-effectful work when trace durability is required before execution.
- State commit failure prevents the next tick from advancing.
- Replay reconstructs recorded facts and does not repeat side effects.