bra0 / Docs / Ontologies / Agent Service Contract Ontology
Reference

Agent Service Contract Ontology

Formal contracts for governed AI agents in a Knowledge Space. Grounded on PROV-O (agent provenance, attribution), DCAT (service description, discovery), ODRL (policies, mandates), and SHACL (I/O validation). v0.5 removes the holonic OWL apparatus (ADR-052); doctrine retained at narrative level in bra0-principles.md.

Namespace
https://schema.bra0.org/agent-service-contract#
Prefix
asc:
Version
0.5.0
License
https://creativecommons.org/licenses/by-sa/4.0/
Created
2026-03-25
Classes
43
Properties
83
Source
ontologies/governance/agent-service-contract.ttl

Classes (43)

URILabelDescriptionSuperclass
asc:AgentServiceAgent ServiceA governed agent with a formal service contract. Grounded on PROV-O (software agent provenance) and DCAT (service description) per ADR-052 v0.5.0. Governance (mandate, autonomy level, policies) is expressed via ODRL and attached to each agent instance.prov:SoftwareAgent, dcat:DataService
asc:AntiPatternAnti-PatternA known inefficiency pattern with a documented alternative. Append-only registry.---
asc:AntiPatternAnti-patronA known inefficiency pattern with a documented alternative. Append-only registry.---
asc:FunctionalBlocBloc fonctionnelSI urbanization bloc (depth 3 of 3) — atomic element. Maps 1:1 to a capability. Urbanization invariant: one canonical pattern per bloc; redundant blocs are violations.---
asc:BootstrapIdentityBootstrap IdentityAgent persona and operating instructions injected at session start: name, emoji, soul prompt, tool notes.---
asc:BreakingChangeTypeBreaking Change TypeA classification of schema modifications by their impact on existing consumers. Breaking changes require human gate; non-breaking changes may proceed at L2.---
asc:CapabilityCapabilityA capability exercised by an agent, linked to the Capability Map (C1-C8).---
asc:CapabilityCapacitéA capability exercised by an agent, linked to the Capability Map (C1-C8).---
asc:ComputeTierCompute TierResource allocation tier (T0=Manual to T5=Ollama MacBook).---
asc:SkillCompétenceA prompt-based agent (e.g. OpenClaw SKILL.md). Session-scoped, injected into context at session start. Gated by env/bins/config/OS requirements.asc:AgentService
asc:RedundancyFindingConstat de redondanceA finding from an urbanization review identifying functional overlap between two or more capabilities, agents, or implementations. Redundancy findings must be resolved: merge, deprecate, or justify the exception.prov:Entity
asc:EfficiencyObservationEfficiency ObservationA measured gain from an anti-pattern correction or process improvement. Proof of value.prov:Entity
asc:ExecApprovalExec Approval RulePer-agent execution approval rule: security mode (deny/allowlist/full), ask mode, glob patterns, safe bins.---
asc:GatingRequirementsExigences de filtrageLoad-time conditions for agent activation: required binaries, env vars, config keys, supported OS.---
asc:PluginExtensionA code-based agent extension (e.g. OpenClaw plugin with TypeScript handler). Process-scoped, full SDK access, can register tools/hooks/channels.asc:AgentService
asc:FunctionalBlocFunctional BlocSI urbanization bloc (depth 3 of 3) — atomic element. Maps 1:1 to a capability. Urbanization invariant: one canonical pattern per bloc; redundant blocs are violations.---
asc:FunctionalQuartierFunctional QuartierSI urbanization quartier (depth 2 of 3). Groups related capabilities within a zone under single-parent containment.---
asc:FunctionalZoneFunctional ZoneTop-level SI urbanization zone (depth 1 of 3). bra0's canonical zones: Control Plane, Semantic Layer, Data Plane, Bus Neural. Zones group quartiers that share cross-cutting concerns.---
asc:GatingRequirementsGating RequirementsLoad-time conditions for agent activation: required binaries, env vars, config keys, supported OS.---
asc:GraphInterfaceGraph InterfaceA service interface between an agent and a named graph. Typed as a dcat:DataService per ADR-052 v0.5.0. Carries the property scope and SPARQL pattern that define read/write access.dcat:DataService
asc:BootstrapIdentityIdentité d'amorçageAgent persona and operating instructions injected at session start: name, emoji, soul prompt, tool notes.---
asc:GraphInterfaceInterface de grapheA service interface between an agent and a named graph. Typed as a dcat:DataService per ADR-052 v0.5.0. Carries the property scope and SPARQL pattern that define read/write access.dcat:DataService
asc:MandateMandatThe formal delegation from the human controller (mandant) to an agent (mandataire). Typed as an odrl:Policy per ADR-052 v0.5.0: it carries the permissions, prohibitions, and duties that bound the agent's reads, writes, and actions, plus temporal validity. Machine-validatable, SHACL-enforced. Only the mandant may create or modify a Mandate.odrl:Policy
asc:MandateMandateThe formal delegation from the human controller (mandant) to an agent (mandataire). Typed as an odrl:Policy per ADR-052 v0.5.0: it carries the permissions, prohibitions, and duties that bound the agent's reads, writes, and actions, plus temporal validity. Machine-validatable, SHACL-enforced. Only the mandant may create or modify a Mandate.odrl:Policy
asc:EfficiencyObservationObservation d'efficienceA measured gain from an anti-pattern correction or process improvement. Proof of value.prov:Entity
asc:OntologyScopeOntology ScopeThe set of OWL/SHACL classes an agent is authorized to define, instantiate, or modify. Used with sh:targetClass to enumerate writable types.---
asc:PluginPluginA code-based agent extension (e.g. OpenClaw plugin with TypeScript handler). Process-scoped, full SDK access, can register tools/hooks/channels.asc:AgentService
asc:PluginHookPlugin HookA lifecycle interception point registered by a plugin (e.g. before_tool_call, after_tool_call, before_agent_start). Hooks are the mechanism for runtime governance.---
asc:PluginHookPoint d'interceptionA lifecycle interception point registered by a plugin (e.g. before_tool_call, after_tool_call, before_agent_start). Hooks are the mechanism for runtime governance.---
asc:ToolPolicyPolitique d'outillageODRL-based access control for agent tools. Maps to platform tool policy cascades (profiles, allow/deny lists, sandbox, sub-agent restrictions).odrl:Policy
asc:SubagentPolicyPolitique de sous-agentsGovernance constraints on sub-agent spawning: max depth, max children, concurrency, model, timeout.---
asc:OntologyScopePérimètre ontologiqueThe set of OWL/SHACL classes an agent is authorized to define, instantiate, or modify. Used with sh:targetClass to enumerate writable types.---
asc:FunctionalQuartierQuartier fonctionnelSI urbanization quartier (depth 2 of 3). Groups related capabilities within a zone under single-parent containment.---
asc:RedundancyFindingRedundancy FindingA finding from an urbanization review identifying functional overlap between two or more capabilities, agents, or implementations. Redundancy findings must be resolved: merge, deprecate, or justify the exception.prov:Entity
asc:UrbanizationReviewRevue d'urbanisationA formal review by the urbanization authority (architect) that validates: (1) no functional redundancy with existing blocs, (2) correct zone/quartier placement, (3) canonical implementation pattern compliance, (4) cross-cutting concern alignment. Every new capability MUST pass an urbanization review before creation.prov:Activity
asc:ExecApprovalRègle d'approbation d'exécutionPer-agent execution approval rule: security mode (deny/allowlist/full), ask mode, glob patterns, safe bins.---
asc:ServiceLevelAgreementService Level AgreementPerformance, cost, and quality bounds for an agent.---
asc:AgentServiceService d'agentA governed agent with a formal service contract. Grounded on PROV-O (software agent provenance) and DCAT (service description) per ADR-052 v0.5.0. Governance (mandate, autonomy level, policies) is expressed via ODRL and attached to each agent instance.prov:SoftwareAgent, dcat:DataService
asc:SkillSkillA prompt-based agent (e.g. OpenClaw SKILL.md). Session-scoped, injected into context at session start. Gated by env/bins/config/OS requirements.asc:AgentService
asc:SubagentPolicySub-Agent PolicyGovernance constraints on sub-agent spawning: max depth, max children, concurrency, model, timeout.---
asc:ToolPolicyTool PolicyODRL-based access control for agent tools. Maps to platform tool policy cascades (profiles, allow/deny lists, sandbox, sub-agent restrictions).odrl:Policy
asc:UrbanizationReviewUrbanization ReviewA formal review by the urbanization authority (architect) that validates: (1) no functional redundancy with existing blocs, (2) correct zone/quartier placement, (3) canonical implementation pattern compliance, (4) cross-cutting concern alignment. Every new capability MUST pass an urbanization review before creation.prov:Activity
asc:FunctionalZoneZone fonctionnelleTop-level SI urbanization zone (depth 1 of 3). bra0's canonical zones: Control Plane, Semantic Layer, Data Plane, Bus Neural. Zones group quartiers that share cross-cutting concerns.---

Object Properties (30)

URILabelDomainRange
asc:slaSLAasc:AgentServiceasc:ServiceLevelAgreement
asc:antiPatternanti-patternasc:ServiceLevelAgreementasc:AntiPattern
asc:autonomyLevelautonomy levelasc:AgentServicerdfs:Resource
asc:bootstrapIdentitybootstrap identityasc:AgentServiceasc:BootstrapIdentity
asc:capabilitycapabilityasc:AgentServiceasc:Capability
asc:changeSeveritychange severityasc:AgentServiceasc:BreakingChangeType
asc:computeTiercompute tieredgy:Taskasc:ComputeTier
asc:execApprovalexec approvalasc:AgentServiceasc:ExecApproval
asc:gatinggatingasc:Skillasc:GatingRequirements
asc:governedBygoverned byasc:AgentServiceasc:Mandate
asc:graphgraphasc:GraphInterfacerdfs:Resource
asc:inputShapeinput shapeasc:AgentServicesh:NodeShape
asc:mapsToBlocmaps to blocasc:Capabilityasc:FunctionalBloc
asc:observedAntiPatternobserved anti-patternasc:EfficiencyObservationasc:AntiPattern
asc:ontologyScopeontology scopeasc:AgentServiceasc:OntologyScope
asc:outputShapeoutput shapeasc:AgentServicesh:NodeShape
asc:pluginHookplugin hookasc:Pluginasc:PluginHook
asc:policypolicyasc:AgentServiceodrl:Policy
asc:quartierquartierasc:FunctionalBlocasc:FunctionalQuartier
asc:readsreadsasc:AgentServiceasc:GraphInterface
asc:redundantWithredundant withasc:RedundancyFindingasc:Capability
asc:reviewedByreviewed byasc:Mandateprov:Agent
asc:reviewedCapabilityreviewed capabilityasc:UrbanizationReviewasc:Capability
asc:scriptProducedscript producedasc:EfficiencyObservationrdfs:Resource
asc:subagentPolicysub-agent policyasc:AgentServiceasc:SubagentPolicy
asc:tierRangetier rangeasc:ServiceLevelAgreementasc:ComputeTier
asc:toolPolicytool policyasc:AgentServiceasc:ToolPolicy
asc:urbanizationAuthorityurbanization authorityasc:FunctionalZoneasc:AgentService
asc:writeswritesasc:AgentServiceasc:GraphInterface
asc:zonezoneasc:FunctionalQuartierasc:FunctionalZone

Datatype Properties (53)

URILabelDomainRange
asc:sparqlSPARQLasc:GraphInterfacexsd:string
asc:agentIdagent IDasc:AgentServicexsd:anyURI
asc:agentNameagent nameasc:BootstrapIdentityxsd:string
asc:agentTypeagent typeasc:AgentServicexsd:string
asc:alternativealternativeasc:AntiPatternxsd:string
asc:alwaysActivealways activeasc:Skillxsd:boolean
asc:askModeask modeasc:ExecApprovalxsd:string
asc:canonicalPatterncanonical patternasc:FunctionalBlocxsd:string
asc:emojiemojiasc:BootstrapIdentityxsd:string
asc:execPatternexec patternasc:ExecApprovalxsd:string
asc:gainFactorgain factorasc:EfficiencyObservationxsd:decimal
asc:hookCanBlockhook can blockasc:PluginHookxsd:boolean
asc:hookNamehook nameasc:PluginHookxsd:string
asc:lastReviewDatelast review dateasc:Mandatexsd:date
asc:maxChildrenmax childrenasc:SubagentPolicyxsd:integer
asc:maxConcurrentmax concurrentasc:SubagentPolicyxsd:integer
asc:maxSpawnDepthmax spawn depthasc:SubagentPolicyxsd:integer
asc:maxTokenBudgetmax token budgetasc:ServiceLevelAgreementxsd:integer
asc:reviewDatenext review dateasc:Mandatexsd:date
asc:operatingInstructionsoperating instructionsasc:BootstrapIdentityxsd:string
asc:pluginKindplugin kindasc:Pluginxsd:string
asc:pluginSlotplugin slotasc:Pluginxsd:string
asc:primaryEnvprimary envasc:GatingRequirementsxsd:string
asc:registeredToolregistered toolasc:Pluginxsd:string
asc:requiresAnyBinrequires any binasc:GatingRequirementsxsd:string
asc:requiresBinrequires binasc:GatingRequirementsxsd:string
asc:requiresConfigrequires configasc:GatingRequirementsxsd:string
asc:requiresEnvrequires envasc:GatingRequirementsxsd:string
asc:resolutionresolutionasc:RedundancyFindingxsd:string
asc:reviewOutcomereview outcomeasc:UrbanizationReviewxsd:string
asc:roleroleasc:AgentServicerdf:langString
asc:safeBinsafe binasc:ExecApprovalxsd:string
asc:securityModesecurity modeasc:ExecApprovalxsd:string
asc:skillContentskill contentasc:Skillxsd:string
asc:soulPromptsoul promptasc:BootstrapIdentityxsd:string
asc:statusstatusedgy:Taskxsd:string
asc:storyPointsstory pointsedgy:Taskxsd:integer
asc:subagentModelsub-agent modelasc:SubagentPolicyxsd:string
asc:subagentTimeoutsub-agent timeoutasc:SubagentPolicyxsd:integer
asc:supportedOSsupported OSasc:GatingRequirementsxsd:string
asc:tokenOverheadtoken overheadasc:Skillxsd:integer
asc:tokensAftertokens afterasc:EfficiencyObservationxsd:integer
asc:tokensBeforetokens beforeasc:EfficiencyObservationxsd:integer
asc:tokensConsumedtokens consumededgy:Taskxsd:integer
asc:tokensPerStoryPointtokens per story pointasc:EfficiencyObservationxsd:decimal
asc:toolAllowtool allowasc:AgentServicexsd:string
asc:toolDenytool denyasc:AgentServicexsd:string
asc:toolNotestool notesasc:BootstrapIdentityxsd:string
asc:toolProfiletool profileasc:AgentServicexsd:string
asc:triggertrigger commandsasc:AgentServicexsd:string
asc:userInvocableuser invocableasc:Skillxsd:boolean
asc:validFromvalid fromasc:Mandatexsd:date
asc:validUntilvalid untilasc:Mandatexsd:date

SPARQL example

# List all classes in this ontology
PREFIX asc: <https://schema.bra0.org/agent-service-contract#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?class ?label ?comment
WHERE {
  ?class a owl:Class ;
         rdfs:label ?label .
  OPTIONAL { ?class rdfs:comment ?comment }
  FILTER(STRSTARTS(STR(?class), STR(asc:)))
}
ORDER BY ?label