@agenticprimitives/ontology 1.0.0-alpha.4 → 1.0.0-alpha.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -21
- package/cbox/agent-facet-shapes.shacl.ttl +130 -0
- package/cbox/capability-catalog-shapes.shacl.ttl +284 -0
- package/cbox/card-projection-shapes.shacl.ttl +216 -0
- package/cbox/consultation-shapes.shacl.ttl +85 -0
- package/cbox/content-vocabulary.ttl +52 -0
- package/cbox/controlled-vocabularies.ttl +224 -4
- package/cbox/discovery-graph-shapes.shacl.ttl +284 -0
- package/cbox/familyoffice-shapes.shacl.ttl +92 -0
- package/cbox/familyoffice-vocabulary.ttl +48 -0
- package/cbox/geo-vocabulary.ttl +36 -0
- package/cbox/guidance-vocabulary.ttl +22 -0
- package/cbox/interaction-shapes.shacl.ttl +218 -0
- package/cbox/interaction-vocabulary.ttl +159 -0
- package/cbox/judgment-shapes.shacl.ttl +83 -0
- package/cbox/naming-registry-shapes.shacl.ttl +272 -0
- package/cbox/org-team-shapes.shacl.ttl +184 -0
- package/cbox/privacy-credential-shapes.shacl.ttl +187 -0
- package/cbox/profile-facet-vocabulary.ttl +50 -0
- package/cbox/registry-vocabulary.ttl +86 -0
- package/cbox/run-measures-shapes.shacl.ttl +59 -0
- package/cbox/run-provenance-shapes.shacl.ttl +264 -0
- package/cbox/scope-vocabulary.ttl +112 -0
- package/cbox/skill-grounding-vocabulary.ttl +18 -0
- package/cbox/skill-vocabulary.ttl +50 -0
- package/context.jsonld +37 -1
- package/dist/arg-types.d.ts +60 -0
- package/dist/arg-types.d.ts.map +1 -0
- package/dist/arg-types.js +143 -0
- package/dist/arg-types.js.map +1 -0
- package/dist/artifacts.d.ts +9 -2
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +153 -2
- package/dist/artifacts.js.map +1 -1
- package/dist/contact-fields.d.ts +28 -0
- package/dist/contact-fields.d.ts.map +1 -0
- package/dist/contact-fields.js +38 -0
- package/dist/contact-fields.js.map +1 -0
- package/dist/decisions.d.ts +69 -0
- package/dist/decisions.d.ts.map +1 -0
- package/dist/decisions.js +98 -0
- package/dist/decisions.js.map +1 -0
- package/dist/evaluation-context.d.ts +134 -0
- package/dist/evaluation-context.d.ts.map +1 -0
- package/dist/evaluation-context.js +136 -0
- package/dist/evaluation-context.js.map +1 -0
- package/dist/governance.d.ts +84 -0
- package/dist/governance.d.ts.map +1 -0
- package/dist/governance.js +88 -0
- package/dist/governance.js.map +1 -0
- package/dist/grounded-vocabulary.d.ts +29 -0
- package/dist/grounded-vocabulary.d.ts.map +1 -0
- package/dist/grounded-vocabulary.js +110 -0
- package/dist/grounded-vocabulary.js.map +1 -0
- package/dist/household.d.ts +19 -0
- package/dist/household.d.ts.map +1 -0
- package/dist/household.js +41 -0
- package/dist/household.js.map +1 -0
- package/dist/index.d.ts +1091 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1323 -5
- package/dist/index.js.map +1 -1
- package/dist/outcomes.d.ts +47 -0
- package/dist/outcomes.d.ts.map +1 -0
- package/dist/outcomes.js +40 -0
- package/dist/outcomes.js.map +1 -0
- package/dist/participant-vocabulary.d.ts +57 -0
- package/dist/participant-vocabulary.d.ts.map +1 -0
- package/dist/participant-vocabulary.js +66 -0
- package/dist/participant-vocabulary.js.map +1 -0
- package/dist/party-roles.d.ts +115 -0
- package/dist/party-roles.d.ts.map +1 -0
- package/dist/party-roles.js +343 -0
- package/dist/party-roles.js.map +1 -0
- package/dist/payload-classes.d.ts +22 -0
- package/dist/payload-classes.d.ts.map +1 -0
- package/dist/payload-classes.js +30 -0
- package/dist/payload-classes.js.map +1 -0
- package/dist/plan-shapes.d.ts +18 -0
- package/dist/plan-shapes.d.ts.map +1 -0
- package/dist/plan-shapes.js +38 -0
- package/dist/plan-shapes.js.map +1 -0
- package/dist/principles.generated.d.ts +11 -0
- package/dist/principles.generated.d.ts.map +1 -0
- package/dist/principles.generated.js +293 -0
- package/dist/principles.generated.js.map +1 -0
- package/dist/published-works.d.ts +13 -0
- package/dist/published-works.d.ts.map +1 -0
- package/dist/published-works.js +18 -0
- package/dist/published-works.js.map +1 -0
- package/dist/relations.d.ts +44 -0
- package/dist/relations.d.ts.map +1 -0
- package/dist/relations.js +104 -0
- package/dist/relations.js.map +1 -0
- package/dist/run-measures-context.d.ts +74 -0
- package/dist/run-measures-context.d.ts.map +1 -0
- package/dist/run-measures-context.js +77 -0
- package/dist/run-measures-context.js.map +1 -0
- package/dist/run-provenance-context.d.ts +315 -0
- package/dist/run-provenance-context.d.ts.map +1 -0
- package/dist/run-provenance-context.js +323 -0
- package/dist/run-provenance-context.js.map +1 -0
- package/dist/transitions.d.ts +42 -0
- package/dist/transitions.d.ts.map +1 -0
- package/dist/transitions.js +100 -0
- package/dist/transitions.js.map +1 -0
- package/dist/vault-records.d.ts +74 -0
- package/dist/vault-records.d.ts.map +1 -0
- package/dist/vault-records.js +777 -0
- package/dist/vault-records.js.map +1 -0
- package/dist/versions.generated.d.ts +262 -0
- package/dist/versions.generated.d.ts.map +1 -0
- package/dist/versions.generated.js +318 -0
- package/dist/versions.generated.js.map +1 -0
- package/evaluation.jsonld +133 -0
- package/mappings/actor-context-standards.ttl +89 -0
- package/mappings/agent-discovery-standards.ttl +127 -0
- package/mappings/collaboration-crosswalk-actors.ttl +30 -0
- package/mappings/collaboration-crosswalk-authority.ttl +31 -0
- package/mappings/collaboration-crosswalk-guidance.ttl +29 -0
- package/mappings/collaboration-crosswalk-intent.ttl +29 -0
- package/mappings/collaboration-crosswalk-messaging.ttl +37 -0
- package/mappings/collaboration-crosswalk-organization.ttl +66 -0
- package/mappings/collaboration-crosswalk-protocols.ttl +49 -0
- package/mappings/collaboration-crosswalk-skills.ttl +50 -0
- package/mappings/collaboration-profile.ttl +82 -0
- package/mappings/commerce-engagement-crosswalk.ttl +83 -0
- package/mappings/spine-standards.ttl +83 -0
- package/package.json +31 -9
- package/run-measures.jsonld +34 -0
- package/run-provenance.jsonld +314 -0
- package/tbox/actor-context.ttl +145 -0
- package/tbox/agent-resolution.ttl +308 -0
- package/tbox/agreement.ttl +77 -0
- package/tbox/attestation.ttl +156 -0
- package/tbox/card-projection.ttl +350 -0
- package/tbox/constraints.ttl +150 -0
- package/tbox/contact.ttl +61 -0
- package/tbox/content.ttl +76 -0
- package/tbox/context.ttl +508 -0
- package/tbox/coordination.ttl +263 -0
- package/tbox/core.ttl +325 -7
- package/tbox/dcat-imports.ttl +19 -0
- package/tbox/discovery.ttl +273 -0
- package/tbox/dqv-imports.ttl +29 -0
- package/tbox/earl-imports.ttl +32 -0
- package/tbox/engagement.ttl +349 -0
- package/tbox/entitlement.ttl +41 -0
- package/tbox/estate.ttl +78 -0
- package/tbox/evaluation.ttl +330 -0
- package/tbox/execution.ttl +720 -0
- package/tbox/familyoffice.ttl +87 -0
- package/tbox/fulfillment.ttl +140 -0
- package/tbox/geo.ttl +28 -0
- package/tbox/governance.ttl +67 -0
- package/tbox/guidance.ttl +40 -0
- package/tbox/household.ttl +142 -0
- package/tbox/identity.ttl +133 -6
- package/tbox/inference.ttl +177 -0
- package/tbox/intents.ttl +241 -0
- package/tbox/interaction.ttl +297 -0
- package/tbox/messaging.ttl +244 -0
- package/tbox/naming.ttl +114 -0
- package/tbox/org.ttl +410 -0
- package/tbox/payload.ttl +94 -0
- package/tbox/payment.ttl +124 -0
- package/tbox/plan.ttl +169 -0
- package/tbox/principles.ttl +212 -0
- package/tbox/privacy-credential.ttl +436 -0
- package/tbox/profile.ttl +107 -0
- package/tbox/prov-imports.ttl +73 -0
- package/tbox/registry.ttl +382 -0
- package/tbox/resolution.ttl +108 -0
- package/tbox/scope.ttl +59 -0
- package/tbox/security-exposure.ttl +102 -0
- package/tbox/situation.ttl +56 -0
- package/tbox/skills.ttl +316 -0
- package/tbox/skos-imports.ttl +54 -0
- package/tbox/transition.ttl +63 -0
- package/tbox/trust.ttl +210 -0
- package/tbox/values.ttl +81 -0
- package/tbox/verification-receipt.ttl +134 -0
- package/versions.adoption.json +173 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
# T-box — agent resolution vocabulary (spec 338; ADR-0056).
|
|
2
|
+
#
|
|
3
|
+
# VOCABULARY HAZARD — READ BEFORE EXTENDING:
|
|
4
|
+
# `apres:` (ns/resolution#) is INTENT resolution — apres:Resolver, apres:ResolutionReceipt,
|
|
5
|
+
# the ERC-7683 Resolver pattern owned by `intent-resolver`. THIS module is AGENT resolution and
|
|
6
|
+
# uses `apar:` (ns/agent-resolution#). Never reuse the bare terms Resolver / ResolutionReceipt
|
|
7
|
+
# here; this plane's receipt is apar:AgentResolutionReceipt.
|
|
8
|
+
#
|
|
9
|
+
# THE GAP THIS MODULE OWNS: an agent's canonical identity is stable, but WHERE it is right now, and
|
|
10
|
+
# WHO may find that out, are separate mutable questions. Public naming answers neither privately nor
|
|
11
|
+
# freshly. A signed card proves a snapshot was not modified; it does not prove the snapshot is still
|
|
12
|
+
# in force.
|
|
13
|
+
#
|
|
14
|
+
# THE RULE THAT GOVERNS EVERY TERM BELOW:
|
|
15
|
+
# A resolution grant answers "may this party DISCOVER how to reach this agent?"
|
|
16
|
+
# It NEVER answers "may this party USE this agent?"
|
|
17
|
+
# Service use remains delegation ∩ entitlement ∩ tool/action policy ∩ invocation proof ∩ revocation
|
|
18
|
+
# ∩ audit. Resolution is a FOURTH orthogonal concern beside custody, admission and authority.
|
|
19
|
+
#
|
|
20
|
+
# FOUR INDEPENDENT DIMENSIONS (apar:AgentDiscoveryPolicy): naming, listing, resolution, inbound.
|
|
21
|
+
# "Nameless" describes only the absence of a public label — it never implies "unresolvable".
|
|
22
|
+
|
|
23
|
+
@prefix apar: <https://agenticprimitives.dev/ns/agent-resolution#> .
|
|
24
|
+
@prefix ap: <https://agenticprimitives.dev/ns/core#> .
|
|
25
|
+
@prefix apdisc: <https://agenticprimitives.dev/ns/discovery#> .
|
|
26
|
+
@prefix apsec: <https://agenticprimitives.dev/ns/security-exposure#> .
|
|
27
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
28
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
29
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
30
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
31
|
+
@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
32
|
+
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
|
33
|
+
|
|
34
|
+
apar: a owl:Ontology ;
|
|
35
|
+
rdfs:label "Agentic Primitives — agent resolution ontology" ;
|
|
36
|
+
owl:versionInfo "0.2.0" ;
|
|
37
|
+
rdfs:comment "Spec 338 / ADR-0056. Private and public agent resolution: discovery policy, signed sequenced service publication, private resolution grants, connection invitations, rendezvous services, and privacy-minimized resolution receipts. Distinct from apres: (intent resolution)." .
|
|
38
|
+
|
|
39
|
+
# ─── Discovery policy — four independent dimensions ───────────────────────
|
|
40
|
+
|
|
41
|
+
apar:AgentDiscoveryPolicy a owl:Class ;
|
|
42
|
+
rdfs:label "Agent Discovery Policy" ;
|
|
43
|
+
rdfs:comment "The four INDEPENDENT postures of an agent: naming (public/private-label/none), listing (public/consented-projection/none), resolution (public/authenticated/invitation/pairwise/direct/none), inbound (open/known-peer/delegation-required/outbound-only). Never a single enum — collapsing them is the modelling error spec 338 corrects." .
|
|
44
|
+
|
|
45
|
+
apar:namingPosture a owl:DatatypeProperty ;
|
|
46
|
+
rdfs:domain apar:AgentDiscoveryPolicy ;
|
|
47
|
+
rdfs:range xsd:string ;
|
|
48
|
+
rdfs:label "naming posture" ;
|
|
49
|
+
rdfs:comment "public | private-label | none. Says nothing about resolvability." .
|
|
50
|
+
|
|
51
|
+
apar:listingPosture a owl:DatatypeProperty ;
|
|
52
|
+
rdfs:domain apar:AgentDiscoveryPolicy ;
|
|
53
|
+
rdfs:range xsd:string ;
|
|
54
|
+
rdfs:label "listing posture" ;
|
|
55
|
+
rdfs:comment "public | consented-projection | none. A private agent enters search ONLY via an explicit, revocable consent record." .
|
|
56
|
+
|
|
57
|
+
apar:resolutionPosture a owl:DatatypeProperty ;
|
|
58
|
+
rdfs:domain apar:AgentDiscoveryPolicy ;
|
|
59
|
+
rdfs:range xsd:string ;
|
|
60
|
+
rdfs:label "resolution posture" ;
|
|
61
|
+
rdfs:comment "public | authenticated | invitation | pairwise | direct | none." .
|
|
62
|
+
|
|
63
|
+
apar:inboundPosture a owl:DatatypeProperty ;
|
|
64
|
+
rdfs:domain apar:AgentDiscoveryPolicy ;
|
|
65
|
+
rdfs:range xsd:string ;
|
|
66
|
+
rdfs:label "inbound posture" ;
|
|
67
|
+
rdfs:comment "open | known-peer | delegation-required | outbound-only. Resolving is not connecting." .
|
|
68
|
+
|
|
69
|
+
apar:hasDiscoveryPolicy a owl:ObjectProperty ;
|
|
70
|
+
rdfs:domain ap:Agent ;
|
|
71
|
+
rdfs:range apar:AgentDiscoveryPolicy ;
|
|
72
|
+
rdfs:label "has discovery policy" .
|
|
73
|
+
|
|
74
|
+
# ─── Resolution references + methods ──────────────────────────────────────
|
|
75
|
+
|
|
76
|
+
apar:AgentResolutionMethod a owl:Class ;
|
|
77
|
+
rdfs:subClassOf skos:Concept ;
|
|
78
|
+
rdfs:label "Agent Resolution Method" ;
|
|
79
|
+
rdfs:comment "ans | private-grant | direct-invitation | canonical-id | dntls | did | local-directory | …. Open-ended (ADR-0038): a new method is a Ring-1 adapter, never a change to verification rules." .
|
|
80
|
+
|
|
81
|
+
apar:AgentResolutionReference a owl:Class ;
|
|
82
|
+
rdfs:label "Agent Resolution Reference" ;
|
|
83
|
+
rdfs:comment "A portable 'how do I look this agent up' value, tagged with its method. Holding one is not authority to resolve, let alone to invoke." .
|
|
84
|
+
|
|
85
|
+
apar:hasResolutionMethod a owl:ObjectProperty ;
|
|
86
|
+
rdfs:domain apar:AgentResolutionReference ;
|
|
87
|
+
rdfs:range apar:AgentResolutionMethod ;
|
|
88
|
+
rdfs:label "has resolution method" .
|
|
89
|
+
|
|
90
|
+
# ─── Service publication — signed, sequenced, expiring ────────────────────
|
|
91
|
+
|
|
92
|
+
apar:AgentServicePublication a owl:Class ;
|
|
93
|
+
rdfs:subClassOf prov:Entity ;
|
|
94
|
+
rdfs:label "Agent Service Publication" ;
|
|
95
|
+
rdfs:comment "The CURRENT signed operational projection of an agent's surfaces: endpoints, transport keys, protocol versions, audience, status and freshness. Distinct from the durable agent profile and from a design-time surface descriptor. A content hash proves it was not modified; sequence + expiry + status prove it is current." .
|
|
96
|
+
|
|
97
|
+
apar:ServiceSurface a owl:Class ;
|
|
98
|
+
rdfs:label "Service Surface" ;
|
|
99
|
+
rdfs:comment "One callable or readable endpoint within a publication: protocol, version, URI, exposure, audience, security requirements, optional transport key and endpoint-control proof." .
|
|
100
|
+
|
|
101
|
+
apar:PublicationAuthority a owl:Class ;
|
|
102
|
+
rdfs:label "Publication Authority" ;
|
|
103
|
+
rdfs:comment "The record permitting an agent to sign publications on behalf of a target agent. A valid signature by an unauthorized publisher is still a forgery." .
|
|
104
|
+
|
|
105
|
+
apar:describesAgent a owl:ObjectProperty ;
|
|
106
|
+
rdfs:domain apar:AgentServicePublication ;
|
|
107
|
+
rdfs:range ap:Agent ;
|
|
108
|
+
rdfs:label "describes agent" ;
|
|
109
|
+
rdfs:comment "Exactly one canonical Smart Agent per publication (ADR-0010)." .
|
|
110
|
+
|
|
111
|
+
apar:hasServiceSurface a owl:ObjectProperty ;
|
|
112
|
+
rdfs:domain apar:AgentServicePublication ;
|
|
113
|
+
rdfs:range apar:ServiceSurface ;
|
|
114
|
+
rdfs:label "has service surface" .
|
|
115
|
+
|
|
116
|
+
apar:publishedBy a owl:ObjectProperty ;
|
|
117
|
+
rdfs:domain apar:AgentServicePublication ;
|
|
118
|
+
rdfs:range ap:Agent ;
|
|
119
|
+
rdfs:label "published by" .
|
|
120
|
+
|
|
121
|
+
apar:authorizedBy a owl:ObjectProperty ;
|
|
122
|
+
rdfs:domain apar:AgentServicePublication ;
|
|
123
|
+
rdfs:range apar:PublicationAuthority ;
|
|
124
|
+
rdfs:label "authorized by" .
|
|
125
|
+
|
|
126
|
+
apar:publicationSequence a owl:DatatypeProperty ;
|
|
127
|
+
rdfs:domain apar:AgentServicePublication ;
|
|
128
|
+
rdfs:range xsd:nonNegativeInteger ;
|
|
129
|
+
rdfs:label "publication sequence" ;
|
|
130
|
+
rdfs:comment "Monotonic WITHIN a channel. The anti-rollback axis: a lower sequence is rejected, an equal sequence with a different digest is publisher equivocation." .
|
|
131
|
+
|
|
132
|
+
apar:previousPublication a owl:ObjectProperty ;
|
|
133
|
+
rdfs:domain apar:AgentServicePublication ;
|
|
134
|
+
rdfs:range apar:AgentServicePublication ;
|
|
135
|
+
rdfs:label "previous publication" .
|
|
136
|
+
|
|
137
|
+
apar:supersedesPublication a owl:ObjectProperty ;
|
|
138
|
+
owl:inverseOf apar:previousPublication ;
|
|
139
|
+
rdfs:label "supersedes publication" .
|
|
140
|
+
|
|
141
|
+
apar:publicationDigest a owl:DatatypeProperty ;
|
|
142
|
+
rdfs:domain apar:AgentServicePublication ;
|
|
143
|
+
rdfs:range xsd:string ;
|
|
144
|
+
rdfs:label "publication digest" .
|
|
145
|
+
|
|
146
|
+
apar:publicationStatus a owl:DatatypeProperty ;
|
|
147
|
+
rdfs:domain apar:AgentServicePublication ;
|
|
148
|
+
rdfs:range xsd:string ;
|
|
149
|
+
rdfs:label "publication status" ;
|
|
150
|
+
rdfs:comment "active | superseded | suspended | revoked | compromised. Only active may be used to reach an agent." .
|
|
151
|
+
|
|
152
|
+
apar:surfaceExposure a owl:DatatypeProperty ;
|
|
153
|
+
rdfs:domain apar:ServiceSurface ;
|
|
154
|
+
rdfs:range xsd:string ;
|
|
155
|
+
rdfs:label "surface exposure" ;
|
|
156
|
+
rdfs:comment "public | authenticated | private | service-only. A private surface with no audience is visible to NOBODY (fail-closed)." .
|
|
157
|
+
|
|
158
|
+
apar:disclosedTo a owl:ObjectProperty ;
|
|
159
|
+
rdfs:domain apar:ServiceSurface ;
|
|
160
|
+
rdfs:range ap:Agent ;
|
|
161
|
+
rdfs:label "disclosed to" ;
|
|
162
|
+
rdfs:comment "The audience of a private surface. Never projected into any public graph." .
|
|
163
|
+
|
|
164
|
+
# ─── Endpoint + transport-key evidence ────────────────────────────────────
|
|
165
|
+
|
|
166
|
+
apar:EndpointControlProof a owl:Class ;
|
|
167
|
+
rdfs:subClassOf prov:Entity ;
|
|
168
|
+
rdfs:label "Endpoint Control Proof" ;
|
|
169
|
+
rdfs:comment "Evidence that the publisher CONTROLS the endpoint it published — the difference between claiming a URI and controlling it." .
|
|
170
|
+
|
|
171
|
+
apar:TransportKeyBinding a owl:Class ;
|
|
172
|
+
rdfs:label "Transport Key Binding" ;
|
|
173
|
+
rdfs:comment "A transport key bound to a surface, with a purpose and a validity interval. Rotating it republishes at sequence+1; it never changes the canonical agent." .
|
|
174
|
+
|
|
175
|
+
apar:hasEndpointControlProof a owl:ObjectProperty ;
|
|
176
|
+
rdfs:domain apar:ServiceSurface ;
|
|
177
|
+
rdfs:range apar:EndpointControlProof ;
|
|
178
|
+
rdfs:label "has endpoint control proof" .
|
|
179
|
+
|
|
180
|
+
apar:hasTransportKeyBinding a owl:ObjectProperty ;
|
|
181
|
+
rdfs:domain apar:ServiceSurface ;
|
|
182
|
+
rdfs:range apar:TransportKeyBinding ;
|
|
183
|
+
rdfs:label "has transport key binding" .
|
|
184
|
+
|
|
185
|
+
# ─── Private resolution grants + invitations ──────────────────────────────
|
|
186
|
+
|
|
187
|
+
apar:PrivateResolutionGrant a owl:Class ;
|
|
188
|
+
rdfs:label "Private Resolution Grant" ;
|
|
189
|
+
rdfs:comment "A capability to DISCOVER, never to USE. High-entropy opaque id — never a salted hash of a human-readable name. Modes: subject-bound (default; a copied grant is inert), pairwise (per-relationship id/projection/label), bearer-bootstrap (short-lived, exchanged for a subject-bound grant)." .
|
|
190
|
+
|
|
191
|
+
apar:PairwiseAgentAlias a owl:Class ;
|
|
192
|
+
rdfs:label "Pairwise Agent Alias" ;
|
|
193
|
+
rdfs:comment "A per-counterparty private label for the same canonical agent. MUST NOT have a public projection — a public row is a common identifier that defeats unlinkability." .
|
|
194
|
+
|
|
195
|
+
apar:AgentConnectionInvitation a owl:Class ;
|
|
196
|
+
rdfs:label "Agent Connection Invitation" ;
|
|
197
|
+
rdfs:comment "Bootstrap: carries an initial signed publication (connect now, resolver-independent) AND a grant plus rendezvous locator (refresh forever). This is why an endpoint change never requires a new invitation." .
|
|
198
|
+
|
|
199
|
+
apar:RendezvousService a owl:Class ;
|
|
200
|
+
rdfs:subClassOf ap:ServiceAgent ;
|
|
201
|
+
rdfs:label "Rendezvous Service" ;
|
|
202
|
+
rdfs:comment "A shared resolution endpoint for an organization. Reveals only that the org operates one — not which agents exist, their names, endpoints, capabilities or partners. Replaceable; cannot forge a target publication; cannot grant action authority." .
|
|
203
|
+
|
|
204
|
+
apar:permitsDiscoveryOf a owl:ObjectProperty ;
|
|
205
|
+
rdfs:domain apar:PrivateResolutionGrant ;
|
|
206
|
+
rdfs:range ap:Agent ;
|
|
207
|
+
rdfs:label "permits discovery of" ;
|
|
208
|
+
rdfs:comment "The target agent, signed into the grant so it cannot be retargeted. This is DISCOVERY permission only." .
|
|
209
|
+
|
|
210
|
+
apar:permitsProjection a owl:DatatypeProperty ;
|
|
211
|
+
rdfs:domain apar:PrivateResolutionGrant ;
|
|
212
|
+
rdfs:range xsd:string ;
|
|
213
|
+
rdfs:label "permits projection" ;
|
|
214
|
+
rdfs:comment "The named projection profile. A grant NARROWS a projection; it can never widen past the profile's exposure ceiling." .
|
|
215
|
+
|
|
216
|
+
apar:grantMode a owl:DatatypeProperty ;
|
|
217
|
+
rdfs:domain apar:PrivateResolutionGrant ;
|
|
218
|
+
rdfs:range xsd:string ;
|
|
219
|
+
rdfs:label "grant mode" ;
|
|
220
|
+
rdfs:comment "subject-bound | pairwise | bearer-bootstrap." .
|
|
221
|
+
|
|
222
|
+
apar:aliasOfAgent a owl:ObjectProperty ;
|
|
223
|
+
rdfs:domain apar:PairwiseAgentAlias ;
|
|
224
|
+
rdfs:range ap:Agent ;
|
|
225
|
+
rdfs:label "alias of agent" .
|
|
226
|
+
|
|
227
|
+
apar:carriesGrant a owl:ObjectProperty ;
|
|
228
|
+
rdfs:domain apar:AgentConnectionInvitation ;
|
|
229
|
+
rdfs:range apar:PrivateResolutionGrant ;
|
|
230
|
+
rdfs:label "carries grant" .
|
|
231
|
+
|
|
232
|
+
apar:carriesInitialPublication a owl:ObjectProperty ;
|
|
233
|
+
rdfs:domain apar:AgentConnectionInvitation ;
|
|
234
|
+
rdfs:range apar:AgentServicePublication ;
|
|
235
|
+
rdfs:label "carries initial publication" .
|
|
236
|
+
|
|
237
|
+
# ─── Resolution requests, decisions, receipts ─────────────────────────────
|
|
238
|
+
|
|
239
|
+
apar:ResolutionRequest a owl:Class ;
|
|
240
|
+
rdfs:subClassOf prov:Activity ;
|
|
241
|
+
rdfs:label "Resolution Request" ;
|
|
242
|
+
rdfs:comment "A presented reference plus a challenge response. Distinct from apdisc:CandidateQuery, which searches; this one LOCATES an already-identified agent." .
|
|
243
|
+
|
|
244
|
+
apar:ResolutionDecision a owl:Class ;
|
|
245
|
+
rdfs:label "Resolution Decision" ;
|
|
246
|
+
rdfs:comment "allowed | denied. Every DENIAL is uniform on the wire — distinguishing unknown/expired/unauthorized is a grant-existence oracle." .
|
|
247
|
+
|
|
248
|
+
apar:AgentResolutionReceipt a owl:Class ;
|
|
249
|
+
rdfs:subClassOf prov:Entity ;
|
|
250
|
+
rdfs:label "Agent Resolution Receipt" ;
|
|
251
|
+
rdfs:comment "Privacy-minimized evidence of one resolution: grant-id DIGEST, publication id/digest/sequence, projection profile, disclosed field CLASSES, decision. NEVER the raw grant, a bearer secret, or a private label in global logs — audit metadata about resolution is itself relationship data. Distinct from apres:ResolutionReceipt (intent resolution)." .
|
|
252
|
+
|
|
253
|
+
apar:usedResolutionGrant a owl:ObjectProperty ;
|
|
254
|
+
rdfs:domain apar:ResolutionRequest ;
|
|
255
|
+
rdfs:range apar:PrivateResolutionGrant ;
|
|
256
|
+
rdfs:label "used resolution grant" .
|
|
257
|
+
|
|
258
|
+
apar:resolvedBy a owl:ObjectProperty ;
|
|
259
|
+
rdfs:domain apar:ResolutionRequest ;
|
|
260
|
+
rdfs:range apar:RendezvousService ;
|
|
261
|
+
rdfs:label "resolved by" .
|
|
262
|
+
|
|
263
|
+
apar:hasResolutionDecision a owl:ObjectProperty ;
|
|
264
|
+
rdfs:domain apar:ResolutionRequest ;
|
|
265
|
+
rdfs:range apar:ResolutionDecision ;
|
|
266
|
+
rdfs:label "has resolution decision" .
|
|
267
|
+
|
|
268
|
+
apar:resolutionAssurance a owl:DatatypeProperty ;
|
|
269
|
+
rdfs:domain apar:AgentResolutionReceipt ;
|
|
270
|
+
rdfs:range xsd:string ;
|
|
271
|
+
rdfs:label "resolution assurance" ;
|
|
272
|
+
rdfs:comment "unverified | asserted | signed-publication | endpoint-control-verified | peer-authenticated. A consumer states a MINIMUM; a weaker level is never silently accepted (ADR-0013)." .
|
|
273
|
+
|
|
274
|
+
apar:grantIdDigest a owl:DatatypeProperty ;
|
|
275
|
+
rdfs:domain apar:AgentResolutionReceipt ;
|
|
276
|
+
rdfs:range xsd:string ;
|
|
277
|
+
rdfs:label "grant id digest" ;
|
|
278
|
+
rdfs:comment "A keyed digest. The raw grant id MUST NOT appear in any receipt, log, URL, trace, or graph projection." .
|
|
279
|
+
|
|
280
|
+
# ─── Boundary axioms (normative commentary; SHACL enforces) ───────────────
|
|
281
|
+
#
|
|
282
|
+
# 1. Exactly one apar:describesAgent per publication.
|
|
283
|
+
# 2. An active publication has a sequence, an expiry, a digest and a proof.
|
|
284
|
+
# 3. Every grant has a target and an expiry; subject-bound/pairwise grants identify a subject.
|
|
285
|
+
# 4. bearer-bootstrap grants carry a bounded maximum lifetime.
|
|
286
|
+
# 5. A PairwiseAgentAlias MUST NOT have a public projection.
|
|
287
|
+
# 6. A surface with exposure private/service-only MUST NOT appear in a public publication.
|
|
288
|
+
# 7. Every ServiceSurface has a protocol, a version, an exposure and a security requirement.
|
|
289
|
+
# 8. Every TransportKeyBinding has a purpose and a validity interval.
|
|
290
|
+
# 9. publicationSequence is non-negative; a superseding publication references its prior digest
|
|
291
|
+
# where continuity is required.
|
|
292
|
+
# 10. NEVER project into a public graph (extends apsec: exposure rules + ADR-0040): grant ids,
|
|
293
|
+
# private labels, partner identities, private endpoints, pairwise relationships, private
|
|
294
|
+
# capabilities, resolution logs, private transport keys.
|
|
295
|
+
# 11. apar:PrivateResolutionGrant is NEVER an input to an authorization decision. Discovery
|
|
296
|
+
# permission and action authority are disjoint (ADR-0056).
|
|
297
|
+
|
|
298
|
+
# ─── Spec 435 §5 — the signed MCP tool manifest: what a server CLAIMS to serve, pinned by digest at attach ─────────
|
|
299
|
+
apar:McpToolManifest a owl:Class ;
|
|
300
|
+
rdfs:subClassOf prov:Entity ;
|
|
301
|
+
rdfs:label "McpToolManifest" ;
|
|
302
|
+
rdfs:comment "The server's name and versions and each tool's name, description and input-schema digest — no secrets, no bodies — signed by the publishing agent. A holder pins its digest; a served manifest that differs is refused, never re-pinned (ADR-0013). Publication still authorizes nothing (ADR-0056)." .
|
|
303
|
+
apar:manifestDigest a owl:DatatypeProperty ; rdfs:domain apar:McpToolManifest ; rdfs:range xsd:string ; rdfs:label "manifestDigest" .
|
|
304
|
+
apar:manifestServerUrl a owl:DatatypeProperty ; rdfs:domain apar:McpToolManifest ; rdfs:range xsd:string ; rdfs:label "manifestServerUrl" .
|
|
305
|
+
apar:McpToolBundle a owl:Class ;
|
|
306
|
+
rdfs:subClassOf prov:Entity ;
|
|
307
|
+
rdfs:label "McpToolBundle" ;
|
|
308
|
+
rdfs:comment "A town-published set of catalog entries a steward attaches to an agent in one act; each attach still writes its own connector record and pin (spec 435 §5)." .
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# T-box — agreement vocabulary (spine Layer 8).
|
|
2
|
+
# Hyperledger Indy commitments + Sidetree anchor pattern; W3C VC envelope.
|
|
3
|
+
# Spec 225 §11.5; ADR-0024 Decision 2 (single-row commitment-only).
|
|
4
|
+
# Owning runtime SHACL: packages/agreements/src/shapes/agreement.shacl.ttl.
|
|
5
|
+
|
|
6
|
+
@prefix apagr: <https://agenticprimitives.dev/ns/agreement#> .
|
|
7
|
+
@prefix apvc: <https://agenticprimitives.dev/ns/verifiable-credential#> .
|
|
8
|
+
@prefix apint: <https://agenticprimitives.dev/ns/intent#> .
|
|
9
|
+
@prefix ap: <https://agenticprimitives.dev/ns/core#> .
|
|
10
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
11
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
12
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
13
|
+
@prefix vf: <https://w3id.org/valueflows#> .
|
|
14
|
+
@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
15
|
+
|
|
16
|
+
apagr: a owl:Ontology ;
|
|
17
|
+
rdfs:label "Agentic Primitives — agreement ontology" ;
|
|
18
|
+
owl:versionInfo "0.1.0" ;
|
|
19
|
+
rdfs:comment "Layer 8 of the spine. Commitment-only on chain; body in vaults." .
|
|
20
|
+
|
|
21
|
+
apagr:AgreementCommitment a owl:Class ;
|
|
22
|
+
rdfs:subClassOf vf:Commitment ;
|
|
23
|
+
rdfs:label "AgreementCommitment" ;
|
|
24
|
+
rdfs:comment "On-chain commitment-only row in AgreementRegistry.sol. Body in vaults; only commitment hash + issuer + schema + status + epoch on chain. AR-12: party SA addresses never in calldata." .
|
|
25
|
+
|
|
26
|
+
apagr:AgreementCredential a owl:Class ;
|
|
27
|
+
rdfs:subClassOf apvc:VerifiableCredential ;
|
|
28
|
+
rdfs:label "AgreementCredential" ;
|
|
29
|
+
rdfs:comment "DOLCE+DnS Situation — the off-chain VC describing a two-party agreement. Issued by an issuer Agent (e.g. Global Church). Held in each party's PV. Per PD-22 — lives in agreements package." .
|
|
30
|
+
|
|
31
|
+
apagr:AgreementStatus a owl:Class ;
|
|
32
|
+
rdfs:label "AgreementStatus" ;
|
|
33
|
+
rdfs:comment "Status state-machine codelist: ACTIVE | COMPLETED | DISPUTED | REVOKED (per spec 241 §5.4.1)." .
|
|
34
|
+
|
|
35
|
+
# ─── Properties ───────────────────────────────────────────────────────
|
|
36
|
+
|
|
37
|
+
apagr:hasIssuer a owl:ObjectProperty ;
|
|
38
|
+
rdfs:domain apagr:AgreementCommitment ;
|
|
39
|
+
rdfs:range ap:Agent ;
|
|
40
|
+
rdfs:label "hasIssuer" ;
|
|
41
|
+
rdfs:comment "The issuer SA whose EIP-712 attestation backs the commitment." .
|
|
42
|
+
|
|
43
|
+
apagr:hasParty a owl:ObjectProperty ;
|
|
44
|
+
rdfs:domain apagr:AgreementCredential ;
|
|
45
|
+
rdfs:range ap:Agent ;
|
|
46
|
+
rdfs:label "hasParty" ;
|
|
47
|
+
rdfs:comment "The two parties to the agreement. Cardinality 2 (enforced by SHACL in agreements package)." .
|
|
48
|
+
|
|
49
|
+
apagr:agreementCommitmentHash a owl:DatatypeProperty ;
|
|
50
|
+
rdfs:domain apagr:AgreementCommitment ;
|
|
51
|
+
rdfs:range xsd:hexBinary ;
|
|
52
|
+
rdfs:label "agreementCommitmentHash" ;
|
|
53
|
+
rdfs:comment "The canonical commitment hash (per spec 241 §3 + IA §10)." .
|
|
54
|
+
|
|
55
|
+
apagr:schemaHash a owl:DatatypeProperty ;
|
|
56
|
+
rdfs:domain apagr:AgreementCommitment ;
|
|
57
|
+
rdfs:range xsd:hexBinary ;
|
|
58
|
+
rdfs:label "schemaHash" ;
|
|
59
|
+
rdfs:comment "Reference to the on-chain ShapeRegistry SHACL shape (PD-12)." .
|
|
60
|
+
|
|
61
|
+
apagr:status a owl:DatatypeProperty ;
|
|
62
|
+
rdfs:domain apagr:AgreementCommitment ;
|
|
63
|
+
rdfs:range xsd:string ;
|
|
64
|
+
rdfs:label "status" ;
|
|
65
|
+
rdfs:comment "ACTIVE | COMPLETED | DISPUTED | REVOKED. Bilateral signing for ACTIVE→COMPLETED/REVOKED; either party for ACTIVE→DISPUTED." .
|
|
66
|
+
|
|
67
|
+
apagr:createdEpochBucket a owl:DatatypeProperty ;
|
|
68
|
+
rdfs:domain apagr:AgreementCommitment ;
|
|
69
|
+
rdfs:range xsd:integer ;
|
|
70
|
+
rdfs:label "createdEpochBucket" ;
|
|
71
|
+
rdfs:comment "Creation time in EPOCH_SECONDS buckets. Raw block.timestamp never stored." .
|
|
72
|
+
|
|
73
|
+
apagr:fromIntentMatch a owl:ObjectProperty ;
|
|
74
|
+
rdfs:domain apagr:AgreementCommitment ;
|
|
75
|
+
rdfs:range apint:IntentMatch ;
|
|
76
|
+
rdfs:label "fromIntentMatch" ;
|
|
77
|
+
rdfs:comment "Optional reference to the IntentMatch (Layer 7) that produced the Commitment input." .
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# T-box — attestation vocabulary (spine Layers 12–15 credential types).
|
|
2
|
+
# EAS-aligned per ADR-0023. Spec 225 §11.5.
|
|
3
|
+
# Owning runtime SHACL: packages/attestations/src/shapes/credentials.shacl.ttl.
|
|
4
|
+
# All credential types share AttestationRegistry.sol per ADR-0024 Decision 2
|
|
5
|
+
# (architectural inverse of the smart-contract-per-credential anti-pattern).
|
|
6
|
+
|
|
7
|
+
@prefix apatt: <https://agenticprimitives.dev/ns/attestation#> .
|
|
8
|
+
@prefix apvc: <https://agenticprimitives.dev/ns/verifiable-credential#> .
|
|
9
|
+
@prefix apint: <https://agenticprimitives.dev/ns/intent#> .
|
|
10
|
+
@prefix apagr: <https://agenticprimitives.dev/ns/agreement#> .
|
|
11
|
+
@prefix apful: <https://agenticprimitives.dev/ns/fulfillment#> .
|
|
12
|
+
@prefix ap: <https://agenticprimitives.dev/ns/core#> .
|
|
13
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
14
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
15
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
16
|
+
@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
17
|
+
|
|
18
|
+
apatt: a owl:Ontology ;
|
|
19
|
+
rdfs:label "Agentic Primitives — attestation ontology" ;
|
|
20
|
+
owl:versionInfo "0.2.0" ;
|
|
21
|
+
rdfs:comment "Credential types for layers 12–15. All share one on-chain AttestationRegistry per ADR-0024 Decision 2." .
|
|
22
|
+
|
|
23
|
+
# ─── On-chain row type ────────────────────────────────────────────────
|
|
24
|
+
|
|
25
|
+
# ─── The credential root the spine subclasses (spec 225 §11.5) ────────────────────────────────────
|
|
26
|
+
# `apvc:` IS https://agenticprimitives.dev/ns/verifiable-credential# — the IRI the TS surface (NS.apvc), context.jsonld
|
|
27
|
+
# and the W3C crosswalk have always used. Until 2026-10-15 five T-box files bound the prefix to /ns/credential# (apcr's,
|
|
28
|
+
# the CONTROL credentials of ADR-0011), so the subclass axioms below pointed at a class nobody declared under a namespace
|
|
29
|
+
# that means something else. Declared here, once, under the right IRI; the crosswalk says it is w3cvc:VerifiableCredential.
|
|
30
|
+
apvc:VerifiableCredential a owl:Class ;
|
|
31
|
+
rdfs:subClassOf prov:Entity ;
|
|
32
|
+
rdfs:label "VerifiableCredential" ;
|
|
33
|
+
rdfs:comment "A signed, verifiable claim set in the W3C VC shape (mappings/spine-standards.ttl: owl:equivalentClass w3cvc:VerifiableCredential). The root every spine credential subclasses — attestation credentials, agreements, payment mandates, anonymous credentials. NOT a control credential (apcr:CredentialFacet): nothing here controls an agent." .
|
|
34
|
+
|
|
35
|
+
apatt:Attestation a owl:Class ;
|
|
36
|
+
rdfs:subClassOf prov:Entity ;
|
|
37
|
+
rdfs:label "Attestation" ;
|
|
38
|
+
rdfs:comment "On-chain row in AttestationRegistry.sol. EAS-aligned: deterministic UID + refUID + EIP-712 + ERC-1271. Per-credential-class discrimination via credentialType. ADR-0023." .
|
|
39
|
+
|
|
40
|
+
# ─── Credential types (Layer 12: Evidence) ────────────────────────────
|
|
41
|
+
|
|
42
|
+
apatt:EvidenceCredential a owl:Class ;
|
|
43
|
+
rdfs:subClassOf apvc:VerifiableCredential ;
|
|
44
|
+
rdfs:label "EvidenceCredential" ;
|
|
45
|
+
rdfs:comment "Holder-asserted evidence credential bound to an Artifact. Holder-only on-chain revoke (D-18 + AR-10). Layer 12." .
|
|
46
|
+
|
|
47
|
+
# ─── Credential types (Layer 13: Outcome) ─────────────────────────────
|
|
48
|
+
|
|
49
|
+
apatt:OutcomeCredential a owl:Class ;
|
|
50
|
+
rdfs:subClassOf apvc:VerifiableCredential ;
|
|
51
|
+
rdfs:label "OutcomeCredential" ;
|
|
52
|
+
rdfs:comment "Outcome credential bound to an Intent. FLF-OUT-1: MUST cite at least one EvidenceCredential UID. Holder-only revoke. Layer 13." .
|
|
53
|
+
|
|
54
|
+
# ─── Credential types (Layer 14: Validation) ──────────────────────────
|
|
55
|
+
|
|
56
|
+
apatt:ValidationCredential a owl:Class ;
|
|
57
|
+
rdfs:subClassOf apvc:VerifiableCredential ;
|
|
58
|
+
rdfs:label "ValidationCredential" ;
|
|
59
|
+
rdfs:comment "Validator's attestation of an Outcome. Validator-type discriminated (human | agent | oracle | TEE | zkML | re-execution per ERC-8004). Validator-only revoke. Layer 14." .
|
|
60
|
+
|
|
61
|
+
apatt:Validator a owl:Class ;
|
|
62
|
+
rdfs:subClassOf ap:ServiceAgent ;
|
|
63
|
+
rdfs:label "Validator" ;
|
|
64
|
+
rdfs:comment "A service Agent that produces ValidationCredentials — a KIND OF SERVICE (⊑ ap:ServiceAgent). Independence requirement: validator SA ≠ executor SA." .
|
|
65
|
+
|
|
66
|
+
apatt:ValidatorKind a owl:Class ;
|
|
67
|
+
rdfs:label "ValidatorKind" ;
|
|
68
|
+
rdfs:comment "Discriminator: human | agent | oracle | TEE | zkML | re-execution." .
|
|
69
|
+
|
|
70
|
+
# ─── Credential types (Layer 15: TrustUpdate) ─────────────────────────
|
|
71
|
+
|
|
72
|
+
apatt:TrustUpdate a owl:Class ;
|
|
73
|
+
rdfs:subClassOf apvc:VerifiableCredential ;
|
|
74
|
+
rdfs:label "TrustUpdate" ;
|
|
75
|
+
rdfs:comment "Reputation mutation. D-40 hard substrate invariant: MUST cite at least one ValidationCredential UID. Sybil resistance via credential-cost, never KYC. Validator-only revoke. Layer 15." .
|
|
76
|
+
|
|
77
|
+
apatt:AssociationCredential a owl:Class ;
|
|
78
|
+
rdfs:subClassOf apvc:VerifiableCredential ;
|
|
79
|
+
rdfs:label "AssociationCredential" ;
|
|
80
|
+
rdfs:comment "Holder asserts membership/association with an issuer. Holder-only revoke. Substrate-generic; vertical instances (JpAssociationCredential, etc.) compose on top." .
|
|
81
|
+
|
|
82
|
+
# ─── Properties ───────────────────────────────────────────────────────
|
|
83
|
+
|
|
84
|
+
apatt:uid a owl:DatatypeProperty ;
|
|
85
|
+
rdfs:domain apatt:Attestation ;
|
|
86
|
+
rdfs:range xsd:hexBinary ;
|
|
87
|
+
rdfs:label "uid" ;
|
|
88
|
+
rdfs:comment "Deterministic UID per EAS pattern." .
|
|
89
|
+
|
|
90
|
+
apatt:credentialType a owl:DatatypeProperty ;
|
|
91
|
+
rdfs:domain apatt:Attestation ;
|
|
92
|
+
rdfs:range xsd:hexBinary ;
|
|
93
|
+
rdfs:label "credentialType" ;
|
|
94
|
+
rdfs:comment "keccak256 hash discriminator (AssociationCredential / EvidenceCredential / OutcomeCredential / ValidationCredential / TrustUpdate / PaymentReceipt)." .
|
|
95
|
+
|
|
96
|
+
apatt:credentialHash a owl:DatatypeProperty ;
|
|
97
|
+
rdfs:domain apatt:Attestation ;
|
|
98
|
+
rdfs:range xsd:hexBinary ;
|
|
99
|
+
rdfs:label "credentialHash" ;
|
|
100
|
+
rdfs:comment "RFC 8785 JCS canonical hash of off-chain VC body." .
|
|
101
|
+
|
|
102
|
+
apatt:refUID a owl:DatatypeProperty ;
|
|
103
|
+
rdfs:domain apatt:Attestation ;
|
|
104
|
+
rdfs:range xsd:hexBinary ;
|
|
105
|
+
rdfs:label "refUID" ;
|
|
106
|
+
rdfs:comment "EAS-style single back-pointer. Used by JointAgreement to reference AgreementCommitment." .
|
|
107
|
+
|
|
108
|
+
apatt:bilateralConsentRef a owl:DatatypeProperty ;
|
|
109
|
+
rdfs:domain apatt:Attestation ;
|
|
110
|
+
rdfs:range xsd:hexBinary ;
|
|
111
|
+
rdfs:label "bilateralConsentRef" ;
|
|
112
|
+
rdfs:comment "References signatures-bundle hash OR pinned-delegation hash for joint attestations. 0 for unilateral." .
|
|
113
|
+
|
|
114
|
+
apatt:basedOnIntent a owl:ObjectProperty ;
|
|
115
|
+
rdfs:domain apatt:OutcomeCredential ;
|
|
116
|
+
rdfs:range apint:Intent ;
|
|
117
|
+
rdfs:label "basedOnIntent" .
|
|
118
|
+
|
|
119
|
+
apatt:basedOnArtifact a owl:ObjectProperty ;
|
|
120
|
+
rdfs:domain apatt:EvidenceCredential ;
|
|
121
|
+
rdfs:range apful:Artifact ;
|
|
122
|
+
rdfs:label "basedOnArtifact" .
|
|
123
|
+
|
|
124
|
+
apatt:citesEvidence a owl:ObjectProperty ;
|
|
125
|
+
rdfs:domain apatt:OutcomeCredential ;
|
|
126
|
+
rdfs:range apatt:EvidenceCredential ;
|
|
127
|
+
rdfs:label "citesEvidence" ;
|
|
128
|
+
rdfs:comment "FLF-OUT-1: MANDATORY. At least one EvidenceCredential UID citation required." .
|
|
129
|
+
|
|
130
|
+
apatt:citesValidation a owl:ObjectProperty ;
|
|
131
|
+
rdfs:domain apatt:TrustUpdate ;
|
|
132
|
+
rdfs:range apatt:ValidationCredential ;
|
|
133
|
+
rdfs:label "citesValidation" ;
|
|
134
|
+
rdfs:comment "D-40: MANDATORY. TrustUpdate cannot precede ValidationCredential." .
|
|
135
|
+
|
|
136
|
+
apatt:validatorKind a owl:DatatypeProperty ;
|
|
137
|
+
rdfs:domain apatt:ValidationCredential ;
|
|
138
|
+
rdfs:range xsd:string ;
|
|
139
|
+
rdfs:label "validatorKind" .
|
|
140
|
+
|
|
141
|
+
apatt:offchainCredentialStatusList a owl:DatatypeProperty ;
|
|
142
|
+
rdfs:domain apatt:Attestation ;
|
|
143
|
+
rdfs:range xsd:anyURI ;
|
|
144
|
+
rdfs:label "offchainCredentialStatusList" ;
|
|
145
|
+
rdfs:comment "W3C VC StatusList2021 pointer. Holder revocation on-chain ≠ issuer revocation off-chain — independently meaningful." .
|
|
146
|
+
|
|
147
|
+
# ─── Spec 435 §3 — TownStanding: the one opt-in way a steward becomes public (ADR-0025 amended, not broken) ────────
|
|
148
|
+
apatt:TownStanding a owl:Class ;
|
|
149
|
+
rdfs:subClassOf prov:Entity ;
|
|
150
|
+
rdfs:label "TownStanding" ;
|
|
151
|
+
rdfs:comment "A JOINT attestation on the AttestationRegistry signed by the agent (under its custody) and by its steward, scoped to a town and an estate, expiring, revocable by either party. Evidence that someone answers for this agent; NO GATE READS IT — standing is still derived from the private credential and the wire." .
|
|
152
|
+
apatt:standingTown a owl:DatatypeProperty ; rdfs:domain apatt:TownStanding ; rdfs:range xsd:string ; rdfs:label "standingTown" .
|
|
153
|
+
apatt:standingEstate a owl:DatatypeProperty ; rdfs:domain apatt:TownStanding ; rdfs:range xsd:string ; rdfs:label "standingEstate" .
|
|
154
|
+
apatt:standingSteward a owl:DatatypeProperty ; rdfs:domain apatt:TownStanding ; rdfs:range xsd:string ; rdfs:label "standingSteward" ;
|
|
155
|
+
rdfs:comment "The steward who countersigned — named by consent, revocable, expiring." .
|
|
156
|
+
apatt:standingValidUntil a owl:DatatypeProperty ; rdfs:domain apatt:TownStanding ; rdfs:range xsd:dateTime ; rdfs:label "standingValidUntil" .
|