Skip to content

Specification / Entity Kinds

12 Entity Kinds

Entity kinds describe identity documents, not automatic trust. The taxonomy below preserves the owned-document profile. Current agent verification also supports explicitly approved self roots and signed descendants, with no universal human-parent requirement.

Collective workIndependent voices. Shared foundations.
01hmrRoot entity

Human Root

A human-root keyholder in the owned-document profile. Current agent verification also accepts explicitly authorized self roots. A kind or signed ancestry alone proves neither personhood nor application permission.

URI patterndid:oas:<ns>:hmr:<id>
Lineage

Root entity. Exempt from the lineage requirement.

02mhrRoot entity

Multi-Human Root

A collective owned-root profile. Actual threshold control requires the configured key-share ceremony and custody; an MHR kind or local document does not establish a quorum.

URI patterndid:oas:<ns>:mhr:<id>
Lineage

Root entity. Exempt from the lineage requirement.

03enrRoot entity

Enterprise Root

A stable corporate identity governed by a rotating MHR, providing organizational continuity across governance transitions. Added as the twelfth kind in spec v1.1.0.

URI patterndid:oas:<ns>:enr:<id>
Lineage

Root entity. Verifiers additionally check its governing MHR.

04ao

Autonomous Organization

A group of agents, tools, and workflows operating as a coherent unit, with its own identity distinct from any single member.

URI patterndid:oas:<ns>:ao:<id>
Lineage

Owned-document profile: signed lineage to the configured trusted root. The entity kind alone establishes no authority.

05agent

Agent

An autonomous software entity capable of independent decision-making and action. The primary operational kind: it performs tasks, invokes tools, and collaborates with other agents.

URI patterndid:oas:<ns>:agent:<id>
Lineage

Owned profiles carry signed ancestry. The current verifier also accepts approved agent self roots with no parent chain.

06agent:instance

Agent Instance

An instance identity under the provider's exact binding policy. A registered DID and a native execution UUID are distinct; neither can be inferred from the other.

URI patterndid:oas:<ns>:agent:instance:<id>
Lineage

A delegated identity carries each signed parent link. The provider determines its actual identity and current root policy.

07tool

Tool

A capability that agents invoke to interact with external systems or perform computations. Typed identity makes every invocation attributable.

URI patterndid:oas:<ns>:tool:<id>
Lineage

Owned-document profile: signed lineage to the configured trusted root. The entity kind alone establishes no authority.

08skill

Skill

A composable unit of agent behavior — a reusable capability package that can be attached to agents and governed independently.

URI patterndid:oas:<ns>:skill:<id>
Lineage

Owned-document profile: signed lineage to the configured trusted root. The entity kind alone establishes no authority.

09workflow

Workflow

A defined process involving one or more agents executing a sequence of steps. Gives multi-agent orchestration its own verifiable identity.

URI patterndid:oas:<ns>:workflow:<id>
Lineage

Owned-document profile: signed lineage to the configured trusted root. The entity kind alone establishes no authority.

10model

Model

A machine learning model with verified provenance. Identity-bound models make it possible to prove which model acted and where it came from.

URI patterndid:oas:<ns>:model:<id>
Lineage

Owned-document profile: signed lineage to the configured trusted root. The entity kind alone establishes no authority.

11dataset

Dataset

A data collection with verified provenance and lineage. Datasets carry the same accountability chain as the agents and models that consume them.

URI patterndid:oas:<ns>:dataset:<id>
Lineage

Owned-document profile: signed lineage to the configured trusted root. The entity kind alone establishes no authority.

12service

Service

An infrastructure service — compute, storage, networking — with verified identity, so even the substrate agents run on is attributable.

URI patterndid:oas:<ns>:service:<id>
Lineage

Owned-document profile: signed lineage to the configured trusted root. The entity kind alone establishes no authority.

Lineage in practice

An illustrated owned tree, four generations

The multi-generation example from the specification. Verifying the scraper at generation 3 means walking four lineage proofs back to Alice — from bundled evidence via typed authorizing verification.

did:oas:acme:hmr:aliceHuman Root
└─did:oas:acme:ao:researchgeneration 0
├─did:oas:acme:agent:coordinatorgeneration 1
└─did:oas:acme:agent:analystgeneration 2
└─did:oas:acme:tool:scrapergeneration 3
└─did:oas:acme:workflow:pipelinegeneration 1

Roots terminate chains

In this owned-document profile, humanRootChain terminates at its configured owner root. Current approved agent self roots use a separate explicit policy; a loop never supplies valid ancestry.

Generation is measurable

In this humanRootChain profile, generation is the path length minus one. It describes ancestry distance, not an automatic permission or trust score.

One root per entity

The humanRootChain representation describes owned OAS lineage. Independent agent roots in the current SDK use explicit receiver trust; do not force them into this owner-chain representation.