@agenticprimitives/ontology 1.0.0-alpha.21 → 1.0.0-alpha.23
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 +11 -0
- package/cbox/card-projection-shapes.shacl.ttl +216 -0
- package/cbox/controlled-vocabularies.ttl +172 -4
- package/cbox/naming-registry-shapes.shacl.ttl +272 -0
- package/cbox/org-team-shapes.shacl.ttl +184 -0
- package/cbox/registry-vocabulary.ttl +86 -0
- package/cbox/run-provenance-shapes.shacl.ttl +172 -0
- package/context.jsonld +7 -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 +4 -2
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +22 -0
- 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/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 +230 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +275 -1
- package/dist/index.js.map +1 -1
- package/dist/party-roles.d.ts +106 -0
- package/dist/party-roles.d.ts.map +1 -0
- package/dist/party-roles.js +305 -0
- package/dist/party-roles.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/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-provenance-context.d.ts +211 -0
- package/dist/run-provenance-context.d.ts.map +1 -0
- package/dist/run-provenance-context.js +219 -0
- package/dist/run-provenance-context.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 +330 -0
- package/dist/vault-records.js.map +1 -0
- package/mappings/agent-discovery-standards.ttl +24 -3
- package/mappings/collaboration-crosswalk-organization.ttl +22 -0
- package/mappings/collaboration-crosswalk-skills.ttl +5 -0
- package/package.json +4 -2
- package/run-provenance.jsonld +106 -0
- package/tbox/actor-context.ttl +11 -0
- package/tbox/agent-resolution.ttl +6 -6
- package/tbox/card-projection.ttl +350 -0
- package/tbox/contact.ttl +61 -0
- package/tbox/context.ttl +114 -0
- package/tbox/coordination.ttl +17 -0
- package/tbox/core.ttl +232 -12
- package/tbox/execution.ttl +168 -0
- package/tbox/household.ttl +142 -0
- package/tbox/interaction.ttl +13 -0
- package/tbox/naming.ttl +114 -0
- package/tbox/org.ttl +188 -4
- package/tbox/profile.ttl +7 -0
- package/tbox/prov-imports.ttl +65 -0
- package/tbox/registry.ttl +159 -4
- package/tbox/skills.ttl +62 -0
- package/tbox/values.ttl +81 -0
package/tbox/naming.ttl
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# T-box — typed agent naming (spec 346 §3, §11; ADR-0061).
|
|
2
|
+
#
|
|
3
|
+
# The name class itself (apnam:NameFacet ⊑ ap:Facet — a resolvable name that points AT an Agent and is
|
|
4
|
+
# never the sole authority, ADR-0006) stays in tbox/identity.ttl with the other facets. This module adds
|
|
5
|
+
# what typed naming needs on top of it:
|
|
6
|
+
#
|
|
7
|
+
# apnam:tld the canonical suffix — NAMES the derived type (.me .org .team .svc
|
|
8
|
+
# .workspace .treasury .registry); a CLAIM checked against the SA's
|
|
9
|
+
# on-chain ap:agentType record, never authority and never structure
|
|
10
|
+
# apnam:ContextualNameIssuance a name issued BY a context (org / team / workspace agent) in its own
|
|
11
|
+
# namespace, current only while its basis delegation is live
|
|
12
|
+
# apnam:ContextualAgentReference a resolved `x@ctx` — a REFERENCE composing the canonical subject
|
|
13
|
+
# with an actor context, a role assignment and the live delegation;
|
|
14
|
+
# never an agent, never a second identity
|
|
15
|
+
#
|
|
16
|
+
# What a suffix is NOT (ADR-0061 §3): the inheritance structure, a root, a role, a technology. Resolution
|
|
17
|
+
# maps suffix → derived type → root; `rpedersen.me@richcanvas.org` still resolves to a Person — the
|
|
18
|
+
# `@richcanvas.org` is context, not classification.
|
|
19
|
+
|
|
20
|
+
@prefix apnam: <https://agenticprimitives.dev/ns/naming#> .
|
|
21
|
+
@prefix ap: <https://agenticprimitives.dev/ns/core#> .
|
|
22
|
+
@prefix apdel: <https://agenticprimitives.dev/ns/delegation#> .
|
|
23
|
+
@prefix apactor: <https://agenticprimitives.dev/ns/actor#> .
|
|
24
|
+
@prefix aporg: <https://agenticprimitives.dev/ns/org#> .
|
|
25
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
26
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
27
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
28
|
+
@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
29
|
+
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
|
30
|
+
|
|
31
|
+
<https://agenticprimitives.dev/ns/naming> a owl:Ontology ;
|
|
32
|
+
rdfs:label "Agentic Primitives — typed agent naming (spec 346)" ;
|
|
33
|
+
owl:versionInfo "0.1.0" ;
|
|
34
|
+
rdfs:comment "Typed suffixes, contextual name issuance, contextual references. A name is a facet (ADR-0006/ADR-0010): decorative, resolvable, replaceable — never the identifier and never authority." .
|
|
35
|
+
|
|
36
|
+
# ─── The typed suffix ────────────────────────────────────────────────────────
|
|
37
|
+
|
|
38
|
+
apnam:tld a owl:DatatypeProperty ;
|
|
39
|
+
rdfs:domain apnam:NameFacet ;
|
|
40
|
+
rdfs:range xsd:string ;
|
|
41
|
+
rdfs:label "tld" ;
|
|
42
|
+
rdfs:comment "The canonical suffix; names the derived type — derivedTypeForTld. NEVER authority. Values are the prefLabels of apnam:tldScheme (cbox): me org team svc workspace treasury registry; 'ws' is an alias of 'workspace', never stored. Legacy roots (.agent, .impact) carry no tld and are exempt from apnam:TypedAgentNameShape." .
|
|
43
|
+
|
|
44
|
+
apnam:namesDerivedType a owl:ObjectProperty ;
|
|
45
|
+
rdfs:domain skos:Concept ;
|
|
46
|
+
rdfs:range skos:Concept ;
|
|
47
|
+
rdfs:label "namesDerivedType" ;
|
|
48
|
+
rdfs:comment "apnam:tldScheme concept → ap:agentTypeScheme concept: the suffix→derived-type map the resolver applies and TypedAgentNameShape checks a name's target against. Fixed data, not a lookup any caller may widen." .
|
|
49
|
+
|
|
50
|
+
# ─── Contextual issuance ─────────────────────────────────────────────────────
|
|
51
|
+
|
|
52
|
+
apnam:ContextualNameIssuance a owl:Class ;
|
|
53
|
+
rdfs:subClassOf prov:Entity ;
|
|
54
|
+
rdfs:label "ContextualNameIssuance" ;
|
|
55
|
+
rdfs:comment "A name issued by a context (org/team/workspace agent) in its namespace: kind scoped | reference; basis = a membership+delegation, an operatedBy delegation, or a charter mandate. Vault record; anchored on chain iff listing public." .
|
|
56
|
+
|
|
57
|
+
apnam:issuedBy a owl:ObjectProperty ;
|
|
58
|
+
rdfs:domain apnam:ContextualNameIssuance ;
|
|
59
|
+
rdfs:range ap:Agent ;
|
|
60
|
+
rdfs:label "issuedBy" ;
|
|
61
|
+
rdfs:comment "The context that issued the name — an Organization (incl. Team) or a WorkspaceAgent (apnam:ContextualNameIssuanceShape)." .
|
|
62
|
+
|
|
63
|
+
apnam:issuedFor a owl:ObjectProperty ;
|
|
64
|
+
rdfs:domain apnam:ContextualNameIssuance ;
|
|
65
|
+
rdfs:range ap:Agent ;
|
|
66
|
+
rdfs:label "issuedFor" ;
|
|
67
|
+
rdfs:comment "The canonical subject the contextual name refers to. Its own canonical name is untouched by the issuance." .
|
|
68
|
+
|
|
69
|
+
apnam:issuanceBasis a owl:ObjectProperty ;
|
|
70
|
+
rdfs:domain apnam:ContextualNameIssuance ;
|
|
71
|
+
rdfs:range apdel:Delegation ;
|
|
72
|
+
rdfs:label "issuanceBasis" ;
|
|
73
|
+
rdfs:comment "The delegation whose liveness makes the name CURRENT. A reference, never a grant." .
|
|
74
|
+
|
|
75
|
+
apnam:issuanceKind a owl:DatatypeProperty ;
|
|
76
|
+
rdfs:domain apnam:ContextualNameIssuance ;
|
|
77
|
+
rdfs:range xsd:string ;
|
|
78
|
+
rdfs:label "issuanceKind" ;
|
|
79
|
+
rdfs:comment "scoped | reference (spec 346 §3.2 — same syntax, one meaning). A 'reference' issuance names ANOTHER agent in the issuer's namespace, so issuedFor must differ from issuedBy." .
|
|
80
|
+
|
|
81
|
+
apnam:issuedName a owl:DatatypeProperty ;
|
|
82
|
+
rdfs:domain apnam:ContextualNameIssuance ;
|
|
83
|
+
rdfs:range xsd:string ;
|
|
84
|
+
rdfs:label "issuedName" ;
|
|
85
|
+
rdfs:comment "The full contextual form as issued (e.g. rpedersen.me@richcanvas.org)." .
|
|
86
|
+
|
|
87
|
+
# ─── The resolved contextual reference ───────────────────────────────────────
|
|
88
|
+
|
|
89
|
+
apnam:ContextualAgentReference a owl:Class ;
|
|
90
|
+
rdfs:subClassOf prov:Entity ;
|
|
91
|
+
rdfs:label "ContextualAgentReference" ;
|
|
92
|
+
rdfs:comment "A resolved x@ctx: canonical subject + apactor:ActorContext + aporg:RoleAssignment + the live delegation. A reference — never an agent, never an identity." .
|
|
93
|
+
|
|
94
|
+
apnam:referenceSubject a owl:ObjectProperty ;
|
|
95
|
+
rdfs:domain apnam:ContextualAgentReference ;
|
|
96
|
+
rdfs:range ap:Agent ;
|
|
97
|
+
rdfs:label "referenceSubject" ;
|
|
98
|
+
rdfs:comment "The canonical Smart Agent the reference resolves to (ADR-0010)." .
|
|
99
|
+
|
|
100
|
+
apnam:referenceContext a owl:ObjectProperty ;
|
|
101
|
+
rdfs:domain apnam:ContextualAgentReference ;
|
|
102
|
+
rdfs:range apactor:ActorContext ;
|
|
103
|
+
rdfs:label "referenceContext" .
|
|
104
|
+
|
|
105
|
+
apnam:referenceRoleAssignment a owl:ObjectProperty ;
|
|
106
|
+
rdfs:domain apnam:ContextualAgentReference ;
|
|
107
|
+
rdfs:range aporg:RoleAssignment ;
|
|
108
|
+
rdfs:label "referenceRoleAssignment" .
|
|
109
|
+
|
|
110
|
+
apnam:referenceBasis a owl:ObjectProperty ;
|
|
111
|
+
rdfs:domain apnam:ContextualAgentReference ;
|
|
112
|
+
rdfs:range apdel:Delegation ;
|
|
113
|
+
rdfs:label "referenceBasis" ;
|
|
114
|
+
rdfs:comment "The live delegation the reference resolves through. Revoke it and the reference deactivates; the canonical name is untouched (ADR-0061 §6)." .
|
package/tbox/org.ttl
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
# T-box — organization membership, roles, enrollment (spec 324 §4–§8)
|
|
2
|
-
# OrganizationMembership is a Situation — not a delegation, not a
|
|
1
|
+
# T-box — organization membership, roles, enrollment (spec 324 §4–§8); team affiliation, workspace,
|
|
2
|
+
# responsibility (spec 344 §4.2). OrganizationMembership is a Situation — not a delegation, not a
|
|
3
|
+
# directory listing. A Workspace is an ENTITY (a governed coordination plane) — never an agent, never a
|
|
4
|
+
# tenant; its agentive face is the ap:WorkspaceAgent it is coordinatedBy (ADR-0061 §4).
|
|
3
5
|
|
|
4
6
|
@prefix aporg: <https://agenticprimitives.dev/ns/org#> .
|
|
5
7
|
@prefix apsit: <https://agenticprimitives.dev/ns/situation#> .
|
|
@@ -7,6 +9,8 @@
|
|
|
7
9
|
@prefix apdel: <https://agenticprimitives.dev/ns/delegation#> .
|
|
8
10
|
@prefix apent: <https://agenticprimitives.dev/ns/entitlement#> .
|
|
9
11
|
@prefix apint: <https://agenticprimitives.dev/ns/intent#> .
|
|
12
|
+
@prefix apmsg: <https://agenticprimitives.dev/ns/messaging#> .
|
|
13
|
+
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
|
10
14
|
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
11
15
|
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
12
16
|
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
@@ -15,8 +19,8 @@
|
|
|
15
19
|
|
|
16
20
|
aporg: a owl:Ontology ;
|
|
17
21
|
rdfs:label "Agentic Primitives — organization ontology" ;
|
|
18
|
-
owl:versionInfo "0.
|
|
19
|
-
rdfs:comment "Membership, roles, enrollment instruments (spec 324). DirectoryListing remains in tbox/messaging.ttl for wire compat." .
|
|
22
|
+
owl:versionInfo "0.3.0" ;
|
|
23
|
+
rdfs:comment "Membership, roles, enrollment instruments (spec 324); team affiliation, workspaces (the governed coordination plane) and responsibilities (spec 344 §4.2). DirectoryListing remains in tbox/messaging.ttl for wire compat." .
|
|
20
24
|
|
|
21
25
|
# ─── Membership ───────────────────────────────────────────────────────
|
|
22
26
|
|
|
@@ -120,3 +124,183 @@ aporg:AdmissionExclusion a owl:Class ;
|
|
|
120
124
|
aporg:expressesJoinIntent a owl:ObjectProperty ;
|
|
121
125
|
rdfs:domain aporg:MembershipApplication ; rdfs:range apint:JoinOrganizationIntent ;
|
|
122
126
|
rdfs:label "expressesJoinIntent" .
|
|
127
|
+
|
|
128
|
+
# ═══ spec 344 §4.2 — team affiliation, workspaces, responsibility ═════════
|
|
129
|
+
|
|
130
|
+
# ─── Team affiliation (§1.2) ──────────────────────────────────────────
|
|
131
|
+
|
|
132
|
+
aporg:TeamAffiliation a owl:Class ;
|
|
133
|
+
rdfs:subClassOf apsit:Situation ;
|
|
134
|
+
rdfs:comment """Private-by-default Situation: exactly one teamAgent + one affiliatedOrganization +
|
|
135
|
+
one affiliationKind under signed AffiliationDecision evidence. Informational — never authority.
|
|
136
|
+
Cross-org teams hold several 'chartered' affiliations (joint charter) or one from an Alliance.""" .
|
|
137
|
+
|
|
138
|
+
aporg:teamAgent a owl:ObjectProperty ;
|
|
139
|
+
rdfs:domain aporg:TeamAffiliation ; rdfs:range ap:TeamAgent .
|
|
140
|
+
aporg:affiliatedOrganization a owl:ObjectProperty ;
|
|
141
|
+
rdfs:domain aporg:TeamAffiliation ; rdfs:range ap:OrganizationAgent .
|
|
142
|
+
aporg:affiliationKind a owl:ObjectProperty ;
|
|
143
|
+
rdfs:domain aporg:TeamAffiliation ; rdfs:range skos:Concept ;
|
|
144
|
+
rdfs:comment "aporg:affiliationKindScheme — chartered | engaged (cbox)." .
|
|
145
|
+
aporg:mandatedByDelegation a owl:ObjectProperty ;
|
|
146
|
+
rdfs:domain aporg:TeamAffiliation ; rdfs:range apdel:Delegation ;
|
|
147
|
+
rdfs:comment """The chartering org's mandate — the delegation org→team that MATERIALIZES what the
|
|
148
|
+
affiliation only evidences. The gate verifies the delegation, never this record.""" .
|
|
149
|
+
|
|
150
|
+
aporg:AffiliationProposal a owl:Class ; rdfs:subClassOf prov:Entity .
|
|
151
|
+
aporg:AffiliationDecision a owl:Class ; rdfs:subClassOf prov:Entity ;
|
|
152
|
+
rdfs:comment """Signed accept/reject. Both stewards for 'engaged' and post-hoc 'chartered'; the
|
|
153
|
+
chartering steward alone when minted by the team-create ceremony itself.""" .
|
|
154
|
+
aporg:AffiliationTermination a owl:Class ; rdfs:subClassOf prov:Entity ;
|
|
155
|
+
rdfs:comment "Either side, unilaterally. Ends currency; revokes nothing." .
|
|
156
|
+
|
|
157
|
+
aporg:charteredBy a owl:ObjectProperty ;
|
|
158
|
+
rdfs:domain ap:TeamAgent ; rdfs:range ap:OrganizationAgent ;
|
|
159
|
+
rdfs:comment "DERIVED: current 'chartered' TeamAffiliation exists. Never asserted globally." .
|
|
160
|
+
aporg:engagedWith a owl:ObjectProperty ;
|
|
161
|
+
rdfs:domain ap:TeamAgent ; rdfs:range ap:OrganizationAgent ;
|
|
162
|
+
rdfs:comment "DERIVED: current 'engaged' TeamAffiliation exists." .
|
|
163
|
+
|
|
164
|
+
# ─── Boundary cases (§1.1, §1.4) ──────────────────────────────────────
|
|
165
|
+
|
|
166
|
+
aporg:WorkingGroup a owl:Class ; rdfs:subClassOf prov:Entity ;
|
|
167
|
+
rdfs:comment """An informal named collection of agents — NOT an agent: no custody, no authority.
|
|
168
|
+
Promotable by chartering a TeamAgent (a creation ceremony, never a mutation).""" .
|
|
169
|
+
|
|
170
|
+
aporg:InterorganizationalCollaborationArrangement a owl:Class ; rdfs:subClassOf prov:Entity ;
|
|
171
|
+
rdfs:comment """A loose partnership among organizations. Becomes ap:AllianceAgent only when real
|
|
172
|
+
joint authority is delegated.""" .
|
|
173
|
+
|
|
174
|
+
# ─── Workspace: the coordination plane (§2) ───────────────────────────
|
|
175
|
+
|
|
176
|
+
aporg:Workspace a owl:Class ; rdfs:subClassOf prov:Entity ;
|
|
177
|
+
rdfs:comment """A persistent, governed, purpose-bound coordination plane binding participant
|
|
178
|
+
agents, roles, responsibilities, policies, app/agent/resource bindings and representations.
|
|
179
|
+
NOT an agent, NOT a tenant: no custody, no address, no authority of its own. Governance
|
|
180
|
+
inherited from its governor; records in the governor's vault (ADR-0055). Several apps may
|
|
181
|
+
bind to ONE workspace — none of them recreates the org, team, roles, or domain context.""" .
|
|
182
|
+
|
|
183
|
+
aporg:governedBy a owl:ObjectProperty ;
|
|
184
|
+
rdfs:domain aporg:Workspace ; rdfs:range ap:OrganizationAgent ;
|
|
185
|
+
rdfs:comment """Exactly one governing agent (org, team, or alliance). Source of every policy the
|
|
186
|
+
workspace has. Switching workspace = switching authority/policy/disclosure/audit context.""" .
|
|
187
|
+
aporg:workspacePurpose a owl:DatatypeProperty ;
|
|
188
|
+
rdfs:domain aporg:Workspace ; rdfs:range xsd:string .
|
|
189
|
+
aporg:workspaceProfile a owl:ObjectProperty ;
|
|
190
|
+
rdfs:domain aporg:Workspace ; rdfs:range skos:Concept ;
|
|
191
|
+
rdfs:comment """aporg:workspaceProfileScheme. One primary profile; apps declare which profiles
|
|
192
|
+
they support and the catalog matches on it.""" .
|
|
193
|
+
aporg:focusedOn a owl:ObjectProperty ;
|
|
194
|
+
rdfs:domain aporg:Workspace ;
|
|
195
|
+
rdfs:comment """What the collaboration is ABOUT (a field, an initiative — domain profiles narrow
|
|
196
|
+
the range). The focus is not the workspace (review §12: a community or engagement within a
|
|
197
|
+
workspace is not another workspace).""" .
|
|
198
|
+
aporg:workspaceParticipationPolicy a owl:ObjectProperty ;
|
|
199
|
+
rdfs:domain aporg:Workspace ; rdfs:range skos:Concept ;
|
|
200
|
+
rdfs:comment """open (derived from the governor's membership — never asserted) | restricted
|
|
201
|
+
(asserted WorkspaceParticipation records).""" .
|
|
202
|
+
|
|
203
|
+
# Agents layer (§2.1)
|
|
204
|
+
aporg:WorkspaceParticipation a owl:Class ; rdfs:subClassOf apsit:Situation ;
|
|
205
|
+
rdfs:comment """Asserted participation in a RESTRICTED workspace: exactly one participantAgent
|
|
206
|
+
(ANY agent kind) + one inWorkspace, by invitation → accept. An org/team participant projects
|
|
207
|
+
its people in through its own live roster — never copied (the 341 §5.1c resolution pattern;
|
|
208
|
+
Gather27's GatherHost is this record).""" .
|
|
209
|
+
aporg:participantAgent a owl:ObjectProperty ;
|
|
210
|
+
rdfs:domain aporg:WorkspaceParticipation ; rdfs:range ap:Agent .
|
|
211
|
+
aporg:inWorkspace a owl:ObjectProperty ;
|
|
212
|
+
rdfs:domain aporg:WorkspaceParticipation ; rdfs:range aporg:Workspace .
|
|
213
|
+
|
|
214
|
+
aporg:coordinatedBy a owl:ObjectProperty ;
|
|
215
|
+
rdfs:domain aporg:Workspace ; rdfs:range ap:WorkspaceAgent ;
|
|
216
|
+
rdfs:comment """The ap:WorkspaceAgent: a service-kind SA the GOVERNOR delegates to (the
|
|
217
|
+
spec-327 assistant pattern, workspace-scoped). Provides the workspace's A2A/MCP surface —
|
|
218
|
+
projection publishing, notifications, audit. NEVER an independent source of authority:
|
|
219
|
+
revoke the governor's delegation and it is inert. Range narrowed from ap:ServiceAgent to
|
|
220
|
+
ap:WorkspaceAgent by spec 346 §2.2 — the workspace agent is the derived type the
|
|
221
|
+
'.workspace' suffix names.""" .
|
|
222
|
+
|
|
223
|
+
aporg:coordinatesWorkspace a owl:ObjectProperty ;
|
|
224
|
+
rdfs:domain ap:WorkspaceAgent ; rdfs:range aporg:Workspace ;
|
|
225
|
+
owl:inverseOf aporg:coordinatedBy ;
|
|
226
|
+
rdfs:comment """The workspace context this workspace agent custodies and serves. At most one. The
|
|
227
|
+
NAME binds to the workspace agent SA (the workspace's agentive face); the context is a governed
|
|
228
|
+
Entity in the governor's vault (spec 344 §5) and is never itself named.""" .
|
|
229
|
+
|
|
230
|
+
aporg:boundAgent a owl:ObjectProperty ;
|
|
231
|
+
rdfs:domain aporg:Workspace ; rdfs:range ap:Agent ;
|
|
232
|
+
rdfs:comment """A specialized domain agent bound into the workspace. The binding must reference
|
|
233
|
+
which principal it represents (mandate), which responsibility it supports (assignment), and
|
|
234
|
+
which data it may access (grants) — three references, never new authority.""" .
|
|
235
|
+
|
|
236
|
+
# Entities layer (§2.2)
|
|
237
|
+
aporg:WorkspaceRepresentation a owl:Class ; rdfs:subClassOf prov:Entity ;
|
|
238
|
+
rdfs:comment """A workspace-scoped, policy-bounded PROJECTION of a domain entity whose
|
|
239
|
+
authoritative record stays in its custodian's vault. Conventional SaaS: record belongs to
|
|
240
|
+
tenant. Here: entity exists independently; custodian controls the record; the workspace
|
|
241
|
+
receives an authorized representation that can expire or be revoked without the record ever
|
|
242
|
+
moving. Crosswalk: at:DataProjection under an at:DataCovenant; decision record precedent:
|
|
243
|
+
eng:ProjectionManifest (field-domain). NORMATIVE FLOOR: absence of a policy is never public —
|
|
244
|
+
an unclassified representation fails closed.""" .
|
|
245
|
+
|
|
246
|
+
aporg:represents a owl:ObjectProperty ;
|
|
247
|
+
rdfs:domain aporg:WorkspaceRepresentation ;
|
|
248
|
+
rdfs:comment "The domain entity represented. Range open — domain profiles narrow it." .
|
|
249
|
+
aporg:representationOfWorkspace a owl:ObjectProperty ;
|
|
250
|
+
rdfs:domain aporg:WorkspaceRepresentation ; rdfs:range aporg:Workspace .
|
|
251
|
+
aporg:sourceCustodian a owl:ObjectProperty ;
|
|
252
|
+
rdfs:domain aporg:WorkspaceRepresentation ; rdfs:range ap:Agent ;
|
|
253
|
+
rdfs:comment "Whose vault holds the authoritative record. Custody NEVER moves." .
|
|
254
|
+
aporg:localLabel a owl:DatatypeProperty ;
|
|
255
|
+
rdfs:domain aporg:WorkspaceRepresentation ; rdfs:range xsd:string ;
|
|
256
|
+
rdfs:comment "How THIS workspace knows the entity — the org-local-name pattern generalized." .
|
|
257
|
+
aporg:sharingPolicy a owl:ObjectProperty ;
|
|
258
|
+
rdfs:domain aporg:WorkspaceRepresentation ; rdfs:range skos:Concept ;
|
|
259
|
+
rdfs:comment """Disclosure bound on the representation (sensitivity / precision caps — domain
|
|
260
|
+
packs supply the scheme, e.g. eng: sensitivity L0–L5 + gc: location precision).""" .
|
|
261
|
+
aporg:representationValidUntil a owl:DatatypeProperty ;
|
|
262
|
+
rdfs:domain aporg:WorkspaceRepresentation ; rdfs:range xsd:dateTime .
|
|
263
|
+
|
|
264
|
+
aporg:adoptedResource a owl:ObjectProperty ;
|
|
265
|
+
rdfs:domain aporg:Workspace ;
|
|
266
|
+
rdfs:comment """A versioned external resource the workspace adopts for its purpose (the resource
|
|
267
|
+
fabric: provider publishes → HOME discovers/licenses → WORKSPACE adopts a version → APP
|
|
268
|
+
renders). A representation whose source is a provider, not a participant vault.""" .
|
|
269
|
+
|
|
270
|
+
# App bindings (§2.4)
|
|
271
|
+
aporg:boundApp a owl:ObjectProperty ;
|
|
272
|
+
rdfs:domain aporg:Workspace ;
|
|
273
|
+
rdfs:comment """An application (OIDC client) bound into this workspace. PROJECTION ONLY — the
|
|
274
|
+
app's reads still ride its own per-app read grants (spec 341 §4.3); binding grants nothing,
|
|
275
|
+
unbinding revokes nothing but presence. Several apps per workspace is the point (§2.4).""" .
|
|
276
|
+
|
|
277
|
+
apmsg:hostedInWorkspace a owl:ObjectProperty ;
|
|
278
|
+
rdfs:domain apmsg:DiscussionTopic ; rdfs:range aporg:Workspace ;
|
|
279
|
+
rdfs:comment """A topic MAY be hosted in one workspace of the same governor. Absent = the
|
|
280
|
+
org-wide board (today's behavior, unchanged).""" .
|
|
281
|
+
|
|
282
|
+
# ─── Responsibility (§1.5) ────────────────────────────────────────────
|
|
283
|
+
|
|
284
|
+
aporg:ResponsibilityAssignment a owl:Class ; rdfs:subClassOf apsit:Situation ;
|
|
285
|
+
rdfs:comment """A time-scoped, visible commitment: an agent is expected to care for an outcome or
|
|
286
|
+
resource within a scope, under named authority and accountability. NEVER an authorization.
|
|
287
|
+
More durable than an app task: one responsibility → many work items → many apps; survives
|
|
288
|
+
app replacement. Five questions, five concepts (spec 344 §1.5).""" .
|
|
289
|
+
|
|
290
|
+
aporg:responsibleAgent a owl:ObjectProperty ;
|
|
291
|
+
rdfs:domain aporg:ResponsibilityAssignment ; rdfs:range ap:Agent .
|
|
292
|
+
aporg:accountableAgent a owl:ObjectProperty ;
|
|
293
|
+
rdfs:domain aporg:ResponsibilityAssignment ; rdfs:range ap:Agent ;
|
|
294
|
+
rdfs:comment "Who answers for the result. MAY differ from responsibleAgent." .
|
|
295
|
+
aporg:responsibilityKind a owl:ObjectProperty ;
|
|
296
|
+
rdfs:domain aporg:ResponsibilityAssignment ; rdfs:range skos:Concept .
|
|
297
|
+
aporg:responsibilityScope a owl:ObjectProperty ;
|
|
298
|
+
rdfs:domain aporg:ResponsibilityAssignment ;
|
|
299
|
+
rdfs:comment "A workspace, team, engagement, record family — domain profiles narrow the range." .
|
|
300
|
+
aporg:underMandate a owl:ObjectProperty ;
|
|
301
|
+
rdfs:domain aporg:ResponsibilityAssignment ; rdfs:range apdel:Delegation ;
|
|
302
|
+
rdfs:comment "The authority the responsible agent exercises — a reference, not a grant." .
|
|
303
|
+
aporg:expectedOutcome a owl:DatatypeProperty ;
|
|
304
|
+
rdfs:domain aporg:ResponsibilityAssignment ; rdfs:range xsd:string .
|
|
305
|
+
aporg:reviewCadenceDays a owl:DatatypeProperty ;
|
|
306
|
+
rdfs:domain aporg:ResponsibilityAssignment ; rdfs:range xsd:integer .
|
package/tbox/profile.ttl
CHANGED
|
@@ -91,6 +91,13 @@ approf:focusAreas a owl:DatatypeProperty ;
|
|
|
91
91
|
apctx:classifiedBy apctx:KnowledgeDomain ;
|
|
92
92
|
rdfs:comment "atl:focusAreas (facet-registries G4). VALUE SPACE: comma-separated subject-domain labels, lowercase-hyphenated, e.g. 'modelo-720,forced-heirship'. Maps to the apctx:KnowledgeDomain facet so it stays ORTHOGONAL to capability identity — a focus area is a subject, never a declared capability (ADR-0051). RANKING ROLE: fitScore boost ONLY, capped hardest of the three. It must NEVER become a hard filter: a focus area is an emphasis, not a boundary, and an agent that has not published one is UNKNOWN, not absent." .
|
|
93
93
|
|
|
94
|
+
# ─── spec 347 §8.5 — how to obtain and run the agent's software ──────────────
|
|
95
|
+
|
|
96
|
+
approf:distribution a owl:DatatypeProperty ;
|
|
97
|
+
rdfs:domain approf:AgentProfile ; rdfs:range xsd:string ;
|
|
98
|
+
rdfs:label "distribution" ;
|
|
99
|
+
rdfs:comment "atl:distribution (spec 347 §8.5; docs/architecture/ard-acp-crosswalk.md §2–§3). A JSON literal per agent-profile `AgentDistributionV1` (JCS-canonical): `acp?` (Agent Client Protocol conformance — the eligibility flag for a hosted ACP registry.json projection), `version?` (implementation semver), `npx`/`uvx` { package, args?, env? }, `binary` { <platform>: { archive, cmd, sha256?, args?, env? } } with the six ACP platform keys. Field names mirror the ACP registry agent.schema.json so a registry file is a COPY of this fact, never a translation. SA-keyed (survives a rename, exists for nameless agents), written only by the agent itself. PUBLIC and on-chain-derivable (ADR-0040): the KB carries the string exactly as written on chain; a consumer parses it fail-closed (an unparsable literal is `null`, never a guess — ADR-0013). It describes distribution ONLY — it is not a capability claim, not a trust signal, and grants nothing." .
|
|
100
|
+
|
|
94
101
|
# ─── The value-space anchors these three point at ───────────────────────────
|
|
95
102
|
|
|
96
103
|
approf:regionVocabulary a owl:AnnotationProperty ;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# T-box — the W3C PROV-O terms this substrate EMITS, declared (spec 389).
|
|
2
|
+
#
|
|
3
|
+
# ── Why a file that declares someone else's vocabulary ───────────────────────────────────────────
|
|
4
|
+
# PROV-O is a W3C Recommendation and its terms mean what the Recommendation says — nothing here
|
|
5
|
+
# redefines one. They are declared here for the same reason plan.ttl declares the P-Plan terms it
|
|
6
|
+
# uses: the build's ontology-bindings gate (`check:ontology-bindings`) and the SHACL shapes need every
|
|
7
|
+
# IRI a record binds to to be DECLARED somewhere in tbox/, or they cannot tell an imported standard
|
|
8
|
+
# term from a typo. A run's provenance record (`run.provenance:<runRef>`) binds its fields to these
|
|
9
|
+
# by IRI (`src/vault-records.ts`), and the run-provenance JSON-LD context maps its terms onto them.
|
|
10
|
+
#
|
|
11
|
+
# The list is exactly what the provenance projector emits (packages/provenance): the PROV core
|
|
12
|
+
# classes, the qualified association, and the direct relations. Nothing is declared that nothing
|
|
13
|
+
# emits — a term added here should be a term a record carries.
|
|
14
|
+
#
|
|
15
|
+
# Domains and ranges are omitted: PROV-O's own axioms govern, and restating them here would let the
|
|
16
|
+
# two drift.
|
|
17
|
+
|
|
18
|
+
@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
19
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
20
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
21
|
+
|
|
22
|
+
<https://agenticprimitives.dev/ns/prov-imports> a owl:Ontology ;
|
|
23
|
+
rdfs:label "Agentic Primitives — PROV-O terms in use" ;
|
|
24
|
+
owl:versionInfo "0.1.0" ;
|
|
25
|
+
rdfs:comment "Declarations of the W3C PROV-O terms the substrate's provenance records carry, so bindings and shapes can target them. Spec 389; spec 316 §6." .
|
|
26
|
+
|
|
27
|
+
# ═══ Core classes ═══
|
|
28
|
+
|
|
29
|
+
prov:Entity a owl:Class ; rdfs:label "Entity (PROV-O)" .
|
|
30
|
+
prov:Activity a owl:Class ; rdfs:label "Activity (PROV-O)" .
|
|
31
|
+
prov:Agent a owl:Class ; rdfs:label "Agent (PROV-O)" .
|
|
32
|
+
prov:SoftwareAgent a owl:Class ; rdfs:subClassOf prov:Agent ; rdfs:label "SoftwareAgent (PROV-O)" .
|
|
33
|
+
prov:Person a owl:Class ; rdfs:subClassOf prov:Agent ; rdfs:label "Person (PROV-O)" .
|
|
34
|
+
prov:Organization a owl:Class ; rdfs:subClassOf prov:Agent ; rdfs:label "Organization (PROV-O)" .
|
|
35
|
+
prov:Bundle a owl:Class ; rdfs:subClassOf prov:Entity ; rdfs:label "Bundle (PROV-O)" ;
|
|
36
|
+
rdfs:comment "A named set of provenance descriptions. One harness run = one bundle (an ep-plan:ExecutionTraceBundle, plan.ttl); a routed run's bundle prov:wasInformedBy the sender's." .
|
|
37
|
+
prov:Plan a owl:Class ; rdfs:subClassOf prov:Entity ; rdfs:label "Plan (PROV-O)" .
|
|
38
|
+
prov:Role a owl:Class ; rdfs:label "Role (PROV-O)" .
|
|
39
|
+
prov:Association a owl:Class ; rdfs:label "Association (PROV-O)" ;
|
|
40
|
+
rdfs:comment "The qualified form of wasAssociatedWith: which agent, under which plan (prov:hadPlan), in which capacity (prov:hadRole). A run carries two — the runtime under the run's ExecutionPlan, the agent under its playbook." .
|
|
41
|
+
|
|
42
|
+
# ═══ Direct relations ═══
|
|
43
|
+
|
|
44
|
+
prov:startedAtTime a owl:DatatypeProperty ; rdfs:label "startedAtTime (PROV-O)" .
|
|
45
|
+
prov:endedAtTime a owl:DatatypeProperty ; rdfs:label "endedAtTime (PROV-O)" .
|
|
46
|
+
prov:wasAssociatedWith a owl:ObjectProperty ; rdfs:label "wasAssociatedWith (PROV-O)" .
|
|
47
|
+
prov:actedOnBehalfOf a owl:ObjectProperty ; rdfs:label "actedOnBehalfOf (PROV-O)" ;
|
|
48
|
+
rdfs:comment "PRIVATE DETAIL in this substrate: the S1 firewall (provenance/firewall.ts) rejects it from any public row (ADR-0040)." .
|
|
49
|
+
prov:wasAttributedTo a owl:ObjectProperty ; rdfs:label "wasAttributedTo (PROV-O)" .
|
|
50
|
+
prov:used a owl:ObjectProperty ; rdfs:label "used (PROV-O)" ;
|
|
51
|
+
rdfs:comment "What an activity consumed. For a harness step: every delegation in its verified chain, BY REFERENCE (apvr:usedDelegation ⊑ prov:used names the one it presented)." .
|
|
52
|
+
prov:generated a owl:ObjectProperty ; rdfs:label "generated (PROV-O)" .
|
|
53
|
+
prov:wasGeneratedBy a owl:ObjectProperty ; rdfs:label "wasGeneratedBy (PROV-O)" .
|
|
54
|
+
prov:wasInformedBy a owl:ObjectProperty ; rdfs:label "wasInformedBy (PROV-O)" ;
|
|
55
|
+
rdfs:comment "Activity-to-activity communication. A routed run's root activity wasInformedBy the sender's; a hand-off step wasInformedBy the child run. NOT containment — apexec:hasStep is (execution.ttl)." .
|
|
56
|
+
prov:wasDerivedFrom a owl:ObjectProperty ; rdfs:label "wasDerivedFrom (PROV-O)" .
|
|
57
|
+
prov:wasRevisionOf a owl:ObjectProperty ; rdfs:subPropertyOf prov:wasDerivedFrom ; rdfs:label "wasRevisionOf (PROV-O)" .
|
|
58
|
+
|
|
59
|
+
# ═══ The qualified association ═══
|
|
60
|
+
|
|
61
|
+
prov:qualifiedAssociation a owl:ObjectProperty ; rdfs:label "qualifiedAssociation (PROV-O)" .
|
|
62
|
+
prov:agent a owl:ObjectProperty ; rdfs:label "agent (PROV-O)" .
|
|
63
|
+
prov:hadPlan a owl:ObjectProperty ; rdfs:label "hadPlan (PROV-O)" ;
|
|
64
|
+
rdfs:comment "The plan an association followed. A plan is never authority (plan.ttl): a run's hadPlan says which playbook version shaped it, and no gate reads it." .
|
|
65
|
+
prov:hadRole a owl:ObjectProperty ; rdfs:label "hadRole (PROV-O)" .
|
package/tbox/registry.ttl
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
# Grounded in PROV-O and DOLCE+DnS/DUL; informed by Agent Explorer's
|
|
3
3
|
# erc8004.ttl, discovery.ttl, descriptors.ttl, trust.ttl, hol.ttl, and oasf.ttl
|
|
4
4
|
# modules, but expressed as AP-native Ring 0 vocabulary.
|
|
5
|
+
# spec 346 §7/§11 added the registry INSTANCE + its operating ap:RegistryAgent, the admission
|
|
6
|
+
# RegistrationReceipt, the hash-chained lifecycle log + LogCheckpoint, and the derived entryStatus.
|
|
5
7
|
|
|
6
8
|
@prefix ap: <https://agenticprimitives.dev/ns/core#> .
|
|
7
9
|
@prefix approf: <https://agenticprimitives.dev/ns/profile#> .
|
|
@@ -18,7 +20,7 @@
|
|
|
18
20
|
|
|
19
21
|
apreg: a owl:Ontology ;
|
|
20
22
|
rdfs:label "Agentic Primitives — registry kit ontology" ;
|
|
21
|
-
owl:versionInfo "0.
|
|
23
|
+
owl:versionInfo "0.2.0" ;
|
|
22
24
|
rdfs:seeAlso <https://github.com/agentictrustlabs/agent-explorer/tree/main/apps/ontology/ontology> ;
|
|
23
25
|
rdfs:comment "AP-native registry-building vocabulary. External registries are projection surfaces; this vocabulary defines Smart-Agent-anchored entries, binding proofs, claim slots, and lifecycle evidence." .
|
|
24
26
|
|
|
@@ -47,7 +49,7 @@ apreg:RegistryClaimSlot a owl:Class ;
|
|
|
47
49
|
apreg:RegistryLifecycleEvent a owl:Class ;
|
|
48
50
|
rdfs:subClassOf prov:Activity ;
|
|
49
51
|
rdfs:label "RegistryLifecycleEvent" ;
|
|
50
|
-
rdfs:comment "
|
|
52
|
+
rdfs:comment "One event in a registry's APPEND-ONLY, hash-chained lifecycle log (spec 346 §7.3 RegistryLifecycleEventV1): eventKind from apreg:lifecycleEventScheme, eventSequence strictly increasing per registry, eventDigest, previousEventDigest for every event after the first. The on-chain AgentRegistryBase events (register, renew, suspend, revoke, expire, claim-update) remain the PUBLIC lifecycle facts and are projected into the KB; the log adds the off-chain evidence chain (receipts, revalidations, private issuances by digest only) plus a LogCheckpoint anchor. The log's home is the operator's vault or DO (a rebuild, not a bereavement — ADR-0055), never the public KB." .
|
|
51
53
|
|
|
52
54
|
apreg:RegistryMembershipPolicy a owl:Class ;
|
|
53
55
|
rdfs:subClassOf dul:Description ;
|
|
@@ -77,10 +79,9 @@ apreg:entryId a owl:DatatypeProperty ;
|
|
|
77
79
|
rdfs:label "entryId" .
|
|
78
80
|
|
|
79
81
|
apreg:subjectAgent a owl:ObjectProperty ;
|
|
80
|
-
rdfs:domain apreg:RegistryEntry ;
|
|
81
82
|
rdfs:range ap:Agent ;
|
|
82
83
|
rdfs:label "subjectAgent" ;
|
|
83
|
-
rdfs:comment "The canonical Smart Agent
|
|
84
|
+
rdfs:comment "The canonical Smart Agent a registry record points at. Used by RegistryEntry, RegistrationReceipt and RegistryLifecycleEvent alike (spec 346 §7), so the domain is left open — the per-class shapes pin cardinality." .
|
|
84
85
|
|
|
85
86
|
apreg:hasBindingProof a owl:ObjectProperty ;
|
|
86
87
|
rdfs:domain apreg:RegistryEntry ;
|
|
@@ -225,3 +226,157 @@ apreg:expired a apreg:RegistryLifecycleStatus ;
|
|
|
225
226
|
|
|
226
227
|
apreg:pending a apreg:RegistryLifecycleStatus ;
|
|
227
228
|
skos:prefLabel "pending" .
|
|
229
|
+
|
|
230
|
+
# ═══ spec 346 §7 / §11 — registry instance, operator, receipts, lifecycle log ═══
|
|
231
|
+
|
|
232
|
+
# ─── The registry instance and its operator ────────────────────────────
|
|
233
|
+
|
|
234
|
+
apreg:Registry a owl:Class ;
|
|
235
|
+
rdfs:subClassOf prov:Entity ;
|
|
236
|
+
rdfs:label "Registry" ;
|
|
237
|
+
rdfs:comment "A kit-built registry INSTANCE (spec 279; ADR-0038): an SA-anchored registry contract plus the RegistryKitProfile that describes it. An Entity, never an agent — operated by exactly one ap:RegistryAgent (apreg:operatedBy) whose '.registry' name is the registry's agentive face, exactly as a WorkspaceAgent is a Workspace's (ADR-0061 §4). Vertical registries are external consumers of the kit; this class is what they are built FROM." .
|
|
238
|
+
|
|
239
|
+
apreg:describedByProfile a owl:ObjectProperty ;
|
|
240
|
+
rdfs:domain apreg:Registry ;
|
|
241
|
+
rdfs:range apreg:RegistryKitProfile ;
|
|
242
|
+
rdfs:label "describedByProfile" .
|
|
243
|
+
|
|
244
|
+
apreg:operatesRegistry a owl:ObjectProperty ;
|
|
245
|
+
rdfs:domain ap:RegistryAgent ;
|
|
246
|
+
rdfs:range apreg:Registry ;
|
|
247
|
+
owl:inverseOf apreg:operatedBy ;
|
|
248
|
+
rdfs:label "operatesRegistry" ;
|
|
249
|
+
rdfs:comment "Exactly one (ap:RegistryAgentShape). The operator SA admits entries, signs receipts, appends the lifecycle log and serves the discovery surface — under its OWN custody policy. Operating a registry grants it nothing over the subjects it lists; an entry is evidence, never authority." .
|
|
250
|
+
|
|
251
|
+
apreg:operatedBy a owl:ObjectProperty ;
|
|
252
|
+
rdfs:domain apreg:Registry ;
|
|
253
|
+
rdfs:range ap:RegistryAgent ;
|
|
254
|
+
owl:inverseOf apreg:operatesRegistry ;
|
|
255
|
+
rdfs:label "operatedBy" .
|
|
256
|
+
|
|
257
|
+
apreg:inRegistry a owl:ObjectProperty ;
|
|
258
|
+
rdfs:range apreg:Registry ;
|
|
259
|
+
rdfs:label "inRegistry" ;
|
|
260
|
+
rdfs:comment "The registry a RegistryEntry, RegistrationReceipt, RegistryLifecycleEvent or LogCheckpoint belongs to — apreg:registryId as a node rather than a string." .
|
|
261
|
+
|
|
262
|
+
# ─── Registration receipt (§7.2) ───────────────────────────────────────
|
|
263
|
+
|
|
264
|
+
apreg:RegistrationReceipt a owl:Class ;
|
|
265
|
+
rdfs:subClassOf prov:Entity , ap:Evidence ;
|
|
266
|
+
rdfs:label "RegistrationReceipt" ;
|
|
267
|
+
rdfs:comment "RegistrationReceiptV1: what the registry operator VERIFIED, what FAILED, and what was NOT VERIFIED (not-attempted / unavailable / policy-skipped — a first-class outcome, never silently equal to verified) when admitting an entry, each line against an artifact digest. Signed by the operator SA (receiptSigner). EVIDENCE, never authority (ADR-0020): the object an external registry (ARD, 8004) can cite and a consumer shows as 'verified on <date> by <registry>'. Every AdmissionCheck appears in exactly one of the three lists (apreg:RegistrationReceiptShape)." .
|
|
268
|
+
|
|
269
|
+
apreg:verifiedCheck a owl:ObjectProperty ;
|
|
270
|
+
rdfs:domain apreg:RegistrationReceipt ;
|
|
271
|
+
rdfs:range skos:Concept ;
|
|
272
|
+
rdfs:label "verifiedCheck" ;
|
|
273
|
+
rdfs:comment "An apreg:admissionCheckScheme concept that PASSED, against an artifact digest." .
|
|
274
|
+
|
|
275
|
+
apreg:failedCheck a owl:ObjectProperty ;
|
|
276
|
+
rdfs:domain apreg:RegistrationReceipt ;
|
|
277
|
+
rdfs:range skos:Concept ;
|
|
278
|
+
rdfs:label "failedCheck" ;
|
|
279
|
+
rdfs:comment "An apreg:admissionCheckScheme concept that FAILED, with a reason." .
|
|
280
|
+
|
|
281
|
+
apreg:notVerifiedCheck a owl:ObjectProperty ;
|
|
282
|
+
rdfs:domain apreg:RegistrationReceipt ;
|
|
283
|
+
rdfs:range skos:Concept ;
|
|
284
|
+
rdfs:label "notVerifiedCheck" ;
|
|
285
|
+
rdfs:comment "An apreg:admissionCheckScheme concept that was NOT ATTEMPTED, unavailable, or policy-skipped. Recorded, never elided: 'not verified' must stay distinguishable from 'verified'." .
|
|
286
|
+
|
|
287
|
+
apreg:receiptFor a owl:ObjectProperty ;
|
|
288
|
+
rdfs:domain apreg:RegistrationReceipt ;
|
|
289
|
+
rdfs:range apreg:RegistryEntry ;
|
|
290
|
+
rdfs:label "receiptFor" .
|
|
291
|
+
|
|
292
|
+
apreg:subjectType a owl:ObjectProperty ;
|
|
293
|
+
rdfs:domain apreg:RegistrationReceipt ;
|
|
294
|
+
rdfs:range skos:Concept ;
|
|
295
|
+
rdfs:label "subjectType" ;
|
|
296
|
+
rdfs:comment "ap:agentTypeScheme — the DERIVED type the admission checked the subject's on-chain record and suffix against (spec 346 §2.3 invariant)." .
|
|
297
|
+
|
|
298
|
+
apreg:admittedAt a owl:DatatypeProperty ;
|
|
299
|
+
rdfs:domain apreg:RegistrationReceipt ;
|
|
300
|
+
rdfs:range xsd:dateTime ;
|
|
301
|
+
rdfs:label "admittedAt" .
|
|
302
|
+
|
|
303
|
+
apreg:receiptSigner a owl:ObjectProperty ;
|
|
304
|
+
rdfs:domain apreg:RegistrationReceipt ;
|
|
305
|
+
rdfs:range ap:RegistryAgent ;
|
|
306
|
+
rdfs:label "receiptSigner" ;
|
|
307
|
+
rdfs:comment "The registry operator SA that signed the receipt (ERC-1271 or a delegated session key)." .
|
|
308
|
+
|
|
309
|
+
apreg:receiptSignature a owl:DatatypeProperty ;
|
|
310
|
+
rdfs:domain apreg:RegistrationReceipt ;
|
|
311
|
+
rdfs:range xsd:string ;
|
|
312
|
+
rdfs:label "receiptSignature" .
|
|
313
|
+
|
|
314
|
+
# ─── Lifecycle log (§7.3) ──────────────────────────────────────────────
|
|
315
|
+
|
|
316
|
+
apreg:eventKind a owl:ObjectProperty ;
|
|
317
|
+
rdfs:domain apreg:RegistryLifecycleEvent ;
|
|
318
|
+
rdfs:range skos:Concept ;
|
|
319
|
+
rdfs:label "eventKind" ;
|
|
320
|
+
rdfs:comment "apreg:lifecycleEventScheme (cbox/registry-vocabulary.ttl) — the §7.3 RegistryLifecycleEventKind union." .
|
|
321
|
+
|
|
322
|
+
apreg:eventSequence a owl:DatatypeProperty ;
|
|
323
|
+
rdfs:domain apreg:RegistryLifecycleEvent ;
|
|
324
|
+
rdfs:range xsd:nonNegativeInteger ;
|
|
325
|
+
rdfs:label "eventSequence" ;
|
|
326
|
+
rdfs:comment "Position in the registry's append-only log. Strictly increasing per registry; the first event is 0." .
|
|
327
|
+
|
|
328
|
+
apreg:previousEventDigest a owl:DatatypeProperty ;
|
|
329
|
+
rdfs:domain apreg:RegistryLifecycleEvent ;
|
|
330
|
+
rdfs:range xsd:string ;
|
|
331
|
+
rdfs:label "previousEventDigest" ;
|
|
332
|
+
rdfs:comment "Digest of the preceding event — the hash chain (the smart-agent audit pattern). REQUIRED for every eventSequence > 0." .
|
|
333
|
+
|
|
334
|
+
apreg:eventDigest a owl:DatatypeProperty ;
|
|
335
|
+
rdfs:domain apreg:RegistryLifecycleEvent ;
|
|
336
|
+
rdfs:range xsd:string ;
|
|
337
|
+
rdfs:label "eventDigest" .
|
|
338
|
+
|
|
339
|
+
apreg:occurredAt a owl:DatatypeProperty ;
|
|
340
|
+
rdfs:domain apreg:RegistryLifecycleEvent ;
|
|
341
|
+
rdfs:range xsd:dateTime ;
|
|
342
|
+
rdfs:label "occurredAt" .
|
|
343
|
+
|
|
344
|
+
apreg:citesReceipt a owl:ObjectProperty ;
|
|
345
|
+
rdfs:domain apreg:RegistryLifecycleEvent ;
|
|
346
|
+
rdfs:range apreg:RegistrationReceipt ;
|
|
347
|
+
rdfs:label "citesReceipt" ;
|
|
348
|
+
rdfs:comment "The receipt an ENTRY_REGISTERED / ENTRY_RENEWED / REVALIDATION_* event refers to." .
|
|
349
|
+
|
|
350
|
+
apreg:LogCheckpoint a owl:Class ;
|
|
351
|
+
rdfs:subClassOf prov:Entity ;
|
|
352
|
+
rdfs:label "LogCheckpoint" ;
|
|
353
|
+
rdfs:comment "A Merkle root over a contiguous range [checkpointFrom, checkpointTo] of lifecycle events, anchored externally (anchorRef: a topic sequence, a tx, … — HCS-27-compatible, ledger-agnostic). Proves the log was not rewritten; proves nothing about the truth of any event." .
|
|
354
|
+
|
|
355
|
+
apreg:merkleRoot a owl:DatatypeProperty ;
|
|
356
|
+
rdfs:domain apreg:LogCheckpoint ;
|
|
357
|
+
rdfs:range xsd:string ;
|
|
358
|
+
rdfs:label "merkleRoot" .
|
|
359
|
+
|
|
360
|
+
apreg:checkpointFrom a owl:DatatypeProperty ;
|
|
361
|
+
rdfs:domain apreg:LogCheckpoint ;
|
|
362
|
+
rdfs:range xsd:nonNegativeInteger ;
|
|
363
|
+
rdfs:label "checkpointFrom" .
|
|
364
|
+
|
|
365
|
+
apreg:checkpointTo a owl:DatatypeProperty ;
|
|
366
|
+
rdfs:domain apreg:LogCheckpoint ;
|
|
367
|
+
rdfs:range xsd:nonNegativeInteger ;
|
|
368
|
+
rdfs:label "checkpointTo" .
|
|
369
|
+
|
|
370
|
+
apreg:anchorRef a owl:DatatypeProperty ;
|
|
371
|
+
rdfs:domain apreg:LogCheckpoint ;
|
|
372
|
+
rdfs:range xsd:string ;
|
|
373
|
+
rdfs:label "anchorRef" ;
|
|
374
|
+
rdfs:comment "The external anchor reference the CheckpointHook returned." .
|
|
375
|
+
|
|
376
|
+
# ─── Continuous revalidation status (§7.4) ─────────────────────────────
|
|
377
|
+
|
|
378
|
+
apreg:entryStatus a owl:ObjectProperty ;
|
|
379
|
+
rdfs:domain apreg:RegistryEntry ;
|
|
380
|
+
rdfs:range skos:Concept ;
|
|
381
|
+
rdfs:label "entryStatus" ;
|
|
382
|
+
rdfs:comment "apreg:entryStatusScheme — verified | stale | failing | suspended | revoked | expired. DERIVED by a pure fold over the lifecycle events (deriveEntryStatus) under a revalidation policy — never a mutable flag written by hand. Distinct from apreg:lifecycleStatus, the on-chain active/suspended/revoked/expired/pending fact." .
|