{
  "status": "review-only",
  "modules": {
    "foundation": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "urn:zenith:ontology-review:shared:0.1.0:foundation",
      "title": "Zenith foundation · noncanonical draft",
      "$defs": {
        "ArtifactRef": {
          "type": "object",
          "properties": {
            "content_hash": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}(?![\\s\\S])"
            },
            "byte_length": {
              "type": "integer",
              "minimum": 0
            },
            "media_type": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            }
          },
          "required": [
            "content_hash",
            "byte_length",
            "media_type"
          ],
          "additionalProperties": false,
          "description": "Exact existing Runtime Artifact transport descriptor; copied without amendments. It references bytes, not another Artifact storage service."
        },
        "ScopeRef": {
          "type": "object",
          "properties": {
            "owner": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "owner",
            "id"
          ],
          "additionalProperties": false,
          "description": "Owner-scoped namespace reference; neither tenancy authentication nor a permission grant."
        },
        "OwnedRecordRef": {
          "type": "object",
          "properties": {
            "owner": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "scope": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ScopeRef"
            },
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "revision": {
              "oneOf": [
                {
                  "type": "integer",
                  "minimum": 1
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            }
          },
          "required": [
            "owner",
            "scope",
            "kind",
            "id"
          ],
          "additionalProperties": false,
          "description": "Reference to a provider-owned identity; owner/kind/id/scope are distinct. Revision, when present, is an exact opaque owner version."
        },
        "RevisionQualifiedRef": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            }
          ],
          "required": [
            "revision"
          ],
          "description": "Owned reference requiring an exact immutable version; never resolves to an implicit latest revision."
        },
        "FieldPointer": {
          "type": "object",
          "properties": {
            "revision_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "json_pointer": {
              "type": "string",
              "pattern": "^(?:/(?:[^~/]|~0|~1)*)*$",
              "maxLength": 2048
            }
          },
          "required": [
            "revision_ref",
            "json_pointer"
          ],
          "additionalProperties": false,
          "description": "JSON Pointer bound to one exact source/output revision, including an empty root pointer. Escaping follows the existing pointer convention."
        },
        "TimeWindow": {
          "type": "object",
          "properties": {
            "start": {
              "type": "string",
              "format": "date-time"
            },
            "end": {
              "type": "string",
              "format": "date-time"
            },
            "timezone": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          "required": [
            "start",
            "end",
            "timezone"
          ],
          "additionalProperties": false,
          "description": "Offset-bearing interval with an IANA display/production timezone. Semantic validation requires start < end; no local time is silently guessed."
        },
        "Quantity": {
          "type": "object",
          "properties": {
            "amount": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "unit": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            }
          },
          "required": [
            "amount",
            "unit"
          ],
          "additionalProperties": false,
          "description": "Positive quantity with explicit unit. No implicit conversion or cross-unit summation."
        },
        "Money": {
          "type": "object",
          "properties": {
            "minor_units": {
              "type": "integer",
              "minimum": 0
            },
            "currency": {
              "type": "string",
              "pattern": "^[A-Z]{3}$"
            }
          },
          "required": [
            "minor_units",
            "currency"
          ],
          "additionalProperties": false,
          "description": "Nonnegative integer minor currency units; no floating currency or cross-currency total without a conversion policy."
        },
        "ValueSnapshot": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "state": {
                  "const": "absent"
                }
              },
              "required": [
                "state"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "state": {
                  "const": "present"
                },
                "value": {}
              },
              "required": [
                "state",
                "value"
              ],
              "additionalProperties": false
            }
          ],
          "description": "Distinguishes an absent field from a present null value. Domain schema validation must additionally validate a present value."
        },
        "TypedBoundaryPort": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "direction": {
              "type": "string",
              "enum": [
                "input",
                "output"
              ]
            },
            "value_schema_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "required": {
              "type": "boolean"
            }
          },
          "required": [
            "name",
            "direction",
            "value_schema_ref",
            "required"
          ],
          "additionalProperties": false,
          "description": "A named typed boundary value, not a Runtime Step or new process aggregate."
        },
        "RecordBase": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "scope": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ScopeRef"
            },
            "revision": {
              "type": "integer",
              "minimum": 1
            },
            "recorded_at": {
              "type": "string",
              "format": "date-time"
            },
            "origin_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "attributed_to": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "evidence_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            }
          },
          "required": [
            "type",
            "id",
            "scope",
            "revision",
            "recorded_at"
          ],
          "description": "Open inherited shape only; exported record leaves close unevaluated properties. Record identity and descriptive attribution never confer authority."
        }
      },
      "x-status": "review_only_not_canonical",
      "x-imports": []
    },
    "directory": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "urn:zenith:ontology-review:shared:0.1.0:directory",
      "title": "Directory & participation · noncanonical draft",
      "$defs": {
        "OrganizationUnitShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "organization_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "definition_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "parent_unit_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "directory.OrganizationUnit"
              ]
            },
            "label": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "organization_ref",
            "definition_refs",
            "label"
          ]
        },
        "OrganizationUnit": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:directory#/$defs/OrganizationUnitShape"
            }
          ],
          "properties": {
            "type": {
              "const": "directory.OrganizationUnit"
            }
          },
          "unevaluatedProperties": false,
          "description": "Scoped organizational function/team. Film department definitions and craft groups classify it; they are not its parent organizations or mandatory hires.",
          "x-invariants": []
        },
        "ScopedPostShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "unit_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "directory.OrganizationUnit"
              ]
            },
            "role_definition_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "effective_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "outcomes": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "reports_to_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "directory.ScopedPost"
              ]
            }
          },
          "required": [
            "unit_ref",
            "role_definition_ref",
            "effective_window",
            "outcomes"
          ]
        },
        "ScopedPost": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:directory#/$defs/ScopedPostShape"
            }
          ],
          "properties": {
            "type": {
              "const": "directory.ScopedPost"
            }
          },
          "unevaluatedProperties": false,
          "description": "Accountable post/seat, independent of its occupant. reports_to is a dated reporting relation, not role inheritance or permission.",
          "x-invariants": []
        },
        "PostAssignmentShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "post_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "directory.ScopedPost"
              ]
            },
            "person_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Person"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Person"
              ]
            },
            "effective_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "booking_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "directory.BookingCommitment"
              ]
            },
            "state": {
              "type": "string",
              "enum": [
                "proposed",
                "active",
                "ended"
              ]
            }
          },
          "required": [
            "post_ref",
            "person_ref",
            "effective_window",
            "booking_ref",
            "state"
          ]
        },
        "PostAssignment": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:directory#/$defs/PostAssignmentShape"
            }
          ],
          "properties": {
            "type": {
              "const": "directory.PostAssignment"
            }
          },
          "unevaluatedProperties": false,
          "description": "One person occupying one scoped post for a period. Multiple occupations reference the same Person.",
          "x-invariants": []
        },
        "PostRequirementShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "role_definition_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "unit_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "directory.OrganizationUnit"
              ]
            },
            "quantity": {
              "type": "integer",
              "minimum": 1
            },
            "service_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "capability_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            }
          },
          "required": [
            "role_definition_ref",
            "unit_ref",
            "quantity",
            "service_window",
            "capability_refs"
          ]
        },
        "PostRequirement": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:directory#/$defs/PostRequirementShape"
            }
          ],
          "properties": {
            "type": {
              "const": "directory.PostRequirement"
            }
          },
          "unevaluatedProperties": false,
          "description": "Staffing need; an unfilled post creates no fake Person or accepted booking.",
          "x-invariants": []
        },
        "ResponsibilityBindingShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "target_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "accountable_post_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "directory.ScopedPost"
              ]
            },
            "contributor_post_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                  }
                ],
                "x-target-types": [
                  "directory.ScopedPost"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "entry_delegate_post_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                  }
                ],
                "x-target-types": [
                  "directory.ScopedPost"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "verifier_post_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                  }
                ],
                "x-target-types": [
                  "directory.ScopedPost"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "effective_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "policy_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "authority.ContributionPolicyReference"
              ]
            }
          },
          "required": [
            "target_ref",
            "accountable_post_ref",
            "effective_window"
          ]
        },
        "ResponsibilityBinding": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:directory#/$defs/ResponsibilityBindingShape"
            }
          ],
          "properties": {
            "type": {
              "const": "directory.ResponsibilityBinding"
            }
          },
          "unevaluatedProperties": false,
          "description": "Scoped accountability/contribution. Collaborative input can have several people; responsibilities and delegation are not credentials.",
          "x-invariants": []
        },
        "BookingCommitmentShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "party_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "contracting_organization_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "service_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "state": {
              "type": "string",
              "enum": [
                "proposed",
                "confirmed",
                "cancelled",
                "completed"
              ]
            },
            "confirmation_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "source_booking_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            }
          },
          "required": [
            "party_ref",
            "contracting_organization_ref",
            "service_window",
            "state",
            "source_booking_ref"
          ]
        },
        "BookingCommitment": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:directory#/$defs/BookingCommitmentShape"
            },
            {
              "if": {
                "properties": {
                  "state": {
                    "const": "confirmed"
                  }
                }
              },
              "then": {
                "required": [
                  "confirmation_ref"
                ]
              }
            }
          ],
          "properties": {
            "type": {
              "const": "directory.BookingCommitment"
            }
          },
          "unevaluatedProperties": false,
          "description": "Shared semantic profile referencing the existing booking owner. Cast engagement composes it with Person and film character/performance scope.",
          "x-invariants": [
            "Confirmed commitment requires confirmation_ref; source_booking_ref remains the state owner."
          ]
        },
        "RepresentationBindingShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "represented_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "representative_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "purpose": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "effective_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "authority_reference": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "authority.VerifiedOperationAuthorityReference"
              ]
            }
          },
          "required": [
            "represented_ref",
            "representative_ref",
            "purpose",
            "effective_window",
            "evidence_ref"
          ]
        },
        "RepresentationBinding": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:directory#/$defs/RepresentationBindingShape"
            }
          ],
          "properties": {
            "type": {
              "const": "directory.RepresentationBinding"
            }
          },
          "unevaluatedProperties": false,
          "description": "Sourced representation relationship; agency/guardian/representative identity does not imply operation authority.",
          "x-invariants": []
        },
        "ExternalSubjectBindingShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "entity_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "provider": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "external_subject_ref": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "protocol": {
              "type": "string",
              "enum": [
                "matrix",
                "nostr",
                "email",
                "application",
                "api",
                "other"
              ]
            },
            "verification_evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "valid_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            }
          },
          "required": [
            "entity_ref",
            "provider",
            "external_subject_ref",
            "protocol",
            "verification_evidence_ref",
            "valid_window"
          ]
        },
        "ExternalSubjectBinding": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:directory#/$defs/ExternalSubjectBindingShape"
            }
          ],
          "properties": {
            "type": {
              "const": "directory.ExternalSubjectBinding"
            }
          },
          "unevaluatedProperties": false,
          "description": "Entity-to-provider-subject binding with evidence. Connected-account descriptors, key control, membership and authorization stay independent; no secrets are stored.",
          "x-invariants": []
        },
        "PersonInterfaceBindingShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "person_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Person"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Person"
              ]
            },
            "subject_binding_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "directory.ExternalSubjectBinding"
              ]
            },
            "endpoint_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "purpose": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "valid_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            }
          },
          "required": [
            "person_ref",
            "subject_binding_ref",
            "endpoint_ref",
            "purpose",
            "valid_window"
          ]
        },
        "PersonInterfaceBinding": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:directory#/$defs/PersonInterfaceBindingShape"
            }
          ],
          "properties": {
            "type": {
              "const": "directory.PersonInterfaceBinding"
            }
          },
          "unevaluatedProperties": false,
          "description": "Contact/application interface selected for a Person. A hired person need not have an application account; endpoint references are policy-limited.",
          "x-invariants": []
        },
        "RestrictedContactProjectionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "person_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Person"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Person"
              ]
            },
            "source_contact_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "policy_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "authority.DisclosurePolicyReference"
              ]
            },
            "purpose": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "projection_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "valid_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            }
          },
          "required": [
            "person_ref",
            "source_contact_ref",
            "policy_ref",
            "purpose",
            "projection_ref",
            "valid_window"
          ]
        },
        "RestrictedContactProjection": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:directory#/$defs/RestrictedContactProjectionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "directory.RestrictedContactProjection"
            }
          },
          "unevaluatedProperties": false,
          "description": "Restricted contact view, referencing a reviewed source and policy. No raw contact data or credential is embedded in the public ontology.",
          "x-invariants": []
        }
      },
      "x-status": "review_only_not_canonical",
      "x-imports": [
        "urn:zenith:ontology-review:shared:0.1.0:authority",
        "urn:zenith:ontology-review:shared:0.1.0:foundation"
      ]
    },
    "resources": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "urn:zenith:ontology-review:shared:0.1.0:resources",
      "title": "Resources · noncanonical draft",
      "$defs": {
        "CapacityRequirement": {
          "additionalProperties": false,
          "properties": {
            "dimension": {
              "enum": [
                "cpu_cores",
                "memory_bytes",
                "gpu_count",
                "storage_bytes",
                "physical_units"
              ],
              "type": "string"
            },
            "minimum": {
              "minimum": 1,
              "type": "integer"
            }
          },
          "required": [
            "dimension",
            "minimum"
          ],
          "type": "object",
          "description": "Existing closed dimension/minimum capacity value profile; the minimum remains a requirement rather than observed free capacity."
        },
        "ResourceInstanceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "label": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "resource_kind": {
              "type": "string",
              "enum": [
                "physical_unit",
                "facility",
                "physical_computer",
                "virtual_machine",
                "virtual_resource"
              ]
            },
            "capability_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "custodian_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "capacity": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/Quantity"
            }
          },
          "required": [
            "label",
            "resource_kind"
          ]
        },
        "ResourceInstance": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:resources#/$defs/ResourceInstanceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "resources.ResourceInstance"
            }
          },
          "unevaluatedProperties": false,
          "description": "Concrete resource identity; never equated with a software Agent or the Artifact snapshot describing it.",
          "x-invariants": []
        },
        "ComputeResourceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:resources#/$defs/ResourceInstanceShape"
            }
          ],
          "properties": {
            "resource_kind": {
              "type": "string",
              "enum": [
                "physical_computer",
                "virtual_machine",
                "virtual_resource"
              ]
            },
            "installation_ref": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "compute_kind": {
              "type": "string",
              "enum": [
                "physical_computer",
                "virtual_machine",
                "container_worker"
              ]
            }
          },
          "required": [
            "resource_kind",
            "installation_ref",
            "compute_kind"
          ]
        },
        "ComputeResource": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:resources#/$defs/ComputeResourceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "resources.ComputeResource"
            }
          },
          "unevaluatedProperties": false,
          "description": "Resource specialization. Installation identity can be local; it is not hardware attestation or a globally verified machine ID.",
          "x-invariants": []
        },
        "ResourceRequirementShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "capability_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "quantity": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/Quantity"
            },
            "needed_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "subject_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "constraints_schema_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "constraints_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "capability_ref",
            "quantity",
            "needed_window",
            "subject_ref"
          ]
        },
        "ResourceRequirement": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:resources#/$defs/ResourceRequirementShape"
            }
          ],
          "properties": {
            "type": {
              "const": "resources.ResourceRequirement"
            }
          },
          "unevaluatedProperties": false,
          "description": "A capability/quantity/time need. Runtime eligibility resource strings are not capacity, stock, price or reservations.",
          "x-invariants": []
        },
        "AvailabilityAssertionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "subject_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "resource_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "resources.ResourceInstance"
              ]
            },
            "window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "state": {
              "type": "string",
              "enum": [
                "available",
                "unavailable",
                "tentative",
                "unknown"
              ]
            },
            "source_revision_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "asserted_by": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            }
          },
          "required": [
            "window",
            "state",
            "source_revision_ref",
            "asserted_by"
          ]
        },
        "AvailabilityAssertion": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:resources#/$defs/AvailabilityAssertionShape"
            },
            {
              "oneOf": [
                {
                  "required": [
                    "subject_ref"
                  ],
                  "not": {
                    "required": [
                      "resource_ref"
                    ]
                  }
                },
                {
                  "required": [
                    "resource_ref"
                  ],
                  "not": {
                    "required": [
                      "subject_ref"
                    ]
                  }
                }
              ]
            }
          ],
          "properties": {
            "type": {
              "const": "resources.AvailabilityAssertion"
            }
          },
          "unevaluatedProperties": false,
          "description": "Sourced availability assertion for exactly one person/organization/agent or resource; it does not confirm a booking.",
          "x-invariants": [
            "Exactly one of subject_ref and resource_ref is present."
          ]
        },
        "ResourceOfferShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "resource_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "resources.ResourceInstance"
              ]
            },
            "provider_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "quantity": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/Quantity"
            },
            "capability_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "availability_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "resources.AvailabilityAssertion"
              ]
            },
            "price": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/Money"
            },
            "origin": {
              "type": "string",
              "enum": [
                "person_provided",
                "organization_owned",
                "rental",
                "other"
              ]
            },
            "confirmation": {
              "type": "string",
              "enum": [
                "offered",
                "confirmed",
                "withdrawn"
              ]
            }
          },
          "required": [
            "resource_ref",
            "provider_ref",
            "quantity",
            "capability_refs",
            "availability_ref",
            "price",
            "origin",
            "confirmation"
          ]
        },
        "ResourceOffer": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:resources#/$defs/ResourceOfferShape"
            }
          ],
          "properties": {
            "type": {
              "const": "resources.ResourceOffer"
            }
          },
          "unevaluatedProperties": false,
          "description": "Commercial/crew-provided offer for an existing unit. Provider, physical item, capability and availability remain separate.",
          "x-invariants": []
        },
        "AllocationShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "requirement_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "resources.ResourceRequirement"
              ]
            },
            "offer_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "resources.ResourceOffer"
              ]
            },
            "quantity": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/Quantity"
            },
            "window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "reservation_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "resources.Reservation"
              ]
            }
          },
          "required": [
            "requirement_ref",
            "offer_ref",
            "quantity",
            "window"
          ]
        },
        "Allocation": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:resources#/$defs/AllocationShape"
            }
          ],
          "properties": {
            "type": {
              "const": "resources.Allocation"
            }
          },
          "unevaluatedProperties": false,
          "description": "Selection of an exact offer against an exact requirement, not proof of reservation or observed use.",
          "x-invariants": [
            "Matching quantity units; selected quantity does not exceed requirement or offer; allocation interval is within required and offered availability intervals."
          ]
        },
        "ReservationShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "resource_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "resources.ResourceInstance"
              ]
            },
            "offer_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "resources.ResourceOffer"
              ]
            },
            "window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "confirmation_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "state": {
              "type": "string",
              "enum": [
                "requested",
                "confirmed",
                "cancelled"
              ]
            },
            "provider_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            }
          },
          "required": [
            "resource_ref",
            "offer_ref",
            "window",
            "confirmation_ref",
            "state",
            "provider_ref"
          ]
        },
        "Reservation": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:resources#/$defs/ReservationShape"
            },
            {
              "if": {
                "properties": {
                  "state": {
                    "const": "confirmed"
                  }
                }
              },
              "then": {
                "required": [
                  "confirmation_ref"
                ]
              }
            }
          ],
          "properties": {
            "type": {
              "const": "resources.Reservation"
            }
          },
          "unevaluatedProperties": false,
          "description": "Reservation evidence/profile of the owning booking provider; no shadow booking writer is introduced.",
          "x-invariants": [
            "A confirmed reservation requires confirmation evidence from the owning provider."
          ]
        },
        "AllocationObservationShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "allocation_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "resources.Allocation"
              ]
            },
            "observed_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "observation": {
              "type": "string",
              "enum": [
                "selected",
                "reserved",
                "used",
                "not_used"
              ]
            },
            "evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "allocation_ref",
            "observed_window",
            "observation",
            "evidence_ref"
          ]
        },
        "AllocationObservation": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:resources#/$defs/AllocationObservationShape"
            }
          ],
          "properties": {
            "type": {
              "const": "resources.AllocationObservation"
            }
          },
          "unevaluatedProperties": false,
          "description": "Immutable evidence of selection/reservation/use; a selection cannot be relabeled as actual use.",
          "x-invariants": []
        }
      },
      "x-status": "review_only_not_canonical",
      "x-imports": [
        "urn:zenith:ontology-review:shared:0.1.0:foundation"
      ]
    },
    "evidence": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "urn:zenith:ontology-review:shared:0.1.0:evidence",
      "title": "Provenance, verification & review · noncanonical draft",
      "$defs": {
        "ChangedField": {
          "type": "object",
          "properties": {
            "before": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
            },
            "after": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
            },
            "before_value": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ValueSnapshot"
            },
            "after_value": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ValueSnapshot"
            },
            "value_schema_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "before",
            "after",
            "before_value",
            "after_value",
            "value_schema_ref"
          ],
          "additionalProperties": false,
          "description": "Exact before/after field values with revision and schema bindings. Equal values are not a changed field."
        },
        "DependencyStep": {
          "type": "object",
          "properties": {
            "from_pointer": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
            },
            "to_pointer": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
            },
            "edge_kind": {
              "type": "string",
              "enum": [
                "declared_input",
                "observed_read",
                "exact_copy",
                "observed_derivation"
              ]
            },
            "evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "from_pointer",
            "to_pointer",
            "edge_kind",
            "evidence_ref"
          ],
          "additionalProperties": false,
          "description": "One explicit field dependency step; edge type controls what can be inferred."
        },
        "SourceRevisionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "subject_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "source_version": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "content_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "value_schema_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "coverage": {
              "type": "string",
              "enum": [
                "full_record",
                "field_projection"
              ]
            },
            "included_pointers": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:/(?:[^~/]|~0|~1)*)*$"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "previous_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "evidence.SourceRevision"
              ]
            }
          },
          "required": [
            "subject_ref",
            "source_version",
            "content_ref",
            "value_schema_ref",
            "coverage"
          ]
        },
        "SourceRevision": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/SourceRevisionShape"
            },
            {
              "if": {
                "properties": {
                  "coverage": {
                    "const": "field_projection"
                  }
                }
              },
              "then": {
                "required": [
                  "included_pointers"
                ]
              }
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.SourceRevision"
            }
          },
          "unevaluatedProperties": false,
          "description": "Immutable source snapshot/projection evidence, distinct from the identity described and its mutable source store. Partial field coverage must be declared.",
          "x-invariants": []
        },
        "CaptureEvidenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "field_pointers": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "source_actor_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "capture_actor_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "source_evidence_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "captured_at": {
              "type": "string",
              "format": "date-time"
            },
            "verification_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "evidence.VerificationAssertion"
              ]
            }
          },
          "required": [
            "field_pointers",
            "source_actor_ref",
            "capture_actor_ref",
            "source_evidence_refs",
            "captured_at"
          ]
        },
        "CaptureEvidence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/CaptureEvidenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.CaptureEvidence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Who supplied/captured which exact fields, at which revisions; authored data is not entered again into each document.",
          "x-invariants": []
        },
        "DerivationEvidenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "input_pointers": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "output_pointer": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
            },
            "attempt_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "owner": {
                  "const": "process-runtime"
                },
                "kind": {
                  "const": "Attempt"
                }
              },
              "x-target-types": [
                "provider:process-runtime:Attempt"
              ]
            },
            "implementation_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "method": {
              "type": "string",
              "enum": [
                "copy",
                "transform",
                "aggregate",
                "manual_authorship",
                "unknown"
              ]
            },
            "evidence_strength": {
              "type": "string",
              "enum": [
                "observed_read",
                "declared_dependency",
                "exact_copy",
                "not_instrumented"
              ]
            },
            "evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "input_pointers",
            "output_pointer",
            "method",
            "evidence_strength",
            "evidence_ref"
          ]
        },
        "DerivationEvidence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/DerivationEvidenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.DerivationEvidence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Exact declared/observed field lineage. Only observed evidence supports a claim of actual reads or executed causation.",
          "x-invariants": []
        },
        "ObservationAssertionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "target": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
            },
            "value": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ValueSnapshot"
            },
            "value_schema_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "observed_at": {
              "type": "string",
              "format": "date-time"
            },
            "observer_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "target",
            "value",
            "value_schema_ref",
            "observed_at",
            "observer_ref",
            "evidence_ref"
          ]
        },
        "ObservationAssertion": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/ObservationAssertionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.ObservationAssertion"
            }
          },
          "unevaluatedProperties": false,
          "description": "Sourced observation/assertion. An event occurrence can carry this assertion; transport is not its truth or mutation authority.",
          "x-invariants": []
        },
        "VerificationAssertionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "target": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
            },
            "test_definition_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "result": {
              "type": "string",
              "enum": [
                "pass",
                "fail",
                "unknown",
                "not_applicable"
              ]
            },
            "verifier_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "verified_at": {
              "type": "string",
              "format": "date-time"
            },
            "evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "target",
            "test_definition_ref",
            "result",
            "verifier_ref",
            "verified_at",
            "evidence_ref"
          ]
        },
        "VerificationAssertion": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/VerificationAssertionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.VerificationAssertion"
            }
          },
          "unevaluatedProperties": false,
          "description": "Revision-bound verification result, not authorization, approval or completion by itself.",
          "x-invariants": []
        },
        "CompletionAssertionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "target_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "completed_scope": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "assertor_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "occurred_at": {
              "type": "string",
              "format": "date-time"
            },
            "evidence_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            }
          },
          "required": [
            "target_ref",
            "completed_scope",
            "assertor_ref",
            "occurred_at",
            "evidence_refs"
          ]
        },
        "CompletionAssertion": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/CompletionAssertionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.CompletionAssertion"
            }
          },
          "unevaluatedProperties": false,
          "description": "Assertion that a scoped result is done; data/readiness/acceptance gates are independently evaluated.",
          "x-invariants": []
        },
        "ReadinessEvidenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "target_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "criterion_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "verification_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                  }
                ],
                "x-target-types": [
                  "evidence.VerificationAssertion"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "outstanding_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "result": {
              "type": "string",
              "enum": [
                "ready",
                "blocked",
                "unknown"
              ]
            }
          },
          "required": [
            "target_ref",
            "criterion_refs",
            "verification_refs",
            "outstanding_refs",
            "result"
          ]
        },
        "ReadinessEvidence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/ReadinessEvidenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.ReadinessEvidence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Domain readiness evidence. It does not replace Devgraph ReadinessAssessment or confer permission to run/issue.",
          "x-invariants": []
        },
        "ScopedDecisionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "target_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "decision": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "rationale": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            "decider_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "decided_at": {
              "type": "string",
              "format": "date-time"
            },
            "authority_reference": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "authority.VerifiedOperationAuthorityReference"
              ]
            }
          },
          "required": [
            "target_refs",
            "decision",
            "rationale",
            "decider_ref",
            "decided_at"
          ]
        },
        "ScopedDecision": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/ScopedDecisionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.ScopedDecision"
            }
          },
          "unevaluatedProperties": false,
          "description": "Sourced decision on exact revisions; existing Devgraph Decision retains its Work governance semantics.",
          "x-invariants": []
        },
        "ReviewDecisionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/ScopedDecisionShape"
            }
          ],
          "properties": {
            "review_outcome": {
              "type": "string",
              "enum": [
                "changes_requested",
                "accepted_for_review",
                "rejected",
                "advisory_only"
              ]
            }
          },
          "required": [
            "review_outcome"
          ]
        },
        "ReviewDecision": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/ReviewDecisionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.ReviewDecision"
            }
          },
          "unevaluatedProperties": false,
          "description": "Review disposition is distinct from issue approval or recipient acceptance.",
          "x-invariants": []
        },
        "RevisionApprovalShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/ScopedDecisionShape"
            }
          ],
          "properties": {
            "approval": {
              "type": "string",
              "enum": [
                "approved",
                "rejected"
              ]
            },
            "approved_content_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "approval_policy_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            }
          },
          "required": [
            "approval",
            "approved_content_ref",
            "approval_policy_ref"
          ]
        },
        "RevisionApproval": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/RevisionApprovalShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.RevisionApproval"
            }
          },
          "unevaluatedProperties": false,
          "description": "Exact revision/content approval under a pinned policy; effects require receiver verification of the referenced authority.",
          "x-invariants": []
        },
        "AcceptanceDecisionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/ScopedDecisionShape"
            }
          ],
          "properties": {
            "submission_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "acceptance": {
              "type": "string",
              "enum": [
                "accepted",
                "conditionally_accepted",
                "rejected"
              ]
            },
            "conditions": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            }
          },
          "required": [
            "submission_ref",
            "acceptance",
            "conditions"
          ]
        },
        "AcceptanceDecision": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/AcceptanceDecisionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.AcceptanceDecision"
            }
          },
          "unevaluatedProperties": false,
          "description": "Recipient decision for an exact submission/package, separate from transport acknowledgment.",
          "x-invariants": []
        },
        "AdvisoryReviewSessionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "target_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "participant_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                  }
                ],
                "properties": {
                  "kind": {
                    "enum": [
                      "Entity",
                      "Person",
                      "Agent",
                      "Organization"
                    ]
                  }
                },
                "x-target-types": [
                  "https://zenith-research.ca/ontology/terms/Entity",
                  "https://zenith-research.ca/ontology/terms/Person",
                  "https://zenith-research.ca/ontology/terms/Agent",
                  "https://zenith-research.ca/ontology/terms/Organization"
                ]
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "held_at": {
              "type": "string",
              "format": "date-time"
            },
            "purpose": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            },
            "recording_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "target_refs",
            "participant_refs",
            "held_at",
            "purpose"
          ]
        },
        "AdvisoryReviewSession": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/AdvisoryReviewSessionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.AdvisoryReviewSession"
            }
          },
          "unevaluatedProperties": false,
          "description": "Discussion/session organization; not an approval or automatic source edit.",
          "x-invariants": []
        },
        "AdvisoryNoteShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "session_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "evidence.AdvisoryReviewSession"
              ]
            },
            "target": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
            },
            "author_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "note": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            "evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "session_ref",
            "target",
            "author_ref",
            "note"
          ]
        },
        "AdvisoryNote": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/AdvisoryNoteShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.AdvisoryNote"
            }
          },
          "unevaluatedProperties": false,
          "description": "Revision-bound advisory note; source revisions change only through accepted owner commands.",
          "x-invariants": []
        },
        "ReviewResponseShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "note_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "evidence.AdvisoryNote"
              ]
            },
            "disposition": {
              "type": "string",
              "enum": [
                "accepted",
                "declined",
                "deferred",
                "needs_clarification"
              ]
            },
            "response": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            "respondent_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "resulting_revision_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            }
          },
          "required": [
            "note_ref",
            "disposition",
            "response",
            "respondent_ref"
          ]
        },
        "ReviewResponse": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/ReviewResponseShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.ReviewResponse"
            }
          },
          "unevaluatedProperties": false,
          "description": "Author response with explicit resulting revisions when any exist; accepting a note does not invent a revision.",
          "x-invariants": []
        },
        "ChangeImpactExplanationShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "changed_fields": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/ChangedField"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "dependency_path": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/DependencyStep"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "affected_revision_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "evaluation": {
              "type": "string",
              "enum": [
                "potential",
                "observed_changed",
                "observed_held",
                "blocked"
              ]
            },
            "reason": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096
            },
            "derivation_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                  }
                ],
                "x-target-types": [
                  "evidence.DerivationEvidence"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            }
          },
          "required": [
            "changed_fields",
            "dependency_path",
            "affected_revision_refs",
            "evaluation",
            "reason"
          ]
        },
        "ChangeImpactExplanation": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/ChangeImpactExplanationShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.ChangeImpactExplanation"
            }
          },
          "unevaluatedProperties": false,
          "description": "Explainable impact, retaining the difference between reachability, actual execution, changed output and held content.",
          "x-invariants": []
        },
        "EvidenceGapShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "target_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "missing_kind": {
              "type": "string",
              "enum": [
                "not_instrumented",
                "not_observed",
                "unbound_identity",
                "not_required",
                "unavailable"
              ]
            },
            "reason": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            }
          },
          "required": [
            "target_ref",
            "missing_kind",
            "reason"
          ]
        },
        "EvidenceGap": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:evidence#/$defs/EvidenceGapShape"
            }
          ],
          "properties": {
            "type": {
              "const": "evidence.EvidenceGap"
            }
          },
          "unevaluatedProperties": false,
          "description": "Explicit missing/irrelevant evidence, not a fabricated environment observation or machine binding.",
          "x-invariants": []
        }
      },
      "x-status": "review_only_not_canonical",
      "x-imports": [
        "urn:zenith:ontology-review:shared:0.1.0:authority",
        "urn:zenith:ontology-review:shared:0.1.0:foundation"
      ]
    },
    "authority": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "urn:zenith:ontology-review:shared:0.1.0:authority",
      "title": "Authority references · noncanonical draft",
      "$defs": {
        "VerifiedOperationAuthorityReferenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "receiver_ref": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "operation": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "subject_ref": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "resource_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "policy_revision_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "verified_context_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "receipt_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "valid_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            }
          },
          "required": [
            "receiver_ref",
            "operation",
            "subject_ref",
            "resource_ref",
            "policy_revision_ref",
            "verified_context_ref",
            "receipt_ref",
            "valid_window"
          ]
        },
        "VerifiedOperationAuthorityReference": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:authority#/$defs/VerifiedOperationAuthorityReferenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "authority.VerifiedOperationAuthorityReference"
            }
          },
          "unevaluatedProperties": false,
          "description": "Reference to an existing receiver-verified context/receipt; this record cannot itself authenticate, issue, broaden or delegate authority.",
          "x-invariants": [
            "Actual receiver must verify receipt/context signatures, audience, subject, operation, resource, policy and validity. Schema success is not authorization."
          ]
        },
        "ContributionPolicyReferenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "subject_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "target_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "requested_operations": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "field_allowlist": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:/(?:[^~/]|~0|~1)*)*$"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "policy_revision_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "valid_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "authority_reference": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "authority.VerifiedOperationAuthorityReference"
              ]
            },
            "parent_policy_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            }
          },
          "required": [
            "subject_ref",
            "target_ref",
            "requested_operations",
            "field_allowlist",
            "policy_revision_ref",
            "valid_window"
          ]
        },
        "ContributionPolicyReference": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:authority#/$defs/ContributionPolicyReferenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "authority.ContributionPolicyReference"
            }
          },
          "unevaluatedProperties": false,
          "description": "Descriptive contribution policy/intent. Existing receiver authority must be checked for every accepted operation; no local may_redelegate flag mints a delegation.",
          "x-invariants": []
        },
        "DisclosurePolicyReferenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "policy_revision_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "issuer_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "purpose": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "allowed_field_pointers": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^(?:/(?:[^~/]|~0|~1)*)*$"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "valid_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            }
          },
          "required": [
            "policy_revision_ref",
            "issuer_ref",
            "purpose",
            "allowed_field_pointers",
            "valid_window"
          ]
        },
        "DisclosurePolicyReference": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:authority#/$defs/DisclosurePolicyReferenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "authority.DisclosurePolicyReference"
            }
          },
          "unevaluatedProperties": false,
          "description": "Pinned receiver-owned disclosure policy reference. The policy is interpreted and enforced by its owner, not by ontology membership.",
          "x-invariants": []
        }
      },
      "x-status": "review_only_not_canonical",
      "x-imports": [
        "urn:zenith:ontology-review:shared:0.1.0:foundation"
      ]
    },
    "documents": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "urn:zenith:ontology-review:shared:0.1.0:documents",
      "title": "Documents & composition · noncanonical draft",
      "$defs": {
        "CandidateFieldUpdate": {
          "type": "object",
          "properties": {
            "target": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
            },
            "value": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ValueSnapshot"
            },
            "value_schema_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "target",
            "value",
            "value_schema_ref"
          ],
          "additionalProperties": false,
          "description": "Proposed field value with exact expected revision; accepted source commands remain owner-validated."
        },
        "DocumentRevisionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "document_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "document_kind_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "content_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "content_schema_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "source_bindings": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "author_post_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "directory.ScopedPost"
              ]
            },
            "approval_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "evidence.RevisionApproval"
              ]
            },
            "state": {
              "type": "string",
              "enum": [
                "draft",
                "reviewed",
                "approved",
                "issued"
              ]
            },
            "issuing_authority_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "authority.VerifiedOperationAuthorityReference"
              ]
            }
          },
          "required": [
            "document_ref",
            "document_kind_ref",
            "content_ref",
            "source_bindings",
            "state"
          ]
        },
        "DocumentRevision": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/DocumentRevisionShape"
            },
            {
              "if": {
                "properties": {
                  "state": {
                    "enum": [
                      "approved",
                      "issued"
                    ]
                  }
                }
              },
              "then": {
                "required": [
                  "approval_ref"
                ]
              }
            },
            {
              "if": {
                "properties": {
                  "state": {
                    "const": "issued"
                  }
                }
              },
              "then": {
                "required": [
                  "issuing_authority_ref"
                ]
              }
            }
          ],
          "properties": {
            "type": {
              "const": "documents.DocumentRevision"
            }
          },
          "unevaluatedProperties": false,
          "description": "Immutable document content revision; film kinds, templates and their required inputs remain film-owned.",
          "x-invariants": [
            "Approved/issued states require an exact approval reference. Issued state also requires issuing_authority_ref; actual issue remains a receiver-owned operation."
          ]
        },
        "RenditionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "document_revision_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.DocumentRevision"
              ]
            },
            "content_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "template_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "creating_attempt_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "owner": {
                  "const": "process-runtime"
                },
                "kind": {
                  "const": "Attempt"
                }
              },
              "x-target-types": [
                "provider:process-runtime:Attempt"
              ]
            }
          },
          "required": [
            "document_revision_ref",
            "content_ref",
            "template_ref"
          ]
        },
        "Rendition": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/RenditionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "documents.Rendition"
            }
          },
          "unevaluatedProperties": false,
          "description": "Rendered representation of an exact document revision; it is not a new editable source of facts.",
          "x-invariants": []
        },
        "PDFRenditionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/RenditionShape"
            }
          ],
          "properties": {
            "format": {
              "const": "application/pdf"
            },
            "content_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
                }
              ],
              "properties": {
                "media_type": {
                  "const": "application/pdf"
                }
              }
            }
          },
          "required": [
            "format",
            "content_ref"
          ]
        },
        "PDFRendition": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/PDFRenditionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "documents.PDFRendition"
            }
          },
          "unevaluatedProperties": false,
          "description": "PDF specialization. PDF creation alone does not approve, issue or dispatch a document.",
          "x-invariants": []
        },
        "AuthoringCandidateShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "input_bindings": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "proposed_updates": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/CandidateFieldUpdate"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "author_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "implementation_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            }
          },
          "required": [
            "input_bindings",
            "proposed_updates",
            "author_ref"
          ]
        },
        "AuthoringCandidate": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/AuthoringCandidateShape"
            }
          ],
          "properties": {
            "type": {
              "const": "documents.AuthoringCandidate"
            }
          },
          "unevaluatedProperties": false,
          "description": "Manual or tool-produced candidate, validated against domain schemas; not a second source store or an automatic write.",
          "x-invariants": []
        },
        "PackDefinitionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "label": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "kind_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "section_definition_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                  }
                ],
                "x-target-types": [
                  "documents.SectionDefinition"
                ]
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "owner_post_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "directory.ScopedPost"
              ]
            },
            "applicability_schema_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "label",
            "kind_ref",
            "section_definition_refs"
          ]
        },
        "PackDefinition": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/PackDefinitionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "documents.PackDefinition"
            }
          },
          "unevaluatedProperties": false,
          "description": "Reusable pack recipe. Film defines camera/location/cast pack content; shared code owns composition mechanics.",
          "x-invariants": []
        },
        "SectionDefinitionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "label": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "source_field_schema_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "requiredness_rule_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "minimum_items": {
              "type": "integer",
              "minimum": 0
            },
            "policy_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "authority.DisclosurePolicyReference"
              ]
            }
          },
          "required": [
            "label",
            "source_field_schema_refs",
            "minimum_items"
          ]
        },
        "SectionDefinition": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/SectionDefinitionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "documents.SectionDefinition"
            }
          },
          "unevaluatedProperties": false,
          "description": "Reusable section contract with typed inputs, conditional applicability and disclosure requirements.",
          "x-invariants": []
        },
        "PackInstanceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "definition_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.PackDefinition"
              ]
            },
            "purpose": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "domain_scope_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            }
          },
          "required": [
            "definition_ref",
            "purpose",
            "domain_scope_ref"
          ]
        },
        "PackInstance": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/PackInstanceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "documents.PackInstance"
            }
          },
          "unevaluatedProperties": false,
          "description": "Scoped logical pack identity, not the immutable content revision.",
          "x-invariants": []
        },
        "PackRevisionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/DocumentRevisionShape"
            }
          ],
          "properties": {
            "instance_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "documents.PackInstance"
              ]
            },
            "definition_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.PackDefinition"
              ]
            },
            "section_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                  }
                ],
                "x-target-types": [
                  "documents.Section"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "previous_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.PackRevision"
              ]
            }
          },
          "required": [
            "instance_ref",
            "definition_ref",
            "section_refs"
          ]
        },
        "PackRevision": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/PackRevisionShape"
            },
            {
              "if": {
                "properties": {
                  "state": {
                    "enum": [
                      "approved",
                      "issued"
                    ]
                  }
                }
              },
              "then": {
                "required": [
                  "approval_ref"
                ]
              }
            },
            {
              "if": {
                "properties": {
                  "state": {
                    "const": "issued"
                  }
                }
              },
              "then": {
                "required": [
                  "issuing_authority_ref"
                ]
              }
            }
          ],
          "properties": {
            "type": {
              "const": "documents.PackRevision"
            }
          },
          "unevaluatedProperties": false,
          "description": "Immutable composed document revision with revision-bound sections/inclusions; it does not overwrite included source objects.",
          "x-invariants": []
        },
        "SectionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "definition_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.SectionDefinition"
              ]
            },
            "inclusion_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                  }
                ],
                "x-target-types": [
                  "documents.RevisionInclusion"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "state": {
              "type": "string",
              "enum": [
                "ready",
                "missing_input",
                "not_applicable"
              ]
            },
            "missing_requirement_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            }
          },
          "required": [
            "definition_ref",
            "inclusion_refs",
            "state"
          ]
        },
        "Section": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/SectionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "documents.Section"
            }
          },
          "unevaluatedProperties": false,
          "description": "Materialized section of a composition. Missing data remains explicit rather than re-entered as guessed text.",
          "x-invariants": []
        },
        "RevisionInclusionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "target_revision_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "display_order": {
              "type": "integer",
              "minimum": 0
            },
            "sensitivity": {
              "type": "string",
              "enum": [
                "public",
                "production",
                "department",
                "recipient",
                "restricted"
              ]
            },
            "purpose": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            }
          },
          "required": [
            "target_revision_ref",
            "display_order",
            "sensitivity",
            "purpose"
          ]
        },
        "RevisionInclusion": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/RevisionInclusionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "documents.RevisionInclusion"
            }
          },
          "unevaluatedProperties": false,
          "description": "An ordered inclusion references an exact revision, avoiding another writable copy of the included source.",
          "x-invariants": []
        },
        "RedactionManifestShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "source_revision_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.DocumentRevision"
              ]
            },
            "excluded_pointers": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "policy_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "authority.DisclosurePolicyReference"
              ]
            },
            "reason": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            }
          },
          "required": [
            "source_revision_ref",
            "excluded_pointers",
            "policy_ref",
            "reason"
          ]
        },
        "RedactionManifest": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/RedactionManifestShape"
            }
          ],
          "properties": {
            "type": {
              "const": "documents.RedactionManifest"
            }
          },
          "unevaluatedProperties": false,
          "description": "Evidence of excluded fields under a pinned policy; the raw restricted values need not be repeated in the manifest.",
          "x-invariants": []
        },
        "RecipientProjectionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "master_revision_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.DocumentRevision"
              ]
            },
            "recipient_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "policy_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "authority.DisclosurePolicyReference"
              ]
            },
            "authority_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "authority.VerifiedOperationAuthorityReference"
              ]
            },
            "included_pointers": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/FieldPointer"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "redaction_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.RedactionManifest"
              ]
            },
            "content_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "master_revision_ref",
            "recipient_ref",
            "policy_ref",
            "authority_ref",
            "included_pointers",
            "redaction_ref",
            "content_ref"
          ]
        },
        "RecipientProjection": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:documents#/$defs/RecipientProjectionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "documents.RecipientProjection"
            }
          },
          "unevaluatedProperties": false,
          "description": "Immutable recipient-specific view of one master revision. Policy and actual receiver authority are separate from role or contact membership.",
          "x-invariants": []
        }
      },
      "x-status": "review_only_not_canonical",
      "x-imports": [
        "urn:zenith:ontology-review:shared:0.1.0:authority",
        "urn:zenith:ontology-review:shared:0.1.0:directory",
        "urn:zenith:ontology-review:shared:0.1.0:evidence",
        "urn:zenith:ontology-review:shared:0.1.0:foundation"
      ]
    },
    "handoff": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "urn:zenith:ontology-review:shared:0.1.0:handoff",
      "title": "Dispatch & receiving evidence · noncanonical draft",
      "$defs": {
        "DispatchIntentShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "payload_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.RecipientProjection"
              ]
            },
            "recipient_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "endpoint_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "channel": {
              "type": "string",
              "enum": [
                "email",
                "matrix",
                "nostr",
                "api",
                "file_transfer",
                "manual"
              ]
            },
            "due_at": {
              "type": "string",
              "format": "date-time"
            },
            "idempotency_key": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "authority_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "authority.VerifiedOperationAuthorityReference"
              ]
            }
          },
          "required": [
            "payload_ref",
            "recipient_ref",
            "endpoint_ref",
            "channel",
            "due_at",
            "idempotency_key",
            "authority_ref"
          ]
        },
        "DispatchIntent": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:handoff#/$defs/DispatchIntentShape"
            }
          ],
          "properties": {
            "type": {
              "const": "handoff.DispatchIntent"
            }
          },
          "unevaluatedProperties": false,
          "description": "Versioned outbound intent for an exact permitted payload; no dispatch occurs merely because an intent exists.",
          "x-invariants": []
        },
        "DistributionAttemptShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "intent_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "handoff.DispatchIntent"
              ]
            },
            "runtime_effect_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "owner": {
                  "const": "process-runtime"
                },
                "kind": {
                  "const": "RuntimeEffect"
                }
              },
              "x-target-types": [
                "provider:process-runtime:RuntimeEffect"
              ]
            },
            "attempt_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "owner": {
                  "const": "process-runtime"
                },
                "kind": {
                  "const": "Attempt"
                }
              },
              "x-target-types": [
                "provider:process-runtime:Attempt"
              ]
            },
            "attempted_at": {
              "type": "string",
              "format": "date-time"
            },
            "transport_result": {
              "type": "string",
              "enum": [
                "submitted",
                "acknowledged",
                "failed",
                "unknown"
              ]
            },
            "provider_reference": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024
            },
            "evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "intent_ref",
            "attempted_at",
            "transport_result",
            "evidence_ref"
          ]
        },
        "DistributionAttempt": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:handoff#/$defs/DistributionAttemptShape"
            }
          ],
          "properties": {
            "type": {
              "const": "handoff.DistributionAttempt"
            }
          },
          "unevaluatedProperties": false,
          "description": "Transport evidence referencing the canonical effect/attempt when Runtime executes it. External/manual transport may lack a Runtime effect.",
          "x-invariants": []
        },
        "AcknowledgmentShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "projection_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.RecipientProjection"
              ]
            },
            "recipient_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "acknowledged_at": {
              "type": "string",
              "format": "date-time"
            },
            "evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "projection_ref",
            "recipient_ref",
            "acknowledged_at",
            "evidence_ref"
          ]
        },
        "Acknowledgment": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:handoff#/$defs/AcknowledgmentShape"
            }
          ],
          "properties": {
            "type": {
              "const": "handoff.Acknowledgment"
            }
          },
          "unevaluatedProperties": false,
          "description": "Acknowledgment of the exact personal view, not final recipient acceptance or proof of source correctness.",
          "x-invariants": []
        },
        "ManifestItemShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "package_revision_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "documents.DocumentRevision"
              ]
            },
            "target_revision_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "content_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "filename": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "dependency_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            }
          },
          "required": [
            "package_revision_ref",
            "target_revision_ref",
            "content_ref",
            "filename",
            "dependency_refs"
          ]
        },
        "ManifestItem": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:handoff#/$defs/ManifestItemShape"
            }
          ],
          "properties": {
            "type": {
              "const": "handoff.ManifestItem"
            }
          },
          "unevaluatedProperties": false,
          "description": "Exact package item identity and byte descriptor/checksum; copying and custody remain separate from the source identity.",
          "x-invariants": []
        },
        "DeliveryEvidenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "distribution_attempt_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "handoff.DistributionAttempt"
              ]
            },
            "kind": {
              "type": "string",
              "enum": [
                "submitted",
                "provider_acknowledged",
                "recipient_acknowledged",
                "received_verified",
                "failed",
                "unknown"
              ]
            },
            "observed_at": {
              "type": "string",
              "format": "date-time"
            },
            "observer_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "evidence_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "distribution_attempt_ref",
            "kind",
            "observed_at",
            "observer_ref",
            "evidence_ref"
          ]
        },
        "DeliveryEvidence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:handoff#/$defs/DeliveryEvidenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "handoff.DeliveryEvidence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Receiving/transport observation. Not Devgraph EventReceipt, Runtime Receipt, approval or recipient acceptance.",
          "x-invariants": []
        },
        "ReceivingEvidenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "manifest_item_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "handoff.ManifestItem"
              ]
            },
            "received_content_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "verified_digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            },
            "receiver_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "received_at": {
              "type": "string",
              "format": "date-time"
            },
            "verification_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "evidence.VerificationAssertion"
              ]
            }
          },
          "required": [
            "manifest_item_ref",
            "received_content_ref",
            "verified_digest",
            "receiver_ref",
            "received_at"
          ]
        },
        "ReceivingEvidence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:handoff#/$defs/ReceivingEvidenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "handoff.ReceivingEvidence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Byte-level receiving/checksum evidence, distinct from creative/technical acceptance.",
          "x-invariants": [
            "verified_digest matches received_content_ref.content_hash and the manifest item content hash when the item is resolved."
          ]
        }
      },
      "x-status": "review_only_not_canonical",
      "x-imports": [
        "urn:zenith:ontology-review:shared:0.1.0:authority",
        "urn:zenith:ontology-review:shared:0.1.0:documents",
        "urn:zenith:ontology-review:shared:0.1.0:evidence",
        "urn:zenith:ontology-review:shared:0.1.0:foundation"
      ]
    },
    "events": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "urn:zenith:ontology-review:shared:0.1.0:events",
      "title": "Events & source registry · noncanonical draft",
      "$defs": {
        "HubEventEnvelope": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "topic": {
              "type": "string",
              "pattern": "^[a-z][a-z0-9_]*(?:\\.[a-z0-9_]+)+$",
              "maxLength": 160
            },
            "source": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "payload": {
              "type": "object"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          },
          "required": [
            "id",
            "topic",
            "source",
            "payload",
            "timestamp"
          ],
          "additionalProperties": false,
          "description": "Bounded local adapter for the existing five-field Hub dataclass. Payload is validated separately by its exact registered schema; transport source is descriptive, not authenticated."
        },
        "EventOccurrenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "logical_key": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "topic": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "subject_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "occurred_at": {
              "type": "string",
              "format": "date-time"
            },
            "effective_at": {
              "type": "string",
              "format": "date-time"
            },
            "assertor_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "correlation_key": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "caused_by_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "events.EventOccurrence"
              ]
            }
          },
          "required": [
            "logical_key",
            "topic",
            "subject_refs",
            "occurred_at",
            "assertor_ref",
            "correlation_key"
          ]
        },
        "EventOccurrence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/EventOccurrenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "events.EventOccurrence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Logical domain occurrence, separate from an envelope delivery and consumer processing state.",
          "x-invariants": []
        },
        "EnvelopeBindingShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "occurrence_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "events.EventOccurrence"
              ]
            },
            "envelope_content_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "transport_id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "received_at": {
              "type": "string",
              "format": "date-time"
            }
          },
          "required": [
            "occurrence_ref",
            "envelope_content_ref",
            "transport_id",
            "received_at"
          ]
        },
        "EnvelopeBinding": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/EnvelopeBindingShape"
            }
          ],
          "properties": {
            "type": {
              "const": "events.EnvelopeBinding"
            }
          },
          "unevaluatedProperties": false,
          "description": "Retains exact transport bytes and links retries/deliveries to one logical occurrence without changing the Hub wire shape.",
          "x-invariants": []
        },
        "ScheduledTriggerShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/EventOccurrenceShape"
            }
          ],
          "properties": {
            "scheduled_for": {
              "type": "string",
              "format": "date-time"
            },
            "milestone_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "planning.DomainMilestone"
              ]
            }
          },
          "required": [
            "scheduled_for"
          ]
        },
        "ScheduledTrigger": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/ScheduledTriggerShape"
            }
          ],
          "properties": {
            "type": {
              "const": "events.ScheduledTrigger"
            }
          },
          "unevaluatedProperties": false,
          "description": "Scheduled logical occurrence; recurrence/timezone/cutoff rules belong in its pinned trigger policy, not a transport topic name.",
          "x-invariants": []
        },
        "ObservationOccurrenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/EventOccurrenceShape"
            }
          ],
          "properties": {
            "observation_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "evidence.ObservationAssertion"
              ]
            }
          },
          "required": [
            "observation_ref"
          ]
        },
        "ObservationOccurrence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/ObservationOccurrenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "events.ObservationOccurrence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Occurrence carrying a sourced assertion; accepted source mutation requires the separate owner command and authority checks.",
          "x-invariants": []
        },
        "CompletionOccurrenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/EventOccurrenceShape"
            }
          ],
          "properties": {
            "completion_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "evidence.CompletionAssertion"
              ]
            }
          },
          "required": [
            "completion_ref"
          ]
        },
        "CompletionOccurrence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/CompletionOccurrenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "events.CompletionOccurrence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Typed occurrence referencing the actual assertion/intent/evidence; it does not execute or authorize the downstream operation.",
          "x-invariants": []
        },
        "ApprovalOccurrenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/EventOccurrenceShape"
            }
          ],
          "properties": {
            "approval_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "evidence.RevisionApproval"
              ]
            }
          },
          "required": [
            "approval_ref"
          ]
        },
        "ApprovalOccurrence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/ApprovalOccurrenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "events.ApprovalOccurrence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Typed occurrence referencing the actual assertion/intent/evidence; it does not execute or authorize the downstream operation.",
          "x-invariants": []
        },
        "DispatchOccurrenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/EventOccurrenceShape"
            }
          ],
          "properties": {
            "intent_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "handoff.DispatchIntent"
              ]
            }
          },
          "required": [
            "intent_ref"
          ]
        },
        "DispatchOccurrence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/DispatchOccurrenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "events.DispatchOccurrence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Typed occurrence referencing the actual assertion/intent/evidence; it does not execute or authorize the downstream operation.",
          "x-invariants": []
        },
        "AcknowledgementOccurrenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/EventOccurrenceShape"
            }
          ],
          "properties": {
            "acknowledgment_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "handoff.Acknowledgment"
              ]
            }
          },
          "required": [
            "acknowledgment_ref"
          ]
        },
        "AcknowledgementOccurrence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/AcknowledgementOccurrenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "events.AcknowledgementOccurrence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Typed occurrence referencing the actual assertion/intent/evidence; it does not execute or authorize the downstream operation.",
          "x-invariants": []
        },
        "TransferVerificationOccurrenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/EventOccurrenceShape"
            }
          ],
          "properties": {
            "receiving_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "handoff.ReceivingEvidence"
              ]
            }
          },
          "required": [
            "receiving_ref"
          ]
        },
        "TransferVerificationOccurrence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/TransferVerificationOccurrenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "events.TransferVerificationOccurrence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Typed occurrence referencing the actual assertion/intent/evidence; it does not execute or authorize the downstream operation.",
          "x-invariants": []
        },
        "ConsumerDecisionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "occurrence_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "events.EventOccurrence"
              ]
            },
            "consumer_ref": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "policy_revision_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "decision": {
              "type": "string",
              "enum": [
                "accepted",
                "rejected",
                "duplicate",
                "blocked",
                "applied",
                "failed"
              ]
            },
            "reason": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2048
            },
            "source_command_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "run_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                  }
                ],
                "properties": {
                  "owner": {
                    "const": "process-runtime"
                  },
                  "kind": {
                    "const": "ProcessRun"
                  }
                },
                "x-target-types": [
                  "provider:process-runtime:ProcessRun"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "receipt_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                  }
                ],
                "properties": {
                  "owner": {
                    "const": "process-runtime"
                  },
                  "kind": {
                    "const": "Receipt"
                  }
                },
                "x-target-types": [
                  "provider:process-runtime:Receipt"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            }
          },
          "required": [
            "occurrence_ref",
            "consumer_ref",
            "policy_revision_ref",
            "decision",
            "reason"
          ]
        },
        "ConsumerDecision": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/ConsumerDecisionShape"
            },
            {
              "if": {
                "properties": {
                  "decision": {
                    "const": "applied"
                  }
                }
              },
              "then": {
                "anyOf": [
                  {
                    "required": [
                      "source_command_ref"
                    ]
                  },
                  {
                    "required": [
                      "run_refs"
                    ],
                    "properties": {
                      "run_refs": {
                        "minItems": 1
                      }
                    }
                  }
                ]
              }
            }
          ],
          "properties": {
            "type": {
              "const": "events.ConsumerDecision"
            }
          },
          "unevaluatedProperties": false,
          "description": "Consumer-owned processing decision. Domain commands and Runtime records retain their actual mutation/execution state.",
          "x-invariants": [
            "Applied requires source_command_ref or a run_ref; this profile is evidence of a decision, not a replay/durable-consumer implementation."
          ]
        },
        "TopicDefinitionShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "topic": {
              "type": "string",
              "pattern": "^[a-z][a-z0-9_]*(?:\\.[a-z0-9_]+)+$"
            },
            "payload_schema_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "steward_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "publisher_profile_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "subject_kind_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "logical_identity_rule_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "sensitivity": {
              "type": "string",
              "enum": [
                "public",
                "organization",
                "production",
                "restricted"
              ]
            },
            "compatibility": {
              "type": "string",
              "enum": [
                "immutable_version",
                "reader_first_new_version"
              ]
            }
          },
          "required": [
            "topic",
            "payload_schema_ref",
            "steward_ref",
            "publisher_profile_refs",
            "subject_kind_refs",
            "logical_identity_rule_ref",
            "sensitivity",
            "compatibility"
          ]
        },
        "TopicDefinition": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:events#/$defs/TopicDefinitionShape"
            }
          ],
          "properties": {
            "type": {
              "const": "events.TopicDefinition"
            }
          },
          "unevaluatedProperties": false,
          "description": "Pinned topic/schema/source policy registry. A prefix or source string is not membership, tenancy or permission.",
          "x-invariants": []
        }
      },
      "x-status": "review_only_not_canonical",
      "x-imports": [
        "urn:zenith:ontology-review:shared:0.1.0:evidence",
        "urn:zenith:ontology-review:shared:0.1.0:foundation",
        "urn:zenith:ontology-review:shared:0.1.0:handoff",
        "urn:zenith:ontology-review:shared:0.1.0:planning"
      ]
    },
    "execution": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "urn:zenith:ontology-review:shared:0.1.0:execution",
      "title": "Execution methods & evidence · noncanonical draft",
      "$defs": {
        "BoundaryMapping": {
          "type": "object",
          "properties": {
            "parent_port": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TypedBoundaryPort"
            },
            "child_process_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "owner": {
                  "const": "process-runtime"
                },
                "kind": {
                  "const": "ProcessVersion"
                }
              },
              "x-target-types": [
                "provider:process-runtime:ProcessVersion"
              ]
            },
            "child_port": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TypedBoundaryPort"
            },
            "direction": {
              "type": "string",
              "enum": [
                "input",
                "output"
              ]
            }
          },
          "required": [
            "parent_port",
            "child_process_ref",
            "child_port",
            "direction"
          ],
          "additionalProperties": false,
          "description": "Exact parent/child boundary mapping. Semantic validation compares value schema digests and direction; no native subprocess execution is implied."
        },
        "ImplementationArtifactShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "content_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "entry_point": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512
            },
            "implementation_kind": {
              "type": "string",
              "enum": [
                "manual_procedure",
                "python_module",
                "rust_binary",
                "typescript_module",
                "api_adapter",
                "hermes_skill",
                "hermes_plugin"
              ]
            },
            "tool_release_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                  }
                ],
                "x-target-types": [
                  "execution.ToolRelease"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            }
          },
          "required": [
            "content_ref",
            "entry_point",
            "implementation_kind",
            "tool_release_refs"
          ]
        },
        "ImplementationArtifact": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:execution#/$defs/ImplementationArtifactShape"
            }
          ],
          "properties": {
            "type": {
              "const": "execution.ImplementationArtifact"
            }
          },
          "unevaluatedProperties": false,
          "description": "Exact code/procedure revision and entry point; a skill/plugin name alone does not establish installation, compatibility or authority.",
          "x-invariants": []
        },
        "ToolReleaseShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            },
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:execution#/$defs/ImplementationArtifactShape"
            }
          ],
          "properties": {
            "version": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "version"
          ]
        },
        "ToolRelease": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:execution#/$defs/ToolReleaseShape"
            }
          ],
          "properties": {
            "type": {
              "const": "execution.ToolRelease"
            }
          },
          "unevaluatedProperties": false,
          "description": "Pinned versioned tool/skill/procedure artifact. Tool user, release and invocation remain separate.",
          "x-invariants": []
        },
        "ExecutionEnvironmentRequirementShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "os_families": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "architectures": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "runtime_constraint_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            },
            "capacity_requirements": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:resources#/$defs/CapacityRequirement"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "network_policy_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            }
          },
          "required": [
            "os_families",
            "architectures",
            "runtime_constraint_ref",
            "capacity_requirements"
          ]
        },
        "ExecutionEnvironmentRequirement": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:execution#/$defs/ExecutionEnvironmentRequirementShape"
            }
          ],
          "properties": {
            "type": {
              "const": "execution.ExecutionEnvironmentRequirement"
            }
          },
          "unevaluatedProperties": false,
          "description": "Declared environment constraints, not an observation of a particular worker or machine.",
          "x-invariants": []
        },
        "EnvironmentSnapshotShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "resource_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "resources.ComputeResource"
              ]
            },
            "observed_at": {
              "type": "string",
              "format": "date-time"
            },
            "observer_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "Entity",
                    "Person",
                    "Agent",
                    "Organization"
                  ]
                }
              },
              "x-target-types": [
                "https://zenith-research.ca/ontology/terms/Entity",
                "https://zenith-research.ca/ontology/terms/Person",
                "https://zenith-research.ca/ontology/terms/Agent",
                "https://zenith-research.ca/ontology/terms/Organization"
              ]
            },
            "os": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "architecture": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "runtime_versions": {
              "type": "object",
              "additionalProperties": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "maxProperties": 64
            },
            "dependency_content_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "trust_level": {
              "type": "string",
              "enum": [
                "self_reported_local",
                "provider_observed",
                "attested"
              ]
            },
            "attestation_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "resource_ref",
            "observed_at",
            "observer_ref",
            "os",
            "architecture",
            "runtime_versions",
            "dependency_content_refs",
            "trust_level"
          ]
        },
        "EnvironmentSnapshot": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:execution#/$defs/EnvironmentSnapshotShape"
            },
            {
              "if": {
                "properties": {
                  "trust_level": {
                    "const": "attested"
                  }
                }
              },
              "then": {
                "required": [
                  "attestation_ref"
                ]
              }
            }
          ],
          "properties": {
            "type": {
              "const": "execution.EnvironmentSnapshot"
            }
          },
          "unevaluatedProperties": false,
          "description": "Observed environment evidence. Current DayCall is self_reported_local; no historical machine/version is filled from today.",
          "x-invariants": [
            "attested requires attestation_ref; actual attestation verification remains a separate verifier operation."
          ]
        },
        "InvocationEvidenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "attempt_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "owner": {
                  "const": "process-runtime"
                },
                "kind": {
                  "const": "Attempt"
                }
              },
              "x-target-types": [
                "provider:process-runtime:Attempt"
              ]
            },
            "implementation_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "execution.ImplementationArtifact"
              ]
            },
            "environment_state": {
              "type": "string",
              "enum": [
                "observed",
                "not_instrumented",
                "not_required"
              ]
            },
            "environment_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "execution.EnvironmentSnapshot"
              ]
            },
            "gap_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "evidence.EvidenceGap"
              ]
            },
            "tool_release_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                  }
                ],
                "x-target-types": [
                  "execution.ToolRelease"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "result_content_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "runtime_receipt_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "properties": {
                "owner": {
                  "const": "process-runtime"
                },
                "kind": {
                  "const": "Receipt"
                }
              },
              "x-target-types": [
                "provider:process-runtime:Receipt"
              ]
            }
          },
          "required": [
            "attempt_ref",
            "implementation_ref",
            "environment_state",
            "tool_release_refs",
            "result_content_refs"
          ]
        },
        "InvocationEvidence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:execution#/$defs/InvocationEvidenceShape"
            },
            {
              "if": {
                "properties": {
                  "environment_state": {
                    "const": "observed"
                  }
                }
              },
              "then": {
                "required": [
                  "environment_ref"
                ],
                "not": {
                  "required": [
                    "gap_ref"
                  ]
                }
              },
              "else": {
                "required": [
                  "gap_ref"
                ],
                "not": {
                  "required": [
                    "environment_ref"
                  ]
                }
              }
            }
          ],
          "properties": {
            "type": {
              "const": "execution.InvocationEvidence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Supplementary invocation evidence referencing the actual Attempt; no second attempt, lease, executor claim or receipt.",
          "x-invariants": [
            "Observed requires environment_ref; non-observed states prohibit it and reference a gap instead."
          ]
        },
        "ExecutionPolicyShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "work_specification_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "mode": {
              "type": "string",
              "enum": [
                "manual",
                "assisted",
                "automated"
              ]
            },
            "implementation_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "execution.ImplementationArtifact"
              ]
            },
            "required_ports": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TypedBoundaryPort"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "acceptance_criteria_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "environment_requirement_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                }
              ],
              "x-target-types": [
                "execution.ExecutionEnvironmentRequirement"
              ]
            },
            "authority_policy_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            }
          },
          "required": [
            "work_specification_ref",
            "mode",
            "implementation_ref",
            "required_ports",
            "acceptance_criteria_refs",
            "environment_requirement_ref",
            "authority_policy_ref"
          ]
        },
        "ExecutionPolicy": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:execution#/$defs/ExecutionPolicyShape"
            }
          ],
          "properties": {
            "type": {
              "const": "execution.ExecutionPolicy"
            }
          },
          "unevaluatedProperties": false,
          "description": "Versioned implementation selection preserving input/output/acceptance contracts; manual-to-Hermes changes method, not record ownership or authorization.",
          "x-invariants": []
        },
        "DecompositionMappingShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "parent_work_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
            },
            "child_process_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                  }
                ],
                "properties": {
                  "owner": {
                    "const": "process-runtime"
                  },
                  "kind": {
                    "const": "ProcessVersion"
                  }
                },
                "x-target-types": [
                  "provider:process-runtime:ProcessVersion"
                ]
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "boundary_mappings": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:execution#/$defs/BoundaryMapping"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "preserved_acceptance_refs": {
              "type": "array",
              "items": {
                "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
              },
              "minItems": 1,
              "maxItems": 128,
              "uniqueItems": true
            },
            "projection": {
              "type": "string",
              "enum": [
                "design_only",
                "flat_dag_projection"
              ]
            }
          },
          "required": [
            "parent_work_ref",
            "child_process_refs",
            "boundary_mappings",
            "preserved_acceptance_refs",
            "projection"
          ]
        },
        "DecompositionMapping": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:execution#/$defs/DecompositionMappingShape"
            }
          ],
          "properties": {
            "type": {
              "const": "execution.DecompositionMapping"
            }
          },
          "unevaluatedProperties": false,
          "description": "Refinement/port mapping, not containment-as-execution or a second Runtime compiler.",
          "x-invariants": []
        },
        "CapabilityConceptShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "definition_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "label": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "qualification_schema_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "definition_ref",
            "label"
          ]
        },
        "CapabilityConcept": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:execution#/$defs/CapabilityConceptShape"
            }
          ],
          "properties": {
            "type": {
              "const": "execution.CapabilityConcept"
            }
          },
          "unevaluatedProperties": false,
          "description": "Capability descriptor. Claimed ability, qualification, capacity and verified authority remain independent.",
          "x-invariants": []
        }
      },
      "x-status": "review_only_not_canonical",
      "x-imports": [
        "urn:zenith:ontology-review:shared:0.1.0:evidence",
        "urn:zenith:ontology-review:shared:0.1.0:foundation",
        "urn:zenith:ontology-review:shared:0.1.0:resources"
      ]
    },
    "planning": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "urn:zenith:ontology-review:shared:0.1.0:planning",
      "title": "Planning · noncanonical draft",
      "$defs": {
        "DomainMilestoneShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "label": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "subject_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
            },
            "planned_window": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/TimeWindow"
            },
            "responsible_post_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "directory.ScopedPost"
              ]
            },
            "requirement_refs": {
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RevisionQualifiedRef"
                  }
                ],
                "x-target-types": [
                  "resources.ResourceRequirement"
                ]
              },
              "minItems": 0,
              "maxItems": 128,
              "uniqueItems": true
            },
            "state": {
              "type": "string",
              "enum": [
                "planned",
                "ready",
                "done",
                "blocked"
              ]
            }
          },
          "required": [
            "label",
            "subject_ref",
            "planned_window",
            "state"
          ]
        },
        "DomainMilestone": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:planning#/$defs/DomainMilestoneShape"
            }
          ],
          "properties": {
            "type": {
              "const": "planning.DomainMilestone"
            }
          },
          "unevaluatedProperties": false,
          "description": "Domain planning checkpoint; an optional film specialization. Not Devgraph Work Milestone or an execution StepRun.",
          "x-invariants": []
        },
        "ScopedPrecedenceShape": {
          "type": "object",
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/RecordBase"
            }
          ],
          "properties": {
            "predecessor_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "planning.DomainMilestone"
              ]
            },
            "successor_ref": {
              "allOf": [
                {
                  "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/OwnedRecordRef"
                }
              ],
              "x-target-types": [
                "planning.DomainMilestone"
              ]
            },
            "relation": {
              "type": "string",
              "enum": [
                "finish_to_start",
                "start_to_start",
                "finish_to_finish",
                "start_to_finish"
              ]
            },
            "lag_seconds": {
              "type": "integer",
              "minimum": 0
            },
            "basis_ref": {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:foundation#/$defs/ArtifactRef"
            }
          },
          "required": [
            "predecessor_ref",
            "successor_ref",
            "relation",
            "lag_seconds",
            "basis_ref"
          ]
        },
        "ScopedPrecedence": {
          "allOf": [
            {
              "$ref": "urn:zenith:ontology-review:shared:0.1.0:planning#/$defs/ScopedPrecedenceShape"
            }
          ],
          "properties": {
            "type": {
              "const": "planning.ScopedPrecedence"
            }
          },
          "unevaluatedProperties": false,
          "description": "Explicit temporal planning constraint; not graph containment, data flow or evidence that a worker executed.",
          "x-invariants": [
            "No self-edge or cycle in the evaluated planning scope; endpoints resolve in the same planning scope."
          ]
        }
      },
      "x-status": "review_only_not_canonical",
      "x-imports": [
        "urn:zenith:ontology-review:shared:0.1.0:directory",
        "urn:zenith:ontology-review:shared:0.1.0:foundation",
        "urn:zenith:ontology-review:shared:0.1.0:resources"
      ]
    }
  }
}
