Skip to main content

State Transition Relationship Ontology

Process Relationships
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 10 October 2026
Audio Overview
FLOW ALGEBRA
TITLE: State Transition Relationship Ontology
DOMAIN: Relationship Ontologies / Process Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/process-relationships/state-transition-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.

flow "StateTransitionRelationshipOntology" v1.0 {
  ontology:
    id: "state-transition-relationship-ontology"
    parent: "process-relationships"
    purpose: "Represent, validate and trace changes between process states under defined events, guards and actions."

  types:
    Process: {id: string, name: string, version: string}
    State: {id: string, process_id: string, label: string, kind: enum[initial, intermediate, final, error], invariant: string?}
    Event: {id: string, kind: string, timestamp: datetime?, provenance: string?}
    Guard: {id: string, expression: string, evaluation_context: string?}
    Action: {id: string, operation: string, effects: string[]}
    Transition: {id: string, process_id: string, source_state: string, target_state: string, trigger: string?, guard_id: string?, action_ids: string[], confidence: number, evidence: string[]}
    ExecutionRecord: {id: string, transition_id: string, timestamp: datetime, outcome: enum[completed, rejected, failed, pending], provenance: string}

  predicates:
    belongs_to(state: State, process: Process)
    transitions_to(source: State, target: State, via: Transition)
    triggered_by(transition: Transition, event: Event)
    guarded_by(transition: Transition, guard: Guard)
    executes(transition: Transition, action: Action)
    precedes_transition(first: Transition, second: Transition)
    reaches(initial: State, target: State, path: string[])

  constraints:
    - "Every transition must reference existing source and target states in the same process version, unless an explicit cross-process mapping exists."
    - "Confidence values must lie within [0, 1]."
    - "A transition is enabled only when its trigger and guard requirements are satisfied."
    - "State invariants must hold before and after transitions according to the process contract."
    - "Final states have no outgoing transitions unless the model explicitly defines reactivation."
    - "Do not assume determinism: multiple transitions may be enabled from one state."
    - "Do not confuse an allowed transition with evidence that the transition actually occurred."
    - "Cycles are permitted only when consistent with declared process semantics."

  inference:
    rule reachable_state:
      if transitions_to(a,b,t1) and transitions_to(b,c,t2) and compatible(t1,t2)
      then reaches(a,c,[t1.id,t2.id])
      confidence: "Derived reachability; not an assertion of executed events"
    rule transition_execution:
      if execution_record(r,t) and r.outcome == completed and valid(r)
      then observed_transition(t,r)
      confidence: "Evidence dependent"
    rule guard_rejection:
      if guarded_by(t,g) and evaluates_false(g,context)
      then disabled(t,context)
      confidence: "Context dependent"

  SEMANTIC_EQUIVALENCE:
    - "Align state and transition labels only within compatible process versions and contexts."
    - "Distinguish equivalent states from merely similar descriptions or shared labels."
    - "Preserve triggers, guards, actions and invariants during mapping."

  CONFIDENCE:
    range: [0,1]
    factors: [event_reliability, guard_evaluation, execution_evidence, process_version, provenance_quality]
    policy: "Do not inflate confidence through repeated traversal or inferred reachability."

  VALIDATION:
    - "Check endpoint types, process membership, state invariants and version compatibility."
    - "Check guards, triggers, action effects and permitted transitions."
    - "Flag unreachable states, deadlocks, unintended nondeterminism and inconsistent terminal states."
    - "Retain provenance and distinguish modelled paths from observed executions."

  FLOW_HASH:
    algorithm: "SHA-256"
    input: "canonicalised ontology version, state definitions, transitions, guards, actions and provenance"
    note: "Compute hash at execution; no hash value is claimed here."

  UPDATE_MODEL:
    strategy: "versioned, provenance-preserving incremental update"
    steps: [ingest, normalise, validate, compare, reconcile, recompute_reachability, publish]
    rollback: true

  AI_CONSUMPTION:
    representation: "typed process-state graph with guarded transition edges and evidence-backed execution records"
    outputs: [state_nodes, transition_edges, guard_conditions, reachable_paths, execution_traces, provenance_records]
    safeguards: [no_unobserved_execution_claims, preserve_process_versions, respect_state_invariants, prevent_unsupported_causal_inference]
}

END FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ