The Personal Agent Ontology: Every Entity Explained

A complete walkthrough of all 115 classes, 173 properties, and 75 named individuals across 9 modules — the formal domain model behind every personal AI agent

📺 Watch the Full Deep Dive Video

17-minute narrated walkthrough of every PAO module with entity relationship diagrams.

🎬 Watch Video (17 min)

🎧 Listen to this article

This is the companion reference for our deep-dive video on the Personal Agent Ontology (PAO). While our introductory post covered what the PAO is and why it matters, this guide walks through every class in every module — a complete entity-by-entity reference for agent architects and ontology engineers.

The PAO is a formal OWL 2 DL ontology aligned to BFO 2020 that maps the converging domain model of personal AI agents. It was created by analyzing implementations like OpenClaw, Claude Code, Letta, and the Model Context Protocol.

PAO at a Glance

115
Classes
138
Object Properties
35
Data Properties
75
Named Individuals
60
SHACL Shapes
128
Competency Questions

Module 1: Agent — Who Participates

The Agent module defines who acts in agent systems. Every entity that can participate in conversations, invoke tools, or hold beliefs descends from Agent.

ClassDescriptionKey Relationships
AgentBase class for all participantshasRole, belongsTo, holdsDesire, heldBelief
AIAgentAn agent powered by a foundation modelusesModel → FoundationModel, hasPersona → Persona
HumanUserA human person interacting with AI systemsAligned to foaf:Person, prov:Person
SubAgentAn AI agent spawned by another agent for delegated workspawnedBy → AIAgent, delegatedTask → Task
AgentRoleA role an agent plays (researcher, coder, reviewer)Aligned to BFO Role, prov:Role
OrganizationA formal body or group of peoplehasMember → Agent
PersonaConfigured identity, behavior, and system promptReferenced by hasPersona from AIAgent

💡 Real-World Example

In OpenClaw, the main agent (Yaneth) is an AIAgent with a Persona defined in SOUL.md. When she spawns Karibe for research, that's a SubAgent with spawnedBy pointing to Yaneth and delegatedTask pointing to the research task.

Module 2: Session — The Conversation Stack

The Session module models conversation as a five-layer stack, each with distinct architectural concerns.

Core Conversation Classes

ClassDescriptionKey Properties
ConversationCoherent dialogue thread spanning multiple sessionshasConversationId
SessionBounded period of interactionhasContextWindow, partOfConversation
TurnSingle speaker contribution within a sessionhasMessage, inSession, hasDialogAct
MessageTextual/structured content of a turnhasContentBlock, sentViaChannel
ContentBlockTyped segment of a message (text, code, image, tool call)hasContentBlockType, blockSequenceIndex

Context Management

ClassDescription
ContextWindowFinite attention resource with hasTokenCapacity and hasTokensUsed
CompactionEventContext window compressed by summarizing prior turns
CompactionDispositionRecords fate of individual items during compaction

Channels

ClassDescription
CommunicationChannelConfigured endpoint for agent-user dialogue
ChannelTypeCLI, Messaging, WebChat, APIChannel, VoiceChannel, EmailChannel

Dialog Pragmatics (DIT++ Theory)

ClassDescription
DialogActPragmatic classification of a turn's communicative intent
CommunicativeFunctionPurpose: requesting, confirming, topic change
CommonGroundAccumulated shared knowledge between participants
GroundingActContributing evidence to the common ground
AcceptanceEvidenceProof that a participant acknowledged a proposition
ClarificationRequestRequest for additional info to resolve ambiguity

Status Classes

ClassDescription
SessionStatusActive, Suspended, Completed, Error
SessionStatusTransitionRecords session state changes
ContentBlockTypeText, Code, Image, ToolCall, ToolResult
ItemFateRetained, Summarized, Dropped (during compaction)

Module 3: Memory — Cognitive Architecture

Drawing from Letta's MemGPT, the CoALA framework, and LangMem's cognitive science framing, the Memory module defines four tiers and six operations.

Memory Tiers

TierDescriptionAnalogy
WorkingMemoryActive context window contents, volatileRAM
EpisodicMemoryTime-situated experiences and interaction historiesDiary
SemanticMemoryGeneralized facts, knowledge, beliefsEncyclopedia
ProceduralMemoryLearned action policies, skills, patternsMuscle memory

Memory Items

ClassDescriptionStored In
MemoryItemBase class for stored informationAny MemoryTier
EpisodeTemporally bounded cluster of related eventsEpisodicMemory only
ClaimProposition with confidence + evidence + provenanceSemanticMemory
MemoryBlockStructured key-value data (Letta pattern)WorkingMemory

Memory Operations

OperationDescription
EncodingWrite new information into a memory tier
RetrievalRead information from a memory tier
ConsolidationTransform episodic memories into semantic knowledge
ForgettingRemove or decay items by policy or request
RehearsalStrengthen items via repeated access

Memory Governance & Multi-Agent

ClassDescription
MemoryScopePrivate, Shared, Global visibility
MemorySourceWhere a memory item originates
SensitivityLevelPrivacy classification
RetentionPolicyHow long items are kept (retentionPeriodDays)
ErasureEventPrivacy-compliant deletion of memory items
SharedMemoryArtifactMemory accessible to multiple agents (min 2)
MemoryWriteConflictConcurrent write conflict on shared memory

Module 4: Tool — The Action Layer

ClassDescriptionKey Properties
ActionIntentionally caused event (subclass of Event)performedBy → Agent
ToolInvocationActual call to a tool (subclass of Action)producedToolResult, partOfInvocationGroup
ToolResultTyped output artifact from a tool call
ToolInvocationGroupGroups parallel tool calls within a turngroupedInTurn → Turn
ExternalServiceExternal system exposing capabilities
ServiceCapabilityBase for discoverable capabilities
ServiceToolCapabilityProvides a tool for invocation
ServiceResourceCapabilityProvides a data resource
ServicePromptCapabilityProvides a prompt template
CapabilityDiscoveryEventAgent discovers service capabilitiesdiscoveredCapability, discoveryAgainstService
ServiceConnectionRuntime connection to a serviceconnectsToService, hasConnectionStatus
IntegrationConfigured connectionhasIntegrationStatus
HookInterceptor that can modify/block tool callshookTriggeredExecution
HookExecutionEvent when a hook firesinterceptsInvocation → ToolInvocation

Module 5: Permission — Governance as Architecture

ClassDescription
PermissionPolicyGoverns tool access (ODRL-aligned)
PermissionModeEnforcement level: strict ↔ permissive
SafetyConstraintNon-negotiable behavioral limits (appliesTo → Agent)
SandboxPolicyFilesystem and network restrictions
ConsentRecordData subject's consent (consentPurpose, consentSubject)
AuditLogContainer for audit entries
AuditEntryAuthorization decision record with rationale
AuthorizationDecisionAllowed, Denied, Escalated
ComplianceStatusDid invocation comply with policies?
CheckpointDecision point requiring human approval
CheckpointDecisionApproved, Rejected, Deferred

Module 6: Interaction — BDI Cognitive Architecture

Drawing from the Belief-Desire-Intention model in philosophy of mind, this module gives agents a vocabulary for why they act.

BDI Core

ClassDescriptionKey Properties
BeliefProposition held to be trueheldBelief, considersBelief
DesireDesired state or outcomeholdsDesire, considersDesire
IntentionCommitted goal the agent will pursuejustifiesIntention
DeliberationReasoning process: beliefs + desires → intentionsconsidersBelief, considersDesire, producesIntention
JustificationEvidence supporting an intentionjustifiesIntention → Intention

Goals, Plans & Tasks

ClassDescription
GoalHigh-level objective
PlanOrdered sequence of actions to achieve a goal (achievesGoal)
TaskIndividual unit of work within a plan
TaskStatusPending, InProgress, Blocked, Done, Failed
TaskStatusTransitionRecords task state changes

Events

ClassDescription
EventBase class for all occurrences
ObservationAgent receives environmental feedback (inSession)
StatusTransitionBase for state changes

Module 7: Identity — Model Provenance

ClassDescriptionKey Properties
FoundationModelModel family (e.g., Claude 4, GPT-4o)hasModelId, hasModelVersion, hasProvider, deployedAs
ModelProviderOrganization serving models (Anthropic, OpenAI)
ModelDeploymentRunning model endpoint configuration
ModelInvocationEvent: model produces output for a turninvokedOnDeployment, modelInvocationForTurn, hasGenerationConfig
GenerationConfigurationTemperature, top_p, max_tokens

Module 8: Deployment — Scheduling & Automation

ClassDescriptionKey Properties
ScheduleBinds a recurrence to an actionschedulesAction, hasRecurrencePattern, activatedBy
RecurrencePatternWhen to fire: cron, interval, or calendarhasCronExpression, hasIntervalSeconds
TriggerBase activation condition
CronTriggerActivates on cron schedule
IntervalTriggerActivates at fixed intervals
EventTriggerActivates on external event/webhook
ScheduledExecutionIndividual run of a scheduleexecutionOf, hasExecutionOutcome, initiatedSession
ScheduleStatusActive, Paused, Completed
ExecutionOutcomeSuccess, Failure, Skipped
ConcurrencyPolicySkip, Queue, Replace on overlap

Module 9: Provenance — Error Recovery & Observability

Error Recovery

ClassDescription
ErrorRecoveryEventFailure occurrence with hasFailureType
FailureTypeTimeout, AuthError, RateLimit, ParseError, NetworkError
RetryAttemptRetry of a failed operation
ReplanEventGenerate new plan after failure
RollbackEventRevert changes from failed operation
ReliabilityIncidentBroader failure/degradation event

Observability

ClassDescription
OperationalMetricNamed metric type (hasMetricName)
MetricObservationRecorded data point (observesMetric, hasMetricValue, observedOnEntity)

75 Named Individuals

The PAO uses owl:oneOf closed enumerations for status classes. Key enumeration values include:

  • SessionStatus: Active, Suspended, Completed, Error
  • TaskStatus: Pending, InProgress, Blocked, Done, Failed
  • ChannelType: CLI, Messaging, WebChat, APIChannel, VoiceChannel, EmailChannel
  • AuthorizationDecision: Allowed, Denied, Escalated
  • MemoryScope: Private, Shared, Global
  • FailureType: Timeout, AuthError, RateLimit, ParseError, NetworkError
  • CommunicativeFunction: Request, Inform, Confirm, Reject, TopicChange
  • ItemFate: Retained, Summarized, Dropped
  • ComplianceStatus: Compliant, NonCompliant, Unknown
  • ConnectionStatus: Connected, Disconnected, Error
  • PermissionMode: Strict, Permissive, Ask
  • ExecutionOutcome: Success, Failure, Skipped
  • ConcurrencyPolicy: Skip, Queue, Replace
  • SensitivityLevel: Public, Internal, Sensitive, Restricted

The Unified Picture

All nine modules connect through the Agent class at the center:

  • Agent → Session: Agents participate in sessions, which contain turns and messages
  • Session → Memory: WorkingMemory maps to ContextWindow; Episodes derive from turns; Claims consolidate from episodes
  • Turn → Tool: Turns trigger ToolInvocations that produce ToolResults
  • Tool → Permission: Every invocation passes through PermissionPolicy to generate AuditEntries
  • Agent → Interaction: Beliefs, Desires, and Intentions inform deliberation and goal pursuit
  • Turn → Identity: ModelInvocation tracks which model/deployment produced each turn
  • Schedule → Session: ScheduledExecution can initiate new sessions automatically
  • Any Event → Provenance: ErrorRecoveryEvent connects to failures in tools, models, or schedules

✅ Formal Guarantees

12 AllDisjointClasses groups • 4 DisjointUnion axioms • 0 unsatisfiable classes • 1,332 test assertions passing • Every class aligned to BFO 2020

Real-World Mappings

Letta (MemGPT)

  • Core Memory Blocks → MemoryBlock in WorkingMemory
  • Message Buffer (FIFO) → EpisodicMemory + CompactionEvent
  • Recall Memory → EpisodicMemory (full searchable history)
  • Archival Memory → SemanticMemory
  • memory_insert tool → Encoding operation
  • Self-editing agent → DeliberationEncoding

Claude Code / OpenClaw

  • Main agent session → Session + AIAgent
  • Sub-agent spawning → SubAgent (spawnedBy, delegatedTask)
  • AGENTS.md / SOUL.md → Persona
  • Tool calls (read, write, exec) → ToolInvocationToolResult
  • Permission ask modes → PermissionPolicy + PermissionMode
  • [compacted] messages → CompactionEvent + CompactionDisposition
  • Telegram / CLI channels → CommunicationChannel + ChannelType
  • Cron-triggered tasks → Schedule + CronTrigger

Model Context Protocol (MCP)

  • Discovery → CapabilityDiscoveryEvent
  • Authentication → ServiceConnection
  • Invocation → ToolInvocation
  • Disconnect → ConnectionStatus = Disconnected

References

  1. PAO Full Documentation — Browsable HTML with all 115 classes
  2. PAO Blog Post — Original announcement
  3. PAO Persistent URL — OWL 2 DL in Turtle/JSON-LD/OWL-XML
  4. BFO 2020 — Basic Formal Ontology (ISO 21838-2)
  5. MemGPT Paper — Virtual context management for LLMs
  6. CoALA Framework — Cognitive architectures for language agents
  7. Letta — Stateful agents with tiered memory
  8. OpenClaw — Open-source personal AI agent platform
  9. Claude Code — Anthropic's agentic coding tool
  10. Model Context Protocol — Standard for LLM-tool integration
  11. PROV-O — W3C provenance ontology
  12. ODRL — W3C permissions vocabulary