On this page Replay and Diagnose

Rubric State Machines

Performative state machine tracking for rubrics execution validation.

Rubrics act as state transitions for validating performative continuity.

{
  "id": "rb-deacon-enters-qeddest",
  "category": "movement",
  "subtype": "move",
  "actors": ["role-deacon"],
  "stateTransition": {
    "requires": { "role-deacon.zone": "qene_mahlet" },
    "sets": { "role-deacon.zone": "qeddest" }
  }
}

Replay and Diagnose

A state-aware validator replays rubrics in liturgical order. For each transition, it checks requires, reports unmet preconditions, and applies sets only after the transition succeeds.

initial: role-deacon.zone = qene_mahlet
rubric:  rb-deacon-enters-qeddest
check:   requires qene_mahlet -> satisfied
result:  role-deacon.zone = qeddest

State keys should identify both the subject and property, such as role-deacon.zone or gospel-book.carriedBy. Profiles may define additional state vocabulary, but they should document initial values and allowed transitions so two validators reach the same result.

An unmet precondition is more useful than a generic invalid-rubric error. Diagnostics should name the rubric, expected state, observed state, and position in the resolved service.

Replay and Diagnose

A state-aware validator replays rubrics in liturgical order. For each transition, it checks requires, reports unmet preconditions, and applies sets only after the transition succeeds.

initial: role-deacon.zone = qene_mahlet
rubric:  rb-deacon-enters-qeddest
check:   requires qene_mahlet -> satisfied
result:  role-deacon.zone = qeddest

State keys should identify both the subject and property, such as role-deacon.zone or gospel-book.carriedBy. Profiles may define additional state vocabulary, but they should document initial values and allowed transitions so two validators reach the same result.

An unmet precondition is more useful than a generic invalid-rubric error. Diagnostics should name the rubric, expected state, observed state, and position in the resolved service.

Schemas and supported values