@agenticprimitives/ontology 1.0.0-alpha.4 → 1.0.0-alpha.41
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
package/tbox/identity.ttl
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
@prefix aporg: <https://agenticprimitives.dev/ns/org#> .
|
|
8
8
|
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
9
9
|
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
10
|
+
@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
10
11
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
11
12
|
|
|
12
13
|
apcr:CredentialFacet a owl:Class ;
|
|
@@ -14,6 +15,11 @@ apcr:CredentialFacet a owl:Class ;
|
|
|
14
15
|
rdfs:label "CredentialFacet" ;
|
|
15
16
|
rdfs:comment "A control credential (passkey / SIWE-EOA / hardware / OIDC) that CONTROLS an Agent under its custody policy. Rotates without changing the Agent (ADR-0011). NEVER an owner." .
|
|
16
17
|
|
|
18
|
+
apcr:ChannelFacet a owl:Class ;
|
|
19
|
+
rdfs:subClassOf ap:Facet ;
|
|
20
|
+
rdfs:label "ChannelFacet" ;
|
|
21
|
+
rdfs:comment "An email address or phone number linked to an Agent's home (spec 319/320, spec 422 §3.3). It OPENS the home (login-grade, ADR-0017) and is where the home TELLS the person something — a credential change, a recovery request — so she can cancel. It is NOT a CredentialFacet: it signs nothing, it is never a quorum slot, a step-up or a recovery signer. A phone-bootstrapped home's custody credential is its server-held C_sub (spec 235), not the phone." .
|
|
22
|
+
|
|
17
23
|
apnam:NameFacet a owl:Class ;
|
|
18
24
|
rdfs:subClassOf ap:Facet ;
|
|
19
25
|
rdfs:label "NameFacet" ;
|
|
@@ -24,11 +30,6 @@ apid:OidcSubject a owl:Class ;
|
|
|
24
30
|
rdfs:label "OidcSubject" ;
|
|
25
31
|
rdfs:comment "An OIDC issuer+subject claim recorded as a login facet, not custody (ADR-0017). Keyed on (iss, sub), never email." .
|
|
26
32
|
|
|
27
|
-
aporg:Org a owl:Class ;
|
|
28
|
-
rdfs:subClassOf ap:Agent ;
|
|
29
|
-
rdfs:label "Org" ;
|
|
30
|
-
rdfs:comment "An organization Agent with members (membership is informational; authority lives in custody/relationships)." .
|
|
31
|
-
|
|
32
33
|
# ─── Properties ───────────────────────────────────────────────────────
|
|
33
34
|
|
|
34
35
|
apcr:controls a owl:ObjectProperty ;
|
|
@@ -48,7 +49,133 @@ apnam:resolvesTo a owl:ObjectProperty ;
|
|
|
48
49
|
rdfs:domain apnam:NameFacet ;
|
|
49
50
|
rdfs:range ap:Agent .
|
|
50
51
|
|
|
52
|
+
apnam:description a owl:DatatypeProperty ;
|
|
53
|
+
rdfs:label "description (name record)" ;
|
|
54
|
+
rdfs:domain apnam:NameFacet ;
|
|
55
|
+
rdfs:range xsd:string ;
|
|
56
|
+
rdfs:comment "atl:description read NODE-KEYED off AgentNameAttributeResolver — the description attached to the NAME RECORD, written by the name's owner. facet-registries G8: it shares the on-chain predicate key keccak256(\"atl:description\") with the SA-keyed profile description, but it is NOT the same fact and must NOT be emitted as approf:description, which tbox/profile.ttl reserves for the agent's own self-description. The two differ in author (name owner vs the agent itself), in subject (name node vs Smart Agent), and in survival: this one TRANSFERS WITH THE NAME and disappears if the name lapses, while approf:description survives a rename and exists for nameless agents (ADR-0010/0020). Projecting both under one IRI let the node-keyed loop clobber the SA-keyed one by loop order. Descriptive, low-authority, free text — never a filter target and never evidence." .
|
|
57
|
+
|
|
51
58
|
aporg:memberOf a owl:ObjectProperty ;
|
|
52
59
|
rdfs:label "memberOf" ;
|
|
53
60
|
rdfs:domain ap:Agent ;
|
|
54
|
-
rdfs:range
|
|
61
|
+
rdfs:range ap:OrganizationAgent ;
|
|
62
|
+
rdfs:comment "An Agent is a member of an Organization Agent. Membership is informational; authority lives in custody/relationships." .
|
|
63
|
+
|
|
64
|
+
# ─── At the company's door (spec 442 §11) ─────────────────────────────────────────────────────────
|
|
65
|
+
# Four terms for what a person's agent IS at an external door (OAuth, HTTP-signature, checkout) and what it
|
|
66
|
+
# holds afterwards. None of them is authority: a key binding says which key may PRESENT, a pairwise subject
|
|
67
|
+
# says what a company CALLS the person, an external operation is an INTENT until a mandate binds its digest,
|
|
68
|
+
# an account link is a CREDENTIAL the vault keeps. Protocol vocabulary (poppy.json, DPoP, Idempotency-Key)
|
|
69
|
+
# stays out of this T-box (ADR-0021, ADR-0037); the projections that speak it live in ap-federation (spec 443).
|
|
70
|
+
|
|
71
|
+
ap:ClientKeyBinding a owl:Class ;
|
|
72
|
+
rdfs:subClassOf prov:Entity ;
|
|
73
|
+
rdfs:label "ClientKeyBinding" ;
|
|
74
|
+
rdfs:comment "A Smart Agent's signed statement that one public key (a JWK, by RFC 7638 thumbprint) may present FOR it at external doors — under one custody epoch, between notBefore and notAfter, published under one clientId (spec 442 §3; TS ClientKeyBindingV1; on-chain record atl:clientKeys). The key is a KMS delegate under the estate's tenant, never the agent's own key. It is NOT a delegation and grants NO authority to act: signatures under it are the agent's PRESENTATIONS, and what the agent may do at the door is still a mandate verified per step (spec 350 §3.6). A custody-epoch bump kills every binding under the old epoch (spec 410 §1)." .
|
|
75
|
+
|
|
76
|
+
ap:PairwiseSubject a owl:Class ;
|
|
77
|
+
rdfs:subClassOf prov:Entity ;
|
|
78
|
+
rdfs:label "PairwiseSubject" ;
|
|
79
|
+
rdfs:comment "The opaque identifier a person is known by at ONE company (an OAuth issuer): HKDF over a 32-byte secret in the person's vault, salted by the issuer, so it is stable there, different everywhere else, and non-reversible to the Smart Agent, to any name or to any other company's subject without the secret (spec 442 §4; derivePairwiseSubject). It is NOT an alias of the SA, NOT a name and NOT linkable across issuers — the vocabulary carries no property from it to the person, on purpose (the same rule as appc:PairwiseAccount). Rotating the secret produces a new subject everywhere, which is the point of having one." .
|
|
80
|
+
|
|
81
|
+
ap:ExternalOperation a owl:Class ;
|
|
82
|
+
rdfs:subClassOf prov:Entity ;
|
|
83
|
+
rdfs:label "ExternalOperation" ;
|
|
84
|
+
rdfs:comment "A set of terms a company proposed and will perform at most once when approved — PAP's operation, ACP's checkout session, UCP's checkout, seen from our side: an INTENT whose digest (keccak256 over authority · operationId · revision · termsDigest · expiresAt) a mandate binds (spec 442 §5; TS ExternalOperationRefV1). A new revision is a new operation; one operationId‖revision is one intent nonce on chain, so a second confirm is refused as reuse. It is NOT an approval and NOT an act of ours until a mandate binds it: the company's approved_by is its claim, recorded as such; the mandate signature is the only producer of user approval and a covering standing wire (spec 397 §11) the only producer of standing permission." .
|
|
85
|
+
|
|
86
|
+
ap:ExternalAccountLink a owl:Class ;
|
|
87
|
+
rdfs:subClassOf prov:Entity ;
|
|
88
|
+
rdfs:label "ExternalAccountLink" ;
|
|
89
|
+
rdfs:comment "The person's account relationship at ONE company and the credentials it left behind — the Account Token sealed under the vault key, the session-key reference, the scopes granted, the field classes the person consented to, when it was granted, when it expires, when it was last used (spec 442 §8; vault record identity.external-account-link:<issuerDigest>, findable by issuer and never by subject). A credential the vault keeps: listed in the Security section as 'an account at a company', revoked at the company's revocation endpoint and retired here — a removal is a revocation, never a quiet delete (spec 422). It is NOT the person's identity, NOT a Worker secret, NOT a membership; an expired token means signed out until the person signs in again, never a retry with another credential (ADR-0013)." .
|
|
90
|
+
|
|
91
|
+
ap:clientId a owl:DatatypeProperty ;
|
|
92
|
+
rdfs:label "clientId" ;
|
|
93
|
+
rdfs:domain ap:ClientKeyBinding ;
|
|
94
|
+
rdfs:range xsd:anyURI ;
|
|
95
|
+
rdfs:comment "The HTTPS URL the key is published under — the estate's personal-agent SERVICE, never the person (spec 442 §7: the person is never the client_id)." .
|
|
96
|
+
|
|
97
|
+
ap:jwkThumbprint a owl:DatatypeProperty ;
|
|
98
|
+
rdfs:label "jwkThumbprint" ;
|
|
99
|
+
rdfs:domain ap:ClientKeyBinding ;
|
|
100
|
+
rdfs:range xsd:string ;
|
|
101
|
+
rdfs:comment "RFC 7638 thumbprint of the bound public JWK. Names the key; is not the key." .
|
|
102
|
+
|
|
103
|
+
ap:jwsAlgorithm a owl:DatatypeProperty ;
|
|
104
|
+
rdfs:label "jwsAlgorithm" ;
|
|
105
|
+
rdfs:domain ap:ClientKeyBinding ;
|
|
106
|
+
rdfs:range xsd:string ;
|
|
107
|
+
rdfs:comment "What the field verifies: ES256 or EdDSA. ES256K is refused as not verifiable at the doors this binding is for." .
|
|
108
|
+
|
|
109
|
+
ap:boundUnderCustodyEpoch a owl:DatatypeProperty ;
|
|
110
|
+
rdfs:label "boundUnderCustodyEpoch" ;
|
|
111
|
+
rdfs:domain ap:ClientKeyBinding ;
|
|
112
|
+
rdfs:range xsd:integer ;
|
|
113
|
+
rdfs:comment "The Smart Agent's custody epoch at signing. A binding under a stale epoch is dead (spec 410 §1: rotation re-approves, recovery does not)." .
|
|
114
|
+
|
|
115
|
+
ap:bindingNotBefore a owl:DatatypeProperty ;
|
|
116
|
+
rdfs:label "bindingNotBefore" ;
|
|
117
|
+
rdfs:domain ap:ClientKeyBinding ;
|
|
118
|
+
rdfs:range xsd:dateTime .
|
|
119
|
+
|
|
120
|
+
ap:bindingNotAfter a owl:DatatypeProperty ;
|
|
121
|
+
rdfs:label "bindingNotAfter" ;
|
|
122
|
+
rdfs:domain ap:ClientKeyBinding ;
|
|
123
|
+
rdfs:range xsd:dateTime ;
|
|
124
|
+
rdfs:comment "Short by default (≤ 90 days); published on the atl:clientKeys record beside the thumbprint." .
|
|
125
|
+
|
|
126
|
+
ap:pairwiseIssuer a owl:DatatypeProperty ;
|
|
127
|
+
rdfs:label "pairwiseIssuer" ;
|
|
128
|
+
rdfs:range xsd:anyURI ;
|
|
129
|
+
rdfs:comment "The company's issuer URL a pairwise subject or an account link is scoped to. Domain left open on purpose: PairwiseSubject and ExternalAccountLink both carry it; nothing else does." .
|
|
130
|
+
|
|
131
|
+
ap:pairwiseSubjectDigest a owl:DatatypeProperty ;
|
|
132
|
+
rdfs:label "pairwiseSubjectDigest" ;
|
|
133
|
+
rdfs:domain ap:ExternalAccountLink ;
|
|
134
|
+
rdfs:range xsd:string ;
|
|
135
|
+
rdfs:comment "HMAC of the pairwise subject under the vault key — so the record is findable by issuer and never by subject, and the subject never appears in a record key." .
|
|
136
|
+
|
|
137
|
+
ap:operationAuthority a owl:DatatypeProperty ;
|
|
138
|
+
rdfs:label "operationAuthority" ;
|
|
139
|
+
rdfs:domain ap:ExternalOperation ;
|
|
140
|
+
rdfs:range xsd:string ;
|
|
141
|
+
rdfs:comment "Who proposed the operation: the company agent's CAIP-10 when it has one, else its https: origin. Names the counterparty; authorizes nothing." .
|
|
142
|
+
|
|
143
|
+
ap:operationId a owl:DatatypeProperty ;
|
|
144
|
+
rdfs:label "operationId" ;
|
|
145
|
+
rdfs:domain ap:ExternalOperation ;
|
|
146
|
+
rdfs:range xsd:string ;
|
|
147
|
+
rdfs:comment "The company's id for the operation or session." .
|
|
148
|
+
|
|
149
|
+
ap:operationRevision a owl:DatatypeProperty ;
|
|
150
|
+
rdfs:label "operationRevision" ;
|
|
151
|
+
rdfs:domain ap:ExternalOperation ;
|
|
152
|
+
rdfs:range xsd:integer ;
|
|
153
|
+
rdfs:comment "A new revision is a new operation: the parked act is replaced, never silently re-approved (spec 350)." .
|
|
154
|
+
|
|
155
|
+
ap:termsDigest a owl:DatatypeProperty ;
|
|
156
|
+
rdfs:label "termsDigest" ;
|
|
157
|
+
rdfs:domain ap:ExternalOperation ;
|
|
158
|
+
rdfs:range xsd:string ;
|
|
159
|
+
rdfs:comment "keccak256 over the RFC 8785 canonical JSON of the terms the company sent. A changed digest under the old mandate is refused." .
|
|
160
|
+
|
|
161
|
+
ap:accountGrantedAt a owl:DatatypeProperty ;
|
|
162
|
+
rdfs:label "accountGrantedAt" ;
|
|
163
|
+
rdfs:domain ap:ExternalAccountLink ;
|
|
164
|
+
rdfs:range xsd:dateTime .
|
|
165
|
+
|
|
166
|
+
ap:accountExpiresAt a owl:DatatypeProperty ;
|
|
167
|
+
rdfs:label "accountExpiresAt" ;
|
|
168
|
+
rdfs:domain ap:ExternalAccountLink ;
|
|
169
|
+
rdfs:range xsd:dateTime ;
|
|
170
|
+
rdfs:comment "When the Account Token lapses. After it: signed out, one mechanism (ADR-0013)." .
|
|
171
|
+
|
|
172
|
+
ap:accountLastUsedAt a owl:DatatypeProperty ;
|
|
173
|
+
rdfs:label "accountLastUsedAt" ;
|
|
174
|
+
rdfs:domain ap:ExternalAccountLink ;
|
|
175
|
+
rdfs:range xsd:dateTime .
|
|
176
|
+
|
|
177
|
+
ap:grantedScope a owl:DatatypeProperty ;
|
|
178
|
+
rdfs:label "grantedScope" ;
|
|
179
|
+
rdfs:domain ap:ExternalAccountLink ;
|
|
180
|
+
rdfs:range xsd:string ;
|
|
181
|
+
rdfs:comment "One scope the company granted, as the company spells it. Honesty about what the token can reach there (spec 353); never an input to any verifier here (ADR-0041)." .
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# T-box — inference: the model gateway's records (spec 434) and the estate heartbeat (spec 434 §10 / 436 §5).
|
|
2
|
+
#
|
|
3
|
+
# What this says: a town's model gateway serves PROFILES over a CATALOG of models to PRINCIPALS it has entitled, and
|
|
4
|
+
# every call leaves a RECEIPT. A profile is a policy unit (ordered candidates, a privacy level, the failure classes it
|
|
5
|
+
# may fall back on); a catalog entry is one model with one switch; an entitlement is the gateway's own policy over its
|
|
6
|
+
# own resource; a receipt says which profile version, provider, model and attempt answered and what it cost.
|
|
7
|
+
#
|
|
8
|
+
# What this is NOT: authority. An entitlement is not a delegation (spec 434 G8 / 429 D2): it answers "may this principal
|
|
9
|
+
# spend this service's model budget on this profile?" and nothing about what the principal may DO with the answer. A
|
|
10
|
+
# receipt is evidence that a call occurred, never that it was authorized (apix:Receipt's own rule). `assertedAgent` is
|
|
11
|
+
# what the caller SAID it acted for — evidence, never the principal, never read by anything that decides (G3). An
|
|
12
|
+
# estate heartbeat is an aggregate observation — counts, never a person.
|
|
13
|
+
|
|
14
|
+
@prefix apinf: <https://agenticprimitives.dev/ns/inference#> .
|
|
15
|
+
@prefix apix: <https://agenticprimitives.dev/ns/interaction#> .
|
|
16
|
+
@prefix apexec: <https://agenticprimitives.dev/ns/execution#> .
|
|
17
|
+
@prefix ap: <https://agenticprimitives.dev/ns/core#> .
|
|
18
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
19
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
20
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
21
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
22
|
+
@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
23
|
+
|
|
24
|
+
apinf: a owl:Ontology ;
|
|
25
|
+
rdfs:label "Agentic Primitives — inference (the model gateway's records)" ;
|
|
26
|
+
owl:versionInfo "0.2.0" ;
|
|
27
|
+
rdfs:seeAlso <https://github.com/agentictrustlabs/ap-town/blob/master/specs/434-ap-model-gateway-and-the-town-pulse.md> ;
|
|
28
|
+
rdfs:comment "Profiles, the model catalog, entitlements, inference receipts, policy changes and the estate heartbeat. Records of a town service; nothing here grants." .
|
|
29
|
+
|
|
30
|
+
# ─── Policy records ──────────────────────────────────────────────────────────────────────────────────────────────────
|
|
31
|
+
|
|
32
|
+
apinf:ModelProfile a owl:Class ;
|
|
33
|
+
rdfs:subClassOf prov:Entity ;
|
|
34
|
+
rdfs:label "ModelProfile" ;
|
|
35
|
+
rdfs:comment "The policy unit a capability names (plan, compose, judge …): an ORDERED list of candidate models, the capabilities they must have, an output ceiling, a privacy level, the failure classes a declared fallback may answer, a timeout. A caller names a profile, never a model. Versioned by the digest of its record; every receipt names the version it ran under." .
|
|
36
|
+
|
|
37
|
+
apinf:ModelCatalogEntry a owl:Class ;
|
|
38
|
+
rdfs:subClassOf prov:Entity ;
|
|
39
|
+
rdfs:label "ModelCatalogEntry" ;
|
|
40
|
+
rdfs:comment "One model at one provider, with ONE switch (apinf:enabled). Turning it off removes it from every profile's candidates at once; a profile left with none fails closed. Carries pricing, capabilities, context window and privacy." .
|
|
41
|
+
|
|
42
|
+
apinf:ClientEntitlement a owl:Class ;
|
|
43
|
+
rdfs:subClassOf prov:Entity ;
|
|
44
|
+
rdfs:label "ClientEntitlement" ;
|
|
45
|
+
rdfs:comment "The gateway's own policy over its own resource for one principal: which profiles, with which limits (tokens/day, µUSD/day, requests/minute, concurrency, attempts). NOT a delegation, NOT a mandate, holds no key for anyone (spec 434 G8; 429 D2)." .
|
|
46
|
+
|
|
47
|
+
apinf:PolicyChange a owl:Class ;
|
|
48
|
+
rdfs:subClassOf prov:Activity ;
|
|
49
|
+
rdfs:label "PolicyChange" ;
|
|
50
|
+
rdfs:comment "A steward changed a policy record (a profile, a catalog switch, an entitlement): who, which record, the digests before and after, why, when. Written beside the new version; the receipts after it cite the new version." .
|
|
51
|
+
|
|
52
|
+
# ─── The receipt ─────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
53
|
+
|
|
54
|
+
apinf:InferenceReceipt a owl:Class ;
|
|
55
|
+
rdfs:subClassOf apix:Receipt ;
|
|
56
|
+
rdfs:label "InferenceReceipt" ;
|
|
57
|
+
rdfs:comment "One attempt at one model under one profile version for one principal: usage, cost, latency, outcome, the policy decision that admitted it, and — when it was a declared fallback — the receipt of the attempt it replaced. Evidence that a call occurred and what it cost; never that it was authorized. No prompt or response text." .
|
|
58
|
+
|
|
59
|
+
apinf:BudgetReservation a owl:Class ;
|
|
60
|
+
rdfs:subClassOf prov:Entity ;
|
|
61
|
+
rdfs:label "BudgetReservation" ;
|
|
62
|
+
rdfs:comment "The estimate reserved before dispatch and settled after. A SERVING-PLANE record (the gateway's meter), rebuildable from receipts; expired at the reserved cost, never released as zero." .
|
|
63
|
+
|
|
64
|
+
apinf:EstateHeartbeat a owl:Class ;
|
|
65
|
+
rdfs:subClassOf prov:Entity ;
|
|
66
|
+
rdfs:label "EstateHeartbeat" ;
|
|
67
|
+
rdfs:comment "What an estate reports to its town: COUNTS over a window — agents by type, homes active, runs by state, model calls, spend, vault and DO calls, latency — never a person, never a name. An aggregate observation the town samples into a history; a stale one is shown dark, never guessed." .
|
|
68
|
+
|
|
69
|
+
# ─── Properties ──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
70
|
+
|
|
71
|
+
apinf:profileId a owl:DatatypeProperty ;
|
|
72
|
+
rdfs:domain prov:Entity ; rdfs:range xsd:string ;
|
|
73
|
+
rdfs:label "profileId" ;
|
|
74
|
+
rdfs:comment "The profile a receipt, an entitlement row or a reservation names." .
|
|
75
|
+
|
|
76
|
+
apinf:profileVersion a owl:DatatypeProperty ;
|
|
77
|
+
rdfs:domain apinf:InferenceReceipt ; rdfs:range xsd:string ;
|
|
78
|
+
rdfs:label "profileVersion" ;
|
|
79
|
+
rdfs:comment "The digest of the profile record the call ran under." .
|
|
80
|
+
|
|
81
|
+
apinf:servesCapability a owl:DatatypeProperty ;
|
|
82
|
+
rdfs:domain apinf:ModelProfile ; rdfs:range xsd:string ;
|
|
83
|
+
rdfs:label "servesCapability" ;
|
|
84
|
+
rdfs:comment "The caller's words a profile answers to (plan, compose, answer-stream, judge, selection, author, evals, private-analysis)." .
|
|
85
|
+
|
|
86
|
+
apinf:enabled a owl:DatatypeProperty ;
|
|
87
|
+
rdfs:domain apinf:ModelCatalogEntry ; rdfs:range xsd:boolean ;
|
|
88
|
+
rdfs:label "enabled" ;
|
|
89
|
+
rdfs:comment "The one switch." .
|
|
90
|
+
|
|
91
|
+
apinf:modelProvider a owl:DatatypeProperty ;
|
|
92
|
+
rdfs:domain prov:Entity ; rdfs:range xsd:string ;
|
|
93
|
+
rdfs:label "modelProvider" .
|
|
94
|
+
|
|
95
|
+
apinf:modelId a owl:DatatypeProperty ;
|
|
96
|
+
rdfs:domain prov:Entity ; rdfs:range xsd:string ;
|
|
97
|
+
rdfs:label "modelId" .
|
|
98
|
+
|
|
99
|
+
apinf:principal a owl:DatatypeProperty ;
|
|
100
|
+
rdfs:domain prov:Entity ; rdfs:range xsd:string ;
|
|
101
|
+
rdfs:label "principal" ;
|
|
102
|
+
rdfs:comment "The Smart Agent the gateway PROVED from the credential (an app's Service SA, or a session wire's delegator). The only party a budget or an entitlement is read for." .
|
|
103
|
+
|
|
104
|
+
apinf:assertedAgent a owl:DatatypeProperty ;
|
|
105
|
+
rdfs:domain apinf:InferenceReceipt ; rdfs:range xsd:string ;
|
|
106
|
+
rdfs:label "assertedAgent" ;
|
|
107
|
+
rdfs:comment "What the caller SAID it was acting for. Evidence for attribution, never authority, never the principal, never read by anything that decides (spec 434 G3)." .
|
|
108
|
+
|
|
109
|
+
apinf:costMicroUsd a owl:DatatypeProperty ;
|
|
110
|
+
rdfs:domain prov:Entity ; rdfs:range xsd:integer ;
|
|
111
|
+
rdfs:label "costMicroUsd" ;
|
|
112
|
+
rdfs:comment "Usage × the catalog's pricing at call time, in micro-USD." .
|
|
113
|
+
|
|
114
|
+
apinf:attempt a owl:DatatypeProperty ;
|
|
115
|
+
rdfs:domain apinf:InferenceReceipt ; rdfs:range xsd:integer ;
|
|
116
|
+
rdfs:label "attempt" ;
|
|
117
|
+
rdfs:comment "Which candidate of the profile this was: 1 is the first." .
|
|
118
|
+
|
|
119
|
+
apinf:fallbackOf a owl:ObjectProperty ;
|
|
120
|
+
rdfs:domain apinf:InferenceReceipt ; rdfs:range apinf:InferenceReceipt ;
|
|
121
|
+
rdfs:label "fallbackOf" ;
|
|
122
|
+
rdfs:comment "The receipt of the attempt this one replaced, under a failure class the profile DECLARED. Absent on a first attempt. Never silent (spec 434 G5)." .
|
|
123
|
+
|
|
124
|
+
apinf:reconciliationState a owl:DatatypeProperty ;
|
|
125
|
+
rdfs:domain prov:Entity ; rdfs:range xsd:string ;
|
|
126
|
+
rdfs:label "reconciliationState" ;
|
|
127
|
+
rdfs:comment "settled | pending | expired — whether the reservation was corrected with actual usage, is held for the sweep, or was charged as reserved." .
|
|
128
|
+
|
|
129
|
+
apinf:outcome a owl:DatatypeProperty ;
|
|
130
|
+
rdfs:domain apinf:InferenceReceipt ; rdfs:range xsd:string ;
|
|
131
|
+
rdfs:label "outcome" ;
|
|
132
|
+
rdfs:comment "answered | failed | refused." .
|
|
133
|
+
|
|
134
|
+
apinf:purpose a owl:DatatypeProperty ;
|
|
135
|
+
rdfs:domain apinf:InferenceReceipt ; rdfs:range xsd:string ;
|
|
136
|
+
rdfs:label "purpose" ;
|
|
137
|
+
rdfs:comment "The caller's word for why (plan, compose, …), as sent." .
|
|
138
|
+
|
|
139
|
+
apinf:estate a owl:DatatypeProperty ;
|
|
140
|
+
rdfs:domain prov:Entity ; rdfs:range xsd:string ;
|
|
141
|
+
rdfs:label "estate" ;
|
|
142
|
+
rdfs:comment "The estate the client record attributes the principal to (spec 436 C8) — for the per-estate slice of the Pulse. Attribution, never authority." .
|
|
143
|
+
|
|
144
|
+
apinf:clientKind a owl:DatatypeProperty ;
|
|
145
|
+
rdfs:domain prov:Entity ; rdfs:range xsd:string ;
|
|
146
|
+
rdfs:label "clientKind" ;
|
|
147
|
+
rdfs:comment "estate-app | town-service | application." .
|
|
148
|
+
|
|
149
|
+
apinf:changedRecord a owl:DatatypeProperty ;
|
|
150
|
+
rdfs:domain apinf:PolicyChange ; rdfs:range xsd:string ;
|
|
151
|
+
rdfs:label "changedRecord" ;
|
|
152
|
+
rdfs:comment "The vault record key the change rewrote (inference.profile:<id>, inference.model:<provider>/<model>, inference.client:<sa>)." .
|
|
153
|
+
|
|
154
|
+
apinf:reason a owl:DatatypeProperty ;
|
|
155
|
+
rdfs:domain apinf:PolicyChange ; rdfs:range xsd:string ;
|
|
156
|
+
rdfs:label "reason" .
|
|
157
|
+
|
|
158
|
+
# A run's model invocation may cite the gateway receipt that answers for it (spec 434 §7).
|
|
159
|
+
apexec:receiptRef a owl:DatatypeProperty ;
|
|
160
|
+
rdfs:domain apexec:ModelInvocation ; rdfs:range xsd:string ;
|
|
161
|
+
rdfs:label "receiptRef" ;
|
|
162
|
+
rdfs:comment "The inference receipt id (inference.receipt:<id> in the gateway's vault) when the call went through the town's model gateway; absent on a direct call." .
|
|
163
|
+
|
|
164
|
+
# ─── Spec 436 §5.5 / spec 437 — the Town Ask's records: the Pulse's memory, kept by a context agent ───────────────
|
|
165
|
+
apinf:TownPulse a owl:Class ;
|
|
166
|
+
rdfs:subClassOf prov:Entity ;
|
|
167
|
+
rdfs:label "TownPulse" ;
|
|
168
|
+
rdfs:comment "A day's (or a sample's) rollup of a town's sampled state — services up/down, the chain gateway's summary, the model gateway's summary, every estate's heartbeat, and (spec 437) the infrastructure, cost and performance views with their lag labels. Counts, never a person. Kept in the town context agent's vault; HeartbeatDO is the rebuildable cache." .
|
|
169
|
+
apinf:pulseDay a owl:DatatypeProperty ; rdfs:domain apinf:TownPulse ; rdfs:range xsd:date ; rdfs:label "pulseDay" .
|
|
170
|
+
apinf:StandingChecklist a owl:Class ;
|
|
171
|
+
rdfs:subClassOf prov:Entity ;
|
|
172
|
+
rdfs:label "StandingChecklist" ;
|
|
173
|
+
rdfs:comment "Spec 435 §8 — the birthrights present or absent across an estate's residents on a day, as COUNTS (the shadow-agent column); never a score, never a name in the town's copy." .
|
|
174
|
+
apinf:EstateManifest a owl:Class ;
|
|
175
|
+
rdfs:subClassOf prov:Entity ;
|
|
176
|
+
rdfs:label "EstateManifest" ;
|
|
177
|
+
rdfs:comment "Spec 435 §6 — the signed export an estate's steward hands an auditor: every resident's address, typed name, card digest, playbook digest, connector manifest digests, model profile versions in force, standing UID and expiry. Public facts plus digests of private ones; the steward's to hand over, never published by the town." .
|
package/tbox/intents.ttl
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# T-box — intent vocabulary (spine Layer 2 + 7).
|
|
2
|
+
# Anoma CSP alignment + ERC-7521 + UFO-C/ValueFlows.
|
|
3
|
+
# Spec 225 §11.5 (substrate spine vocabulary scope expansion).
|
|
4
|
+
# Owning runtime SHACL shapes: packages/intent-marketplace/src/shapes/ (PD-19).
|
|
5
|
+
|
|
6
|
+
@prefix ap: <https://agenticprimitives.dev/ns/core#> .
|
|
7
|
+
@prefix apint: <https://agenticprimitives.dev/ns/intent#> .
|
|
8
|
+
@prefix aps: <https://agenticprimitives.dev/ns/skill#> .
|
|
9
|
+
@prefix apcst: <https://agenticprimitives.dev/ns/constraint#> .
|
|
10
|
+
@prefix apres: <https://agenticprimitives.dev/ns/resolution#> .
|
|
11
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
12
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
13
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
14
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
15
|
+
@prefix prov: <http://www.w3.org/ns/prov#> .
|
|
16
|
+
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
|
|
17
|
+
@prefix vf: <https://w3id.org/valueflows#> .
|
|
18
|
+
@prefix ufo-c: <http://purl.org/nemo/ufo-c#> .
|
|
19
|
+
|
|
20
|
+
apint: a owl:Ontology ;
|
|
21
|
+
rdfs:label "Agentic Primitives — intent ontology" ;
|
|
22
|
+
owl:versionInfo "0.1.0" ;
|
|
23
|
+
rdfs:comment "T-box for the intent-marketplace substrate. Anoma CSP-aligned + ERC-7521 + ERC-7683 + UFO-C/ValueFlows. Spec 225 §11.5." .
|
|
24
|
+
|
|
25
|
+
# ─── Intent + lifecycle classes ────────────────────────────────────────
|
|
26
|
+
|
|
27
|
+
apint:Desire a owl:Class ;
|
|
28
|
+
rdfs:subClassOf ufo-c:Intention ;
|
|
29
|
+
rdfs:label "Desire" ;
|
|
30
|
+
rdfs:comment "An actor's latent want — internal BDI state. NOT addressable; NOT a commitment. Becomes actionable only when committed to an Intent. Layer 1 of the spine; out-of-scope for W1 substrate (engagement plane only)." .
|
|
31
|
+
|
|
32
|
+
apint:Intent a owl:Class ;
|
|
33
|
+
rdfs:subClassOf ufo-c:Intention , vf:Intent ;
|
|
34
|
+
rdfs:label "Intent" ;
|
|
35
|
+
rdfs:comment "An actor's signed declarative statement of a desired end-state. NOT a plan; not a transaction; not a wire envelope. Layer 2 of the spine." .
|
|
36
|
+
|
|
37
|
+
# ─── Spec 410 §6 — OPEN INTENTS: the stated outcome, and what it entails ───────────────────────────────
|
|
38
|
+
# A CLOSED intent names its effects ("pay Alice 10"); the mandate binds them. An OPEN intent names an OUTCOME
|
|
39
|
+
# ("organize the gathering for under two thousand") and leaves the effects to a plan — which is where an
|
|
40
|
+
# adversarial instruction inside the plan's inputs can surface an effect the outcome never entailed: the
|
|
41
|
+
# disclosure, the over-budget deposit, the substitute venue. These terms let the ontology say, per outcome
|
|
42
|
+
# class, which effect kinds the outcome ENTAILS and which BOUNDS it carries; the harness's conformance stage
|
|
43
|
+
# (`orchestration.outcomeConformance`) refuses, before anything is offered for signature, every consequential
|
|
44
|
+
# effect the outcome does not entail. Behaviour, never authority: no verifier reads these; the mandate still
|
|
45
|
+
# authorizes what it names.
|
|
46
|
+
|
|
47
|
+
apint:Outcome a owl:Class ;
|
|
48
|
+
rdfs:subClassOf apint:Intent ;
|
|
49
|
+
rdfs:label "Outcome" ;
|
|
50
|
+
rdfs:comment "The stated end-state of an OPEN intent, as a class: what a plan under that intent may be composed of is what this class ENTAILS (apint:entailsCapability), within the BOUNDS the intent stated (apint:boundedBy). What it is NOT: authority (a mandate still authorizes each effect), and not a plan (it names kinds, never steps)." .
|
|
51
|
+
|
|
52
|
+
apint:entailsCapability a owl:ObjectProperty ;
|
|
53
|
+
rdfs:domain apint:Outcome ; rdfs:range aps:Capability ;
|
|
54
|
+
rdfs:label "entailsCapability" ;
|
|
55
|
+
rdfs:comment "A capability whose exercise the outcome entails. A consequential effect under an open intent whose capability the outcome does not entail is refused at conformance — an omission here is a refusal there, by design." .
|
|
56
|
+
|
|
57
|
+
apint:OutcomeBound a owl:Class ;
|
|
58
|
+
rdfs:label "OutcomeBound" ;
|
|
59
|
+
rdfs:comment "A bound an open intent states over one argument of an entailed capability: an AMOUNT (\"under two thousand\" — the argument may not exceed it) or a NAMED value (\"at the hall\" — the argument may not differ from it). Read from the intent, never inferred." .
|
|
60
|
+
|
|
61
|
+
apint:boundedBy a owl:ObjectProperty ;
|
|
62
|
+
rdfs:domain apint:Outcome ; rdfs:range apint:OutcomeBound ;
|
|
63
|
+
rdfs:label "boundedBy" .
|
|
64
|
+
|
|
65
|
+
apint:boundsArgument a owl:DatatypeProperty ;
|
|
66
|
+
rdfs:domain apint:OutcomeBound ; rdfs:range xsd:string ;
|
|
67
|
+
rdfs:label "boundsArgument" ;
|
|
68
|
+
rdfs:comment "The argument name of the entailed capability the bound applies to (\"amount\", \"location\")." .
|
|
69
|
+
|
|
70
|
+
apint:OrganizedGathering a owl:Class ;
|
|
71
|
+
rdfs:subClassOf apint:Outcome ;
|
|
72
|
+
rdfs:label "OrganizedGathering" ;
|
|
73
|
+
rdfs:comment "A gathering organized for a group: a time and place set, the people told, a deposit paid within budget. Entails: a calendar event (bounded by the named venue), messages to the attendees (carrying contact details, never records about them), a payment (bounded by the stated budget). The reference outcome class of spec 410 §6; a domain adds its own the same way." .
|
|
74
|
+
|
|
75
|
+
# ─── Intent hierarchy extension (spec 324 §9) ─────────────────────────
|
|
76
|
+
|
|
77
|
+
apint:ResourceExchangeIntent a owl:Class ;
|
|
78
|
+
rdfs:subClassOf apint:Intent ;
|
|
79
|
+
rdfs:label "ResourceExchangeIntent" ;
|
|
80
|
+
rdfs:comment "Marketplace-shaped intents; direction + object matching apply here only." .
|
|
81
|
+
|
|
82
|
+
apint:GiveIntent a owl:Class ;
|
|
83
|
+
rdfs:subClassOf apint:ResourceExchangeIntent ;
|
|
84
|
+
rdfs:label "GiveIntent" ;
|
|
85
|
+
rdfs:comment "ResourceExchangeIntent with direction='give'. Direction is ONE OF THE TWO FLIPS of the two-flip principle (spec 337 §1.1): a seller's auction is a GiveIntent-side campaign, a buyer's shopping goal is ReceiveIntent-side — same algebra, direction as data. Never mint direction-specific classes downstream of these two." .
|
|
86
|
+
|
|
87
|
+
apint:ReceiveIntent a owl:Class ;
|
|
88
|
+
rdfs:subClassOf apint:ResourceExchangeIntent ;
|
|
89
|
+
rdfs:label "ReceiveIntent" ;
|
|
90
|
+
rdfs:comment "ResourceExchangeIntent with direction='receive'. See apint:GiveIntent — direction is data (two-flip principle, spec 337 §1.1)." .
|
|
91
|
+
|
|
92
|
+
apint:ActionIntent a owl:Class ;
|
|
93
|
+
rdfs:subClassOf apint:Intent ;
|
|
94
|
+
rdfs:label "ActionIntent" ;
|
|
95
|
+
rdfs:comment "Desired action (invoke skill, perform task, moderate conversation)." .
|
|
96
|
+
|
|
97
|
+
apint:InvokeSkillIntent a owl:Class ;
|
|
98
|
+
rdfs:subClassOf apint:ActionIntent ;
|
|
99
|
+
rdfs:label "InvokeSkillIntent" .
|
|
100
|
+
|
|
101
|
+
apint:PerformTaskIntent a owl:Class ;
|
|
102
|
+
rdfs:subClassOf apint:ActionIntent ;
|
|
103
|
+
rdfs:label "PerformTaskIntent" .
|
|
104
|
+
|
|
105
|
+
apint:InformationIntent a owl:Class ;
|
|
106
|
+
rdfs:subClassOf apint:Intent ;
|
|
107
|
+
rdfs:label "InformationIntent" .
|
|
108
|
+
|
|
109
|
+
apint:QueryIntent a owl:Class ;
|
|
110
|
+
rdfs:subClassOf apint:InformationIntent ;
|
|
111
|
+
rdfs:label "QueryIntent" .
|
|
112
|
+
|
|
113
|
+
apint:SubscribeIntent a owl:Class ;
|
|
114
|
+
rdfs:subClassOf apint:InformationIntent ;
|
|
115
|
+
rdfs:label "SubscribeIntent" .
|
|
116
|
+
|
|
117
|
+
apint:RelationshipIntent a owl:Class ;
|
|
118
|
+
rdfs:subClassOf apint:Intent ;
|
|
119
|
+
rdfs:label "RelationshipIntent" .
|
|
120
|
+
|
|
121
|
+
apint:JoinOrganizationIntent a owl:Class ;
|
|
122
|
+
rdfs:subClassOf apint:RelationshipIntent ;
|
|
123
|
+
rdfs:label "JoinOrganizationIntent" ;
|
|
124
|
+
rdfs:comment "Expressed by MembershipApplication (REQUEST act)." .
|
|
125
|
+
|
|
126
|
+
apint:LeaveOrganizationIntent a owl:Class ;
|
|
127
|
+
rdfs:subClassOf apint:RelationshipIntent ;
|
|
128
|
+
rdfs:label "LeaveOrganizationIntent" .
|
|
129
|
+
|
|
130
|
+
apint:AssignRoleIntent a owl:Class ;
|
|
131
|
+
rdfs:subClassOf apint:RelationshipIntent ;
|
|
132
|
+
rdfs:label "AssignRoleIntent" .
|
|
133
|
+
|
|
134
|
+
# ─── Consultation (spec 329 — org assistant member routing) ──────────
|
|
135
|
+
# Layer-2 spine artifact ONLY: a ConsultationIntent DESCRIBES a routed org→member
|
|
136
|
+
# consult; it is EXECUTED by the ADR-0044 Ring-0 loop over the A2A task rail —
|
|
137
|
+
# never by the W1 marketplace resolver (the spine describes; the loop executes).
|
|
138
|
+
|
|
139
|
+
apint:ConsultationIntent a owl:Class ;
|
|
140
|
+
rdfs:subClassOf apint:Intent ;
|
|
141
|
+
rdfs:label "ConsultationIntent" ;
|
|
142
|
+
rdfs:comment "An org's signed request that a specific member agent answer a discussion question. Layer-2 spine artifact; executed via the A2A task rail (spec 329), never the marketplace resolver. direction 'receive'; object = the consult-answer IRI; expressedBy the org SA; addressedTo exactly one member SA. Wire binding: `ap.consultation-intent.v1` ↔ this class (TS mirror: fabric ConsultationIntentV1)." .
|
|
143
|
+
|
|
144
|
+
apint:MatchInitiation a owl:Class ;
|
|
145
|
+
rdfs:subClassOf prov:Activity ;
|
|
146
|
+
rdfs:label "MatchInitiation" ;
|
|
147
|
+
rdfs:comment "A broker's act of initiating a match between two compatible Intents. Distinct from IntentMatch (the accepted relation). Smart-agent SS-03 invariant." .
|
|
148
|
+
|
|
149
|
+
apint:IntentMatch a owl:Class ;
|
|
150
|
+
rdfs:subClassOf prov:Activity ;
|
|
151
|
+
rdfs:label "IntentMatch" ;
|
|
152
|
+
rdfs:comment "An accepted compatibility relation between two Intents. Layer 7 of the spine. Smart-agent SS-02 invariant: both parties signal acceptance before promotion." .
|
|
153
|
+
|
|
154
|
+
apint:Commitment a owl:Class ;
|
|
155
|
+
rdfs:subClassOf vf:Commitment ;
|
|
156
|
+
rdfs:label "Commitment" ;
|
|
157
|
+
rdfs:comment "A dual-signed envelope produced from an IntentMatch; the input to the Agreement layer (spec 241). Layer 7→8 bridge." .
|
|
158
|
+
|
|
159
|
+
apint:Proposal a owl:Class ;
|
|
160
|
+
rdfs:subClassOf prov:Entity ;
|
|
161
|
+
rdfs:label "Proposal" ;
|
|
162
|
+
rdfs:comment "A signed candidate solution to an expressed Intent. UniswapX-Order / CoW-Order-book-entry shape. Layer 5 of the spine. Pool Lane (W2)." .
|
|
163
|
+
|
|
164
|
+
apint:SolverBid a owl:Class ;
|
|
165
|
+
rdfs:subClassOf apint:Proposal ;
|
|
166
|
+
rdfs:label "SolverBid" ;
|
|
167
|
+
rdfs:comment "A solver's competitive bid + match score + reason + predicted outcome + cost estimate + trust certificate. Layer 6 of the spine. CoW / UniswapX / ERC-7683 solver competition. Pool/Proposal Lane (W2)." .
|
|
168
|
+
|
|
169
|
+
# ─── Intent properties ────────────────────────────────────────────────
|
|
170
|
+
|
|
171
|
+
apint:direction a owl:DatatypeProperty ;
|
|
172
|
+
rdfs:domain apint:ResourceExchangeIntent ;
|
|
173
|
+
rdfs:range xsd:string ;
|
|
174
|
+
rdfs:label "direction" ;
|
|
175
|
+
rdfs:comment "'receive' or 'give'. Resource-exchange matching: direction MUST be opposite + object MUST be equal." .
|
|
176
|
+
|
|
177
|
+
apint:object a owl:ObjectProperty ;
|
|
178
|
+
rdfs:domain apint:ResourceExchangeIntent ;
|
|
179
|
+
rdfs:range skos:Concept ;
|
|
180
|
+
rdfs:label "object" ;
|
|
181
|
+
rdfs:comment "SKOS concept for WHAT is wanted/offered (marketplace intents only)." .
|
|
182
|
+
|
|
183
|
+
apint:topic a owl:DatatypeProperty ;
|
|
184
|
+
rdfs:domain apint:Intent ;
|
|
185
|
+
rdfs:range xsd:string ;
|
|
186
|
+
rdfs:label "topic" ;
|
|
187
|
+
rdfs:comment "DEPRECATED free-text refinement — use apint:about. Not apmsg:DiscussionTopic." .
|
|
188
|
+
|
|
189
|
+
apint:about a owl:DatatypeProperty ;
|
|
190
|
+
rdfs:domain apint:Intent ;
|
|
191
|
+
rdfs:range xsd:string ;
|
|
192
|
+
rdfs:label "about" ;
|
|
193
|
+
rdfs:comment "Free-text aboutness refinement on an Intent. Distinct from apmsg:DiscussionTopic entity." .
|
|
194
|
+
|
|
195
|
+
apint:expressedBy a owl:ObjectProperty ;
|
|
196
|
+
rdfs:domain apint:Intent ;
|
|
197
|
+
rdfs:range ap:Agent ;
|
|
198
|
+
rdfs:label "expressedBy" ;
|
|
199
|
+
rdfs:comment "The Agent SA address that signed the Intent." .
|
|
200
|
+
|
|
201
|
+
apint:addressedTo a owl:ObjectProperty ;
|
|
202
|
+
rdfs:domain apint:Intent ;
|
|
203
|
+
rdfs:range ap:Agent ;
|
|
204
|
+
rdfs:label "addressedTo" ;
|
|
205
|
+
rdfs:comment "The intended recipients/audience of the Intent (broker, counterparty class, etc.)." .
|
|
206
|
+
|
|
207
|
+
apint:hasConstraintSet a owl:ObjectProperty ;
|
|
208
|
+
rdfs:domain apint:Intent ;
|
|
209
|
+
rdfs:range apcst:ConstraintSet ;
|
|
210
|
+
rdfs:label "hasConstraintSet" ;
|
|
211
|
+
rdfs:comment "Anoma-CSP-shaped constraints. First-class typed structure, NOT freeform payload (D-38)." .
|
|
212
|
+
|
|
213
|
+
apint:hasAssumptionSet a owl:ObjectProperty ;
|
|
214
|
+
rdfs:domain apint:Intent ;
|
|
215
|
+
rdfs:range apcst:AssumptionSet ;
|
|
216
|
+
rdfs:label "hasAssumptionSet" ;
|
|
217
|
+
rdfs:comment "Resolver-asserted assumptions (ERC-7683 pattern). Solvers MUST validate before bidding." .
|
|
218
|
+
|
|
219
|
+
apint:expectedOutcome a owl:ObjectProperty ;
|
|
220
|
+
rdfs:domain apint:Intent ;
|
|
221
|
+
rdfs:range prov:Entity ;
|
|
222
|
+
rdfs:label "expectedOutcome" ;
|
|
223
|
+
rdfs:comment "What success looks like — referenced when constructing OutcomeCredential at Layer 13." .
|
|
224
|
+
|
|
225
|
+
apint:visibility a owl:DatatypeProperty ;
|
|
226
|
+
rdfs:domain apint:Intent ;
|
|
227
|
+
rdfs:range xsd:string ;
|
|
228
|
+
rdfs:label "visibility" ;
|
|
229
|
+
rdfs:comment "Five-tier visibility: Public | PublicCoarse | PrivateCommitment | PrivateZK | OffchainOnly. Per privacy doc §4 Layer 2." .
|
|
230
|
+
|
|
231
|
+
apint:status a owl:DatatypeProperty ;
|
|
232
|
+
rdfs:domain apint:Intent ;
|
|
233
|
+
rdfs:range xsd:string ;
|
|
234
|
+
rdfs:label "status" ;
|
|
235
|
+
rdfs:comment "Intent state-machine status (per spec 239 §5)." .
|
|
236
|
+
|
|
237
|
+
apint:matchedWith a owl:ObjectProperty ;
|
|
238
|
+
rdfs:domain apint:IntentMatch ;
|
|
239
|
+
rdfs:range apint:Intent ;
|
|
240
|
+
rdfs:label "matchedWith" ;
|
|
241
|
+
rdfs:comment "An IntentMatch links exactly two compatible Intents (cardinality 2; enforced by SHACL in intent-marketplace)." .
|