Skip to content

Zenith://Ontology

online
← All ontology releases

Zenith Ontology / Historical release

v0.5.0

Source release date: September 14, 2026

Release notes

Zenith Ontology v0.5.0

v0.5.0 introduces **Arenas**: continuing areas of responsibility that group Initiatives and parentless Tasks through CONTAINS_WORK. Todo is the common base; Task is the concrete executable to-do in the Work interface.

Direct membership is optional and limited to one Arena per member. Work descendants inherit their root's Arena without additional stored membership edges. The existing Initiative → Project → Issue → Task hierarchy stays intact. See arenas.md and the normative arena-contract.json for eligibility, parent changes, moves, archival, and invalid-graph behavior.

The Rolodex now prefers **Entity** as the directory base for Person, Agent, and Organization. Actor remains an equivalent compatibility name with the same published identifier. Directory membership does not create authority.

Arena and Rolodex additions have runtimeLabel: false. This release adds no Neo4j label, constraint, migration, Work kind, HTTP route, or monitor control. Existing operation schemas and persisted Work/receipt decoders are unchanged. The v0.1.0 through v0.4.0 bundles remain byte-identical and supported.

Compatibility

Zenith ontology v0.5.0 compatibility

v0.5.0 adds Arena grouping and the preferred Rolodex name Entity. Published v0.1.0, v0.2.0, v0.3.0, and v0.4.0 bundles remain supported and byte-identical.

  • Arena is a new canonical class outside Todo, with runtimeLabel: false.
  • CONTAINS_WORK is an Arena-to-Work predicate. The normative arena-contract.json profile restricts direct members to parentless Initiatives and Tasks, with zero or one direct Arena per member.
  • Existing Work parentage remains HAS_CHILD; Arena membership does not broaden the Initiative → Project → Issue → Task parent rules.
  • Entity is the preferred common directory base for Person, Agent, and Organization. The published Actor identifier remains present with an owl:equivalentClass link to Entity. Consumers need not rewrite existing Actor references or remint identities. The current JSON-LD context adds equivalentClass as an ID-valued OWL term.
  • All Rolodex classes and the compatibility name remain non-runtime.
  • Existing actor_id strings, operation names, request/response schemas, Work kinds, receipt decoding, runtime labels, constraints, migrations, lifecycle rules, and authorization remain unchanged.

An old consumer can retain its v0.4.0 bundle and Actor vocabulary. A consumer adopting v0.5.0 should understand the Entity compatibility mapping and resolve the new Arena profile from the manifest before interpreting membership. The JSON-LD domain/range alone does not express the parentless or cardinality rules. Consumers must keep pinning both version and manifest bundle digest.

This release supplies vocabulary and containment rules, not a live Arena API, storage schema, or UI. No stored data migration is required.

Changes since v0.4.0

Compares the exact published bundles. Expand an entry to inspect its before and after values. Term counts exclude the ontology metadata record. File comparisons use manifest checksums; prose and runtime rules can change without new terms.

Vocabulary terms

+3 added · 5 changed · −0 removed

Added

  • zn:Arena

    Before

    Absent

    After

    {
      "@id": "zn:Arena",
      "@type": "owl:Class",
      "label": "Arena",
      "comment": "A continuing area of responsibility grouping Initiatives and standalone Tasks. Arena membership is separate from Work parentage; direct members have no incoming HAS_CHILD work-parent edge. Canonical vocabulary only; see arena-contract.json.",
      "runtimeLabel": false
    }
  • zn:Entity

    Before

    Absent

    After

    {
      "@id": "zn:Entity",
      "@type": "owl:Class",
      "label": "Entity",
      "comment": "Common directory and provenance identity for a person, agent, organization, or other named participant in work; not an authentication Subject or credential.",
      "runtimeLabel": false
    }
  • zn:CONTAINS_WORK

    Before

    Absent

    After

    {
      "@id": "zn:CONTAINS_WORK",
      "@type": "owl:ObjectProperty",
      "label": "contains work",
      "domain": "zn:Arena",
      "range": "zn:Todo",
      "comment": "Direct Arena membership, restricted by arena-contract.json to parentless Initiative or Task records. Optional, at most one direct Arena per member; not a HAS_CHILD parent, authority grant, or runtime relationship in v0.5.0."
    }

Changed

  • zn:HandoffFields: comment

    Before

    {
      "@id": "zn:Handoff",
      "@type": "owl:Class",
      "label": "Handoff",
      "comment": "Context package transferred across actors or sessions.",
      "runtimeLabel": true
    }

    After

    {
      "@id": "zn:Handoff",
      "@type": "owl:Class",
      "label": "Handoff",
      "comment": "Context package transferred across entities or sessions.",
      "runtimeLabel": true
    }
  • zn:PersonFields: comment, subClassOf

    Before

    {
      "@id": "zn:Person",
      "@type": "owl:Class",
      "label": "Person",
      "comment": "Human Actor.",
      "subClassOf": "zn:Actor",
      "runtimeLabel": false
    }

    After

    {
      "@id": "zn:Person",
      "@type": "owl:Class",
      "label": "Person",
      "comment": "Human entity.",
      "subClassOf": "zn:Entity",
      "runtimeLabel": false
    }
  • zn:AgentFields: comment, subClassOf

    Before

    {
      "@id": "zn:Agent",
      "@type": "owl:Class",
      "label": "Agent",
      "comment": "Software, AI, service, or other automated Actor.",
      "subClassOf": "zn:Actor",
      "runtimeLabel": false
    }

    After

    {
      "@id": "zn:Agent",
      "@type": "owl:Class",
      "label": "Agent",
      "comment": "Software, AI, service, or other automated entity.",
      "subClassOf": "zn:Entity",
      "runtimeLabel": false
    }
  • zn:OrganizationFields: comment, subClassOf

    Before

    {
      "@id": "zn:Organization",
      "@type": "owl:Class",
      "label": "Organization",
      "comment": "Collective Actor such as a company, project, institution, or working group.",
      "subClassOf": "zn:Actor",
      "runtimeLabel": false
    }

    After

    {
      "@id": "zn:Organization",
      "@type": "owl:Class",
      "label": "Organization",
      "comment": "Collective entity such as a company, project, institution, or working group.",
      "subClassOf": "zn:Entity",
      "runtimeLabel": false
    }
  • zn:ActorFields: comment, equivalentClass

    Before

    {
      "@id": "zn:Actor",
      "@type": "owl:Class",
      "label": "Actor",
      "comment": "Common directory and provenance identity for an entity that can participate in work; not an authentication Subject or credential.",
      "runtimeLabel": false
    }

    After

    {
      "@id": "zn:Actor",
      "@type": "owl:Class",
      "label": "Actor",
      "comment": "Directory class name published in v0.4.0, equivalent to Entity. Entity is preferred in v0.5.0; this identifier remains readable and does not denote an authentication Subject or credential.",
      "equivalentClass": "zn:Entity",
      "runtimeLabel": false
    }

Operations

+0 added · 0 changed · −0 removed

No changes in this category.

Bundle files

+2 added · 11 changed · −0 removed

Added

  • arena-contract.json

    Before

    Absent

    After

    {
      "path": "arena-contract.json",
      "sha256": "7b9902696be8b546479e185f6f76802884996dd645681f556c41405c1a6677ea"
    }
  • arenas.md

    Before

    Absent

    After

    {
      "path": "arenas.md",
      "sha256": "44ba495b7ff23a45222df4f92b08bb43487c0e8cd40b06ef1dd3b8bdcf7f2b37"
    }

Changed

  • README.mdFields: sha256

    Before

    {
      "path": "README.md",
      "sha256": "8edcaef89bbf97f300ca07d3c2d6ad6c2ec4f9f9ae714d762b725cc71558bf59"
    }

    After

    {
      "path": "README.md",
      "sha256": "aa8af7888f667850633cae4da5ee1c6907f2b787b0f62c22de92c586b605c075"
    }
  • classes.mdFields: sha256

    Before

    {
      "path": "classes.md",
      "sha256": "0f64d1d8910aa4d91d844f99b0732d7fa4f1d04c6e71a099146e520176efab89"
    }

    After

    {
      "path": "classes.md",
      "sha256": "37bd96cefaa2647cfb42359854a4ffb9022d5a39e4fe957b837cabadd7cc8a8c"
    }
  • compatibility.mdFields: sha256

    Before

    {
      "path": "compatibility.md",
      "sha256": "45bc3aecfb4fd5f05f211f23d941b386abcb7187da5f4ae22bbec4ce5569820d"
    }

    After

    {
      "path": "compatibility.md",
      "sha256": "28dd5767ca82b09b29f64e2951de297b8e58cdb10c2303cd09a9ea2a2c59c488"
    }
  • context.jsonldFields: sha256

    Before

    {
      "path": "context.jsonld",
      "sha256": "45bae6e66df778892ea90950dd3d0aab06371701a1d3f1e79d4d096fc90a46e8"
    }

    After

    {
      "path": "context.jsonld",
      "sha256": "bcb4c213b415cc4058361d7c6dbf28b90cb40a39d53ebefe506990c8dca91d6c"
    }
  • invariants.mdFields: sha256

    Before

    {
      "path": "invariants.md",
      "sha256": "7f6e8393a15982e7ef915d6de1a607473e219da36c9713366aafcc5cfa5f3f8c"
    }

    After

    {
      "path": "invariants.md",
      "sha256": "9ed314aa157fd73e6d38d4a8cfa8c9f8a9832f3fa0f95542d9ac8866c99c3336"
    }
  • ontology.jsonldFields: sha256

    Before

    {
      "path": "ontology.jsonld",
      "sha256": "cddd86b90c4161fb25f6206f1460ff9cde0520c36eb8aaacdf64699e3e4f96b7"
    }

    After

    {
      "path": "ontology.jsonld",
      "sha256": "d2020f4a63f242a36d60249c9d0bbd7fa0c7ba340460a74d09d53d78b18b2233"
    }
  • operations.jsonFields: sha256

    Before

    {
      "path": "operations.json",
      "sha256": "96820a6327f48dce2c3f2fad6752d4e47b5e3753ac86229ff266dc9788955670"
    }

    After

    {
      "path": "operations.json",
      "sha256": "0a4950deda7cc090897d756adebb335994c6c5bcc517903c3a85507f3900bd19"
    }
  • predicates.mdFields: sha256

    Before

    {
      "path": "predicates.md",
      "sha256": "2c72fdb96baea91b729aa0f6e8f38ccf91c45ca46eae5d31b83cbe0a4ff2a093"
    }

    After

    {
      "path": "predicates.md",
      "sha256": "095a820c2a9fda68dee23263895aa4deed7bb8b5115323ef65d374b339ce836d"
    }
  • readiness.mdFields: sha256

    Before

    {
      "path": "readiness.md",
      "sha256": "233f6e52611c41c4b9f3ec81b9924c3b2a89e6851490b485cd749a59682c4503"
    }

    After

    {
      "path": "readiness.md",
      "sha256": "922235c94f09e2b5c13576678feaa808451043b55589e364e8c45b70a3bc6198"
    }
  • repository-contract.jsonFields: sha256

    Before

    {
      "path": "repository-contract.json",
      "sha256": "17c97eaae310357431062638bcbc53fb8bb51755e88b53212dad684964b30e16"
    }

    After

    {
      "path": "repository-contract.json",
      "sha256": "7397dd5c8d7aa92d58a86ce6e8a5dccdc1e8eff926f27dbea4889b7e6940d09c"
    }
  • rolodex.mdFields: sha256

    Before

    {
      "path": "rolodex.md",
      "sha256": "c7ecc27e99dc3f30714f203c6665ec67630cd9d2d6033789bbabc6d3c20219c5"
    }

    After

    {
      "path": "rolodex.md",
      "sha256": "996e8d30c4b96e11f3cc3f74079f32f84b6ff1a121cd363e550b424264ea4eb3"
    }

Source history

This release was already present in the first public repository snapshot. The commit below records its public availability, not its original authoring date. Notes and history are pinned to source revision c72770e.

Bundle SHA-256: 87f5e114b05de6523799476afb9406ee3a9d664a71d167277863862a0c0c482a