Orthemology structures every auditable classification episode through a family of ten JSON Schema Draft 2020-12 documents. Each schema targets a distinct conceptual layer — from the raw occurrence identity, through governance tokens and evidence, all the way to per-claim robustness specifications. Understanding which schema carries which contract, and how they reference one another, is the prerequisite for authoring valid fixture files, running the validation suite, or extending the framework.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/theislampill/orthemology/llms.txt
Use this file to discover all available pages before exploring further.
All ten schemas use JSON Schema Draft 2020-12 (
"$schema": "https://json-schema.org/draft/2020-12/schema"). Validators must use a Draft 2020-12-capable implementation such as jsonschema>=4.18 with the referencing package for cross-schema $ref resolution.Schema inventory
analysis.schema.json
Declared versioned analysis (R4 Declaration Contract D1). The explicit, versionable index of ground truth.
orthemma.schema.json
Versioned concrete occurrence with stable identity key, version, kind, and lineage edges.
metaortheme.schema.json
Repeatable governing standard type with a typed selector, declared state set, and a paired meta-policy.
metaorthemma.schema.json
Case-bound configuration token binding a single metaortheme type to a specific occurrence.
orthing-episode.schema.json
The full auditable episode record: occurrence, actor, evidence, warrant, policy, and verdicts.
verdict-record.schema.json
Verdict statuses keyed by semantic ID, pathway state, and per-claim adjudication.
claim-ledger.schema.json
Ordered claim list with analysis-relative assertions, residual obligations, and closure.
handoff.schema.json
Inter-episode handoff packet carrying state claims, evidence refs, and authority claims.
perturbation-spec.schema.json
Declared perturbation neighborhood for the ROBUST_NEIGHBORHOOD verdict.
reliability-spec.schema.json
Pre-outcome procedure reliability declaration for PROCEDURE_RELIABLE (V2b-P).
1. analysis.schema.json
A declared analysis A is the normative-but-provisional reference model (R4). It is the explicit, versionable index of ground truth: every constitutive component must be declared — either as a nonempty value or as an explicit typed disposition object. The compact form (analysis_id + version alone) is admissible only when a resolvable inherits_from parent is present.
File path: schemas/analysis.schema.json
Unique identifier for this analysis. Survives version changes.
The edition of this analysis. Any change to a constitutive component produces a new version.
T = task(A) — what the analysis is for. Required (D1 full contract) unless inherits_from is present.System boundary declaration. Required (D1 full contract) unless
inherits_from is present.Identifier of the active ortheme repertoire
O_A. Required (D1 full contract) unless inherits_from is present.Declared evidence repertoire. Required (D1 full contract) unless
inherits_from is present.Declared action repertoire. Required (D1 full contract) unless
inherits_from is present.The loss function for this analysis. Required (D1 full contract) unless
inherits_from is present.Non-negotiable constraints the analysis operates under. Required (D1 full contract) unless
inherits_from is present.Time or scope horizon for the analysis. Required (D1 full contract) unless
inherits_from is present.Tolerance parameter
ε_A. Required (D1 full contract) unless inherits_from is present.Rep_A — the declared representation family. Required (D1 full contract) unless inherits_from is present.Merger family for conflicting evidence. Required (D1 full contract) unless
inherits_from is present.The governance authority whose requirements parameterize
RequiredBy for this analysis. Required (D1 full contract) unless inherits_from is present.Parent analysis reference. When present, the full D1 declaration contract is satisfied by the parent chain. Must resolve in the bundle (cross-record check).
Factorized profile axes with exclusivity markings (Definition 10). Each axis has a
name, exclusivity (alternatives | co-holding), and optional values.orthing-episode.schema.json (inline analysis object), claim-ledger.schema.json (per-claim analysis object), and verdict-record.schema.json (index.analysis_id / index.analysis_version).
2. orthemma.schema.json
An orthemma is a versioned concrete occurrence — the thing being classified. It has a stable identity_key (κ) that survives changes, a version (v) identifying the current state, an optional kind, lineage edges tracking how it was produced, and a reified_from_episode pointer for cases cast as higher-audit occurrences.
File path: schemas/orthemma.schema.json
κ — which thing this is. Survives state/edition changes.
v — which state or edition of that thing.
Domain kind:
artifact, batch, position, directive, reified-episode, etc.Labeled successor edges INTO this occurrence (Definition 6). Each item declares
from_identity, from_version, action_label, and optionally producing_episode.ι_n embedding: set when this occurrence is an episode cast as a higher-audit case.occurrence field of orthing-episode.schema.json via $ref. Also anchors metaorthemma.schema.json tokens via their anchor object.
3. metaortheme.schema.json
A metaortheme μ is a repeatable governing standard type — the abstract, reusable specification that governs one component of a case. It must carry a typed selector (not a bare string), a declared state set, an explicit exclusivity marking, and exactly one paired meta-policy (inline meta_policy or policy_ref). A metaortheme without a paired meta-policy is not a metaortheme.
File path: schemas/metaortheme.schema.json
Unique identifier for this metaortheme type.
ver(μ) — recorded per episode so audits can scope editions.One of
O, I, E, D, R, V, W.S_μ — declared in advance.select_μ — the state-selecting evidence procedure. A typed object with kind and description; bare strings are rejected.exclusive | overlapping | uncertain. When not exclusive, uncertainty_semantics is also required.authority, warrant, and scope of this metaortheme.π_μ — conduct conditional on the obtaining state. Either meta_policy or policy_ref must be present.metaorthemma.schema.json tokens via of_type.mu_id / of_type.mu_version. Also cited by the governing_configuration.mu_refs array of orthing-episode.schema.json.
4. metaorthemma.schema.json
A metaorthemma μ̄ is a case-bound configuration token — an episode-local instantiation of exactly one metaortheme type (single-typing is the R4 rule). It binds case-specific values, names an independent binder role, declares a validity interval, and scopes the claims that depend on it. A token with no material binding is rejected by the M1 zero-burden rule.
File path: schemas/metaorthemma.schema.json
μ̄_{e,j} identity. Globally unique across the bundle.Exactly one metaortheme reference:
mu_id + mu_version. Plural of_type is an unimplemented extension and is rejected.Compatible(μ̄, A(e)) — binds case-specific values within the declared analysis.The target occurrence:
identity_key + version.One of
O, I, E, D, R, V, W.The case-specific binding map
B. Must be nonempty (M1 zero-burden rule). Keys are domain-declared; values are scalars.Who made the binding. Requires
actor, binding_warrant, and binding_time. Kept distinct from the designated executor.Must carry
effective_from (or validity_unbounded_reason if undated governance is declared).The claims that depend on this token. Must carry
claims, no_claim_dependency_reason, or external_scope.meta_tokens array of orthing-episode.schema.json. The per_token_v3c array of verdict-record.schema.json records per-token GOV_TOKEN_ADEQUATE statuses keyed by token_id.
5. orthing-episode.schema.json
The orthing episode record is the central auditable artifact. It ties together an occurrence, an actor, a declared analysis, time, observations, evidence, warrant, policy, placement, and references to the claim ledger and verdict record. The record_mode field is the audit posture switch: audit-ready triggers the full conditional contract; minimal labels a partial trace honestly.
File path: schemas/orthing-episode.schema.json
See Episode Schema for full field documentation.
record_mode is the key switch. An audit-ready episode is held to the full contract: claim_ledger_ref and verdict_record_ref must be non-null; evidence must be non-empty or evidence_absent_reason must be declared; policy must be a non-empty string or policy_inapplicable_reason must be declared; and placement or candidates must be present.episode_id, record_mode, occurrence, actor, analysis, time, placement, observation, evidence, warrant, policy, verdict_record_ref.
Relationships: Embeds orthemma.schema.json (via occurrence), metaorthemma.schema.json (via meta_tokens), handoff.schema.json (via handoffs_in / handoffs_out). References claim-ledger.schema.json via claim_ledger_ref and verdict-record.schema.json via verdict_record_ref.
6. verdict-record.schema.json
The verdict record holds all verdict statuses for a given episode, keyed by semantic ID from docs/verdict-registry.yaml. It records the required_path (the governance-derived subset of the core that this episode owes), the four-valued status for each verdict, a pathway_state that is the conjunction over required_path, and per-claim adjudication. The index block makes pathway adequacy objective by anchoring it to analysis, actor, decision time, and information state.
File path: schemas/verdict-record.schema.json
See Verdict Record for full field documentation.
Required fields: episode_id, index, required_path, statuses, pathway_state.
Relationships: Referenced by orthing-episode.schema.json via verdict_record_ref. Contains rel_spec values typed as reliability-spec.schema.json and perturb_spec values typed as perturbation-spec.schema.json.
7. claim-ledger.schema.json
The claim ledger is the analysis-relative assertion list for an episode. Claims are propositions asserted about the occurrence; residuals are open obligations that survive the episode. The six residual dispositions (unresolved, deferred, transferred, owner-assigned, risk-accepted, validated-resolved) each carry their own completeness contract. A closure_claim is well-formed only when every residual’s disposition admits it.
File path: schemas/claim-ledger.schema.json
Links this ledger to its owning episode.
One or more claim objects. Each claim requires
claim_id, proposition, target, analysis, property_class, success_surface, and verification_status. Must carry either evidence_ids or evidence_inapplicable_reason.Zero or more residual burden objects. Each requires
burden_id, description, and disposition. Additional fields are required per disposition type.Well-formed only when every burden’s disposition admits closure (Definition 13). Requires
level and asserted_by.orthing-episode.schema.json via claim_ledger_ref. Claim IDs are cited in verdict-record.schema.json (claim_verdicts, claim_reasoning_paths, rel_spec keys, perturb_spec keys). Token IDs in depends_on_tokens must resolve against metaorthemma.schema.json tokens in the bundle.
8. handoff.schema.json
A handoff packet is the inter-episode transfer record — the locus where transport errors happen. A verdict crossing an edge without its scope and version is how stale evidence propagates. Every handoff must carry substantive payload: at least one of state_claims, evidence_refs, authority_claims, residual_obligations, or requested_action. Edge orientation is earlier → later; edge_label carries the semantics (handoff | supersession | retry-of).
File path: schemas/handoff.schema.json
Unique identifier for this handoff packet.
Version of this packet.
episode_id of the sending episode.episode_id of the receiving episode.The occurrence being handed off:
identity_key + version.handoff | supersession | retry-of.Claims being transported. Each item requires
claim_id, scope, valid_for_version, analysis_id, and analysis_version. The valid_for_version field is the anti-transport rule: a claim crossing an edge without it is untransportable.orthing-episode.schema.json via handoffs_in / handoffs_out. Cross-record semantics check that sender_episode and receiver_episode resolve to episodes in the bundle.
9. perturbation-spec.schema.json
A perturbation spec declares the robustness neighborhood for the ROBUST_NEIGHBORHOOD verdict. The neighborhood is given by exactly one of: a finite enumeration of members, or a declared probability measure — the two are mutually exclusive (XOR). The invariants and varied_fields sets must be disjoint. The metaorthemma_rebinding_rule states what happens to case-bound tokens as the case is perturbed.
File path: schemas/perturbation-spec.schema.json
The family of cases the neighborhood is drawn from.
Fields held fixed across the neighborhood. Must be disjoint from
varied_fields (cross-record check).Fields varied across the neighborhood.
What happens to case-bound tokens as the case varies: rebound, held, or restricted.
What counts as a robustness failure over this neighborhood.
Version of this spec.
effective_from and expiry (timezone-aware ISO-8601 instants).Finite list of neighborhood members. XOR with
measure.Declared probability measure. XOR with
enumeration. Requires family, parameters, and support.verdict-record.schema.json via the perturb_spec map, keyed by claim ID.
10. reliability-spec.schema.json
A reliability spec is the pre-outcome procedure reliability declaration required for the PROCEDURE_RELIABLE (V2b-P) verdict. It names a specific procedure and version, declares a reference class, risk stratum, metric, threshold, evaluation protocol, evidence basis, and the timestamp declared_at that makes pre-outcome declaration checkable. The cross-record layer rejects any RelSpec declared at or after the recorded result time.
File path: schemas/reliability-spec.schema.json
The procedure whose reliability is claimed.
The edition of that procedure. Reliability does not transfer across editions without argument.
The population over which the reliability figure is defined.
The declared risk stratum the threshold is set for.
The reliability metric:
precision, sensitivity, false-negative rate, etc.The value the metric must meet.
How the metric is measured, including sampling and blinding.
The evidence the reliability figure rests on.
Timestamp of declaration (timezone-aware ISO-8601). Must precede any recorded result time — checked by
validate_cross_record_semantics.py.effective_from and expiry (timezone-aware ISO-8601 instants).verdict-record.schema.json via the rel_spec map, keyed by claim ID.