@agenticprimitives/ontology 0.1.0-alpha.3 → 1.0.0-alpha.10

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/dist/index.js CHANGED
@@ -22,8 +22,15 @@ export const ONTOLOGY_VERSION = '0.1.0';
22
22
  * Namespace IRIs, split per domain (mirrors the reference
23
23
  * `smartagent.io/ontology/<domain>#` scheme; spec 225 §4). Pinned base:
24
24
  * `https://agenticprimitives.dev/ns/`.
25
+ *
26
+ * Wave 1 (2026-06-02b) added the v2 coordination substrate namespaces per
27
+ * spec 225 §11.5 (apint / apcst / apres / apagr / appay / apful / apatt /
28
+ * apvc) — substrate-wide T-box vocabulary for the 15-layer coordination spine
29
+ * (ADR-0024). Runtime SHACL shapes for each live in their owning packages
30
+ * per PD-19.
25
31
  */
26
32
  export const NS = {
33
+ // Phase-1 (existing)
27
34
  ap: 'https://agenticprimitives.dev/ns/core#',
28
35
  apid: 'https://agenticprimitives.dev/ns/identity#',
29
36
  apcr: 'https://agenticprimitives.dev/ns/credential#',
@@ -33,9 +40,25 @@ export const NS = {
33
40
  apnam: 'https://agenticprimitives.dev/ns/naming#',
34
41
  aprel: 'https://agenticprimitives.dev/ns/relationships#',
35
42
  aporg: 'https://agenticprimitives.dev/ns/org#',
43
+ // Phase-1.5 (v2 coordination substrate spine; spec 225 §11.5)
44
+ apint: 'https://agenticprimitives.dev/ns/intent#',
45
+ apcst: 'https://agenticprimitives.dev/ns/constraint#',
46
+ apres: 'https://agenticprimitives.dev/ns/resolution#',
47
+ apagr: 'https://agenticprimitives.dev/ns/agreement#',
48
+ appay: 'https://agenticprimitives.dev/ns/payment#',
49
+ apful: 'https://agenticprimitives.dev/ns/fulfillment#',
50
+ apatt: 'https://agenticprimitives.dev/ns/attestation#',
51
+ apvc: 'https://agenticprimitives.dev/ns/verifiable-credential#',
52
+ // Generic skills + geo substrate (spec 251)
53
+ aps: 'https://agenticprimitives.dev/ns/skill#',
54
+ apg: 'https://agenticprimitives.dev/ns/geo#',
55
+ // Generic verifiable-content substrate (spec 266) — content is scheme-anchored,
56
+ // NOT a Smart Agent facet (ADR-0033). Zero vertical/faith vocabulary.
57
+ apcnt: 'https://agenticprimitives.dev/ns/content#',
36
58
  };
37
59
  /** Class IRIs (T-box). Each is `<namespace><LocalName>`. */
38
60
  export const CLASS = {
61
+ // Phase-1
39
62
  Agent: `${NS.ap}Agent`,
40
63
  CanonicalAgentId: `${NS.ap}CanonicalAgentId`,
41
64
  Facet: `${NS.ap}Facet`,
@@ -44,9 +67,77 @@ export const CLASS = {
44
67
  NameFacet: `${NS.apnam}NameFacet`,
45
68
  OidcSubject: `${NS.apid}OidcSubject`,
46
69
  Org: `${NS.aporg}Org`,
70
+ // Phase-1.5: intent layer
71
+ Desire: `${NS.apint}Desire`,
72
+ Intent: `${NS.apint}Intent`,
73
+ ReceiveIntent: `${NS.apint}ReceiveIntent`,
74
+ GiveIntent: `${NS.apint}GiveIntent`,
75
+ MatchInitiation: `${NS.apint}MatchInitiation`,
76
+ IntentMatch: `${NS.apint}IntentMatch`,
77
+ Commitment: `${NS.apint}Commitment`,
78
+ Proposal: `${NS.apint}Proposal`,
79
+ SolverBid: `${NS.apint}SolverBid`,
80
+ // Phase-1.5: constraint layer
81
+ ConstraintSet: `${NS.apcst}ConstraintSet`,
82
+ Constraint: `${NS.apcst}Constraint`,
83
+ HardConstraint: `${NS.apcst}HardConstraint`,
84
+ SoftConstraint: `${NS.apcst}SoftConstraint`,
85
+ ConstraintDomain: `${NS.apcst}ConstraintDomain`,
86
+ EnumDomain: `${NS.apcst}EnumDomain`,
87
+ RangeDomain: `${NS.apcst}RangeDomain`,
88
+ SetDomain: `${NS.apcst}SetDomain`,
89
+ PredicateDomain: `${NS.apcst}PredicateDomain`,
90
+ AssumptionSet: `${NS.apcst}AssumptionSet`,
91
+ NamedAssumption: `${NS.apcst}NamedAssumption`,
92
+ ValidationRequirement: `${NS.apcst}ValidationRequirement`,
93
+ // Phase-1.5: resolution layer
94
+ Resolver: `${NS.apres}Resolver`,
95
+ ResolvedOrder: `${NS.apres}ResolvedOrder`,
96
+ ResolutionReceipt: `${NS.apres}ResolutionReceipt`,
97
+ PolicyCheckResult: `${NS.apres}PolicyCheckResult`,
98
+ ToolCallTrace: `${NS.apres}ToolCallTrace`,
99
+ // Phase-1.5: agreement layer
100
+ AgreementCommitment: `${NS.apagr}AgreementCommitment`,
101
+ AgreementCredential: `${NS.apagr}AgreementCredential`,
102
+ AgreementStatus: `${NS.apagr}AgreementStatus`,
103
+ // Phase-1.5: payment layer
104
+ PaymentMandate: `${NS.appay}PaymentMandate`,
105
+ OpenPaymentMandate: `${NS.appay}OpenPaymentMandate`,
106
+ ClosedPaymentMandate: `${NS.appay}ClosedPaymentMandate`,
107
+ PaymentReceipt: `${NS.appay}PaymentReceipt`,
108
+ MandateConstraints: `${NS.appay}MandateConstraints`,
109
+ ContextBinding: `${NS.appay}ContextBinding`,
110
+ PaymentRail: `${NS.appay}PaymentRail`,
111
+ // Phase-1.5: fulfillment layer
112
+ FulfillmentCase: `${NS.apful}FulfillmentCase`,
113
+ FulfillmentTopology: `${NS.apful}FulfillmentTopology`,
114
+ Task: `${NS.apful}Task`,
115
+ HandoffPolicy: `${NS.apful}HandoffPolicy`,
116
+ Message: `${NS.apful}Message`,
117
+ Artifact: `${NS.apful}Artifact`,
118
+ ArtifactKind: `${NS.apful}ArtifactKind`,
119
+ IntentTraceSpan: `${NS.apful}IntentTraceSpan`,
120
+ // Phase-1.5: attestation layer
121
+ Attestation: `${NS.apatt}Attestation`,
122
+ EvidenceCredential: `${NS.apatt}EvidenceCredential`,
123
+ OutcomeCredential: `${NS.apatt}OutcomeCredential`,
124
+ ValidationCredential: `${NS.apatt}ValidationCredential`,
125
+ Validator: `${NS.apatt}Validator`,
126
+ ValidatorKind: `${NS.apatt}ValidatorKind`,
127
+ TrustUpdate: `${NS.apatt}TrustUpdate`,
128
+ AssociationCredential: `${NS.apatt}AssociationCredential`,
129
+ // Phase-1.5: VC envelope
130
+ VerifiableCredential: `${NS.apvc}VerifiableCredential`,
131
+ // Verifiable-content substrate (spec 266; FRBR Work/Manifestation/Item)
132
+ CanonicalLocus: `${NS.apcnt}CanonicalLocus`,
133
+ CorpusManifest: `${NS.apcnt}CorpusManifest`,
134
+ ContentDescriptor: `${NS.apcnt}ContentDescriptor`,
135
+ CitationAssertion: `${NS.apcnt}CitationAssertion`,
136
+ Entitlement: `${NS.apcnt}Entitlement`,
47
137
  };
48
138
  /** Predicate / property IRIs (T-box). */
49
139
  export const PREDICATE = {
140
+ // Phase-1
50
141
  isFacetOf: `${NS.apid}isFacetOf`,
51
142
  controls: `${NS.apcr}controls`,
52
143
  hasEvidence: `${NS.ap}hasEvidence`,
@@ -55,11 +146,117 @@ export const PREDICATE = {
55
146
  resolvesTo: `${NS.apnam}resolvesTo`,
56
147
  memberOf: `${NS.aporg}memberOf`,
57
148
  delegatesTo: `${NS.apdel}delegatesTo`,
149
+ // Phase-1.5: intent
150
+ direction: `${NS.apint}direction`,
151
+ object: `${NS.apint}object`,
152
+ topic: `${NS.apint}topic`,
153
+ expressedBy: `${NS.apint}expressedBy`,
154
+ addressedTo: `${NS.apint}addressedTo`,
155
+ hasConstraintSet: `${NS.apint}hasConstraintSet`,
156
+ hasAssumptionSet: `${NS.apint}hasAssumptionSet`,
157
+ expectedOutcome: `${NS.apint}expectedOutcome`,
158
+ visibility: `${NS.apint}visibility`,
159
+ status: `${NS.apint}status`,
160
+ matchedWith: `${NS.apint}matchedWith`,
161
+ // Phase-1.5: constraint
162
+ variable: `${NS.apcst}variable`,
163
+ domain: `${NS.apcst}domain`,
164
+ source: `${NS.apcst}source`,
165
+ rationale: `${NS.apcst}rationale`,
166
+ strength: `${NS.apcst}strength`,
167
+ enforcement: `${NS.apcst}enforcement`,
168
+ fieldDisclosure: `${NS.apcst}fieldDisclosure`,
169
+ resolverId: `${NS.apcst}resolverId`,
170
+ trustLevel: `${NS.apcst}trustLevel`,
171
+ risk: `${NS.apcst}risk`,
172
+ evidenceRef: `${NS.apcst}evidenceRef`,
173
+ // Phase-1.5: resolution
174
+ resolvedFrom: `${NS.apres}resolvedFrom`,
175
+ canonicalConstraints: `${NS.apres}canonicalConstraints`,
176
+ expandedAssumptions: `${NS.apres}expandedAssumptions`,
177
+ resolverAgent: `${NS.apres}resolverAgent`,
178
+ resolverVersion: `${NS.apres}resolverVersion`,
179
+ modelName: `${NS.apres}modelName`,
180
+ confidence: `${NS.apres}confidence`,
181
+ requiresUserConfirmation: `${NS.apres}requiresUserConfirmation`,
182
+ userConfirmedAt: `${NS.apres}userConfirmedAt`,
183
+ policyVersion: `${NS.apres}policyVersion`,
184
+ hasPolicyCheck: `${NS.apres}hasPolicyCheck`,
185
+ hasToolCall: `${NS.apres}hasToolCall`,
186
+ // Phase-1.5: agreement
187
+ hasIssuer: `${NS.apagr}hasIssuer`,
188
+ hasParty: `${NS.apagr}hasParty`,
189
+ agreementCommitmentHash: `${NS.apagr}agreementCommitmentHash`,
190
+ schemaHash: `${NS.apagr}schemaHash`,
191
+ agreementStatus: `${NS.apagr}status`,
192
+ createdEpochBucket: `${NS.apagr}createdEpochBucket`,
193
+ fromIntentMatch: `${NS.apagr}fromIntentMatch`,
194
+ // Phase-1.5: payment
195
+ payer: `${NS.appay}payer`,
196
+ payee: `${NS.appay}payee`,
197
+ granter: `${NS.appay}granter`,
198
+ rail: `${NS.appay}rail`,
199
+ mode: `${NS.appay}mode`,
200
+ requiresClosedMandateForFinalCharge: `${NS.appay}requiresClosedMandateForFinalCharge`,
201
+ contextBindingIntent: `${NS.appay}contextBindingIntent`,
202
+ contextBindingAgreement: `${NS.appay}contextBindingAgreement`,
203
+ chain: `${NS.appay}chain`,
204
+ maxAggregateAmount: `${NS.appay}maxAggregateAmount`,
205
+ nonce: `${NS.appay}nonce`,
206
+ maxRedemptions: `${NS.appay}maxRedemptions`,
207
+ expiresAt: `${NS.appay}expiresAt`,
208
+ // Phase-1.5: fulfillment
209
+ hasParentAgreement: `${NS.apful}hasParentAgreement`,
210
+ topology: `${NS.apful}topology`,
211
+ taskState: `${NS.apful}taskState`,
212
+ assignee: `${NS.apful}assignee`,
213
+ assigneeKind: `${NS.apful}assigneeKind`,
214
+ permissionGrantRef: `${NS.apful}permissionGrantRef`,
215
+ paymentMandateRef: `${NS.apful}paymentMandateRef`,
216
+ sender: `${NS.apful}sender`,
217
+ bodyRef: `${NS.apful}bodyRef`,
218
+ bodyHash: `${NS.apful}bodyHash`,
219
+ artifactKind: `${NS.apful}artifactKind`,
220
+ disclosurePolicy: `${NS.apful}disclosurePolicy`,
221
+ spanType: `${NS.apful}spanType`,
222
+ parentSpan: `${NS.apful}parentSpan`,
223
+ // Phase-1.5: attestation
224
+ uid: `${NS.apatt}uid`,
225
+ credentialType: `${NS.apatt}credentialType`,
226
+ credentialHash: `${NS.apatt}credentialHash`,
227
+ refUID: `${NS.apatt}refUID`,
228
+ bilateralConsentRef: `${NS.apatt}bilateralConsentRef`,
229
+ basedOnIntent: `${NS.apatt}basedOnIntent`,
230
+ basedOnArtifact: `${NS.apatt}basedOnArtifact`,
231
+ citesEvidence: `${NS.apatt}citesEvidence`,
232
+ citesValidation: `${NS.apatt}citesValidation`,
233
+ validatorKind: `${NS.apatt}validatorKind`,
234
+ offchainCredentialStatusList: `${NS.apatt}offchainCredentialStatusList`,
235
+ // Verifiable-content substrate (spec 266)
236
+ locusOf: `${NS.apcnt}locusOf`,
237
+ renderedBy: `${NS.apcnt}renderedBy`,
238
+ commitsTo: `${NS.apcnt}commitsTo`,
239
+ retrievalPointer: `${NS.apcnt}retrievalPointer`,
240
+ corpusRoot: `${NS.apcnt}corpusRoot`,
241
+ issuedBy: `${NS.apcnt}issuedBy`,
242
+ accessPolicy: `${NS.apcnt}accessPolicy`,
243
+ proofPolicy: `${NS.apcnt}proofPolicy`,
244
+ citesLocus: `${NS.apcnt}citesLocus`,
245
+ underEntitlement: `${NS.apcnt}underEntitlement`,
58
246
  };
59
- /** SHACL shape IRIs (C-box). */
247
+ /** SHACL shape IRIs (C-box).
248
+ *
249
+ * NOTE: substrate-spine runtime SHACL shapes live in their OWNING packages
250
+ * per PD-19, NOT in this package. The shape IRIs below are only the ones
251
+ * the ontology package itself ships (identity / core layer); for spine
252
+ * shapes (intents, constraints, agreement, payment, fulfillment, credentials,
253
+ * a2a-task), import from the owning package.
254
+ */
60
255
  export const SHAPE = {
61
256
  CanonicalAgentId: `${NS.ap}CanonicalAgentIdShape`,
62
257
  CredentialFacet: `${NS.apcr}CredentialFacetShape`,
258
+ // Verifiable-content substrate (spec 266) — encodes ADR-0033 R3 (no inline text).
259
+ ContentDescriptor: `${NS.apcnt}ContentDescriptorShape`,
63
260
  };
64
261
  // `ARTIFACTS` + `artifactPath` (Node-only, `node:url`) live in the
65
262
  // `@agenticprimitives/ontology/artifacts` subpath — keep this entry browser-safe.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAC9E,2EAA2E;AAC3E,iDAAiD;AACjD,EAAE;AACF,OAAO;AACP,iDAAiD;AACjD,uFAAuF;AACvF,mGAAmG;AACnG,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,gFAAgF;AAChF,iFAAiF;AACjF,2CAA2C;AAE3C,+DAA+D;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAgB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,EAAE,EAAE,wCAAwC;IAC5C,IAAI,EAAE,4CAA4C;IAClD,IAAI,EAAE,8CAA8C;IACpD,KAAK,EAAE,8CAA8C;IACrD,KAAK,EAAE,2CAA2C;IAClD,KAAK,EAAE,yCAAyC;IAChD,KAAK,EAAE,0CAA0C;IACjD,KAAK,EAAE,iDAAiD;IACxD,KAAK,EAAE,uCAAuC;CACtC,CAAC;AAEX,4DAA4D;AAC5D,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO;IACtB,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE,kBAAkB;IAC5C,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO;IACtB,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU;IAC5B,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,iBAAiB;IAC5C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,WAAW;IACjC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa;IACpC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK;CACb,CAAC;AAEX,yCAAyC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW;IAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU;IAC9B,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa;IAClC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW;IAC9B,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,eAAe;IACtC,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,YAAY;IACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,UAAU;IAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,aAAa;CAC7B,CAAC;AAEX,gCAAgC;AAChC,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE,uBAAuB;IACjD,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAsB;CACzC,CAAC;AAEX,mEAAmE;AACnE,kFAAkF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticprimitives/ontology",
3
- "version": "0.1.0-alpha.3",
3
+ "version": "1.0.0-alpha.10",
4
4
  "description": "Monorepo-wide formal vocabulary (RDFS/OWL T-box + SHACL/SKOS C-box + A-box fixtures) for agentic primitives. Off-chain source of truth the on-chain ontology (ADR-0009) instantiates. Ships TTL/JSON-LD artifacts + typed IRI constants.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,7 +38,7 @@
38
38
  "access": "public"
39
39
  },
40
40
  "devDependencies": {
41
- "vitest": "^2.1.0"
41
+ "vitest": "^4.1.8"
42
42
  },
43
43
  "keywords": [
44
44
  "ontology",
@@ -52,7 +52,7 @@
52
52
  "build": "tsc -p tsconfig.build.json",
53
53
  "typecheck": "tsc -p tsconfig.json --noEmit",
54
54
  "test": "vitest run",
55
- "test:unit": "vitest run test/unit",
55
+ "test:unit": "vitest run test/unit --passWithNoTests",
56
56
  "test:integration": "vitest run test/integration --passWithNoTests",
57
57
  "test:watch": "vitest",
58
58
  "clean": "rm -rf dist"
@@ -0,0 +1,77 @@
1
+ # T-box — agreement vocabulary (spine Layer 8).
2
+ # Hyperledger Indy commitments + Sidetree anchor pattern; W3C VC envelope.
3
+ # Spec 225 §11.5; ADR-0024 Decision 2 (single-row commitment-only).
4
+ # Owning runtime SHACL: packages/agreements/src/shapes/agreement.shacl.ttl.
5
+
6
+ @prefix apagr: <https://agenticprimitives.dev/ns/agreement#> .
7
+ @prefix apvc: <https://agenticprimitives.dev/ns/credential#> .
8
+ @prefix apint: <https://agenticprimitives.dev/ns/intent#> .
9
+ @prefix ap: <https://agenticprimitives.dev/ns/core#> .
10
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
11
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
12
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
13
+ @prefix vf: <https://w3id.org/valueflows#> .
14
+ @prefix prov: <http://www.w3.org/ns/prov#> .
15
+
16
+ apagr: a owl:Ontology ;
17
+ rdfs:label "Agentic Primitives — agreement ontology" ;
18
+ owl:versionInfo "0.1.0" ;
19
+ rdfs:comment "Layer 8 of the spine. Commitment-only on chain; body in vaults." .
20
+
21
+ apagr:AgreementCommitment a owl:Class ;
22
+ rdfs:subClassOf vf:Commitment ;
23
+ rdfs:label "AgreementCommitment" ;
24
+ rdfs:comment "On-chain commitment-only row in AgreementRegistry.sol. Body in vaults; only commitment hash + issuer + schema + status + epoch on chain. AR-12: party SA addresses never in calldata." .
25
+
26
+ apagr:AgreementCredential a owl:Class ;
27
+ rdfs:subClassOf apvc:VerifiableCredential ;
28
+ rdfs:label "AgreementCredential" ;
29
+ rdfs:comment "DOLCE+DnS Situation — the off-chain VC describing a two-party agreement. Issued by an issuer Agent (e.g. Global Church). Held in each party's PV. Per PD-22 — lives in agreements package." .
30
+
31
+ apagr:AgreementStatus a owl:Class ;
32
+ rdfs:label "AgreementStatus" ;
33
+ rdfs:comment "Status state-machine codelist: ACTIVE | COMPLETED | DISPUTED | REVOKED (per spec 241 §5.4.1)." .
34
+
35
+ # ─── Properties ───────────────────────────────────────────────────────
36
+
37
+ apagr:hasIssuer a owl:ObjectProperty ;
38
+ rdfs:domain apagr:AgreementCommitment ;
39
+ rdfs:range ap:Agent ;
40
+ rdfs:label "hasIssuer" ;
41
+ rdfs:comment "The issuer SA whose EIP-712 attestation backs the commitment." .
42
+
43
+ apagr:hasParty a owl:ObjectProperty ;
44
+ rdfs:domain apagr:AgreementCredential ;
45
+ rdfs:range ap:Agent ;
46
+ rdfs:label "hasParty" ;
47
+ rdfs:comment "The two parties to the agreement. Cardinality 2 (enforced by SHACL in agreements package)." .
48
+
49
+ apagr:agreementCommitmentHash a owl:DatatypeProperty ;
50
+ rdfs:domain apagr:AgreementCommitment ;
51
+ rdfs:range xsd:hexBinary ;
52
+ rdfs:label "agreementCommitmentHash" ;
53
+ rdfs:comment "The canonical commitment hash (per spec 241 §3 + IA §10)." .
54
+
55
+ apagr:schemaHash a owl:DatatypeProperty ;
56
+ rdfs:domain apagr:AgreementCommitment ;
57
+ rdfs:range xsd:hexBinary ;
58
+ rdfs:label "schemaHash" ;
59
+ rdfs:comment "Reference to the on-chain ShapeRegistry SHACL shape (PD-12)." .
60
+
61
+ apagr:status a owl:DatatypeProperty ;
62
+ rdfs:domain apagr:AgreementCommitment ;
63
+ rdfs:range xsd:string ;
64
+ rdfs:label "status" ;
65
+ rdfs:comment "ACTIVE | COMPLETED | DISPUTED | REVOKED. Bilateral signing for ACTIVE→COMPLETED/REVOKED; either party for ACTIVE→DISPUTED." .
66
+
67
+ apagr:createdEpochBucket a owl:DatatypeProperty ;
68
+ rdfs:domain apagr:AgreementCommitment ;
69
+ rdfs:range xsd:integer ;
70
+ rdfs:label "createdEpochBucket" ;
71
+ rdfs:comment "Creation time in EPOCH_SECONDS buckets. Raw block.timestamp never stored." .
72
+
73
+ apagr:fromIntentMatch a owl:ObjectProperty ;
74
+ rdfs:domain apagr:AgreementCommitment ;
75
+ rdfs:range apint:IntentMatch ;
76
+ rdfs:label "fromIntentMatch" ;
77
+ rdfs:comment "Optional reference to the IntentMatch (Layer 7) that produced the Commitment input." .
@@ -0,0 +1,135 @@
1
+ # T-box — attestation vocabulary (spine Layers 12–15 credential types).
2
+ # EAS-aligned per ADR-0023. Spec 225 §11.5.
3
+ # Owning runtime SHACL: packages/attestations/src/shapes/credentials.shacl.ttl.
4
+ # All credential types share AttestationRegistry.sol per ADR-0024 Decision 2
5
+ # (architectural inverse of the smart-contract-per-credential anti-pattern).
6
+
7
+ @prefix apatt: <https://agenticprimitives.dev/ns/attestation#> .
8
+ @prefix apvc: <https://agenticprimitives.dev/ns/credential#> .
9
+ @prefix apint: <https://agenticprimitives.dev/ns/intent#> .
10
+ @prefix apagr: <https://agenticprimitives.dev/ns/agreement#> .
11
+ @prefix apful: <https://agenticprimitives.dev/ns/fulfillment#> .
12
+ @prefix ap: <https://agenticprimitives.dev/ns/core#> .
13
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
14
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
15
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
16
+ @prefix prov: <http://www.w3.org/ns/prov#> .
17
+
18
+ apatt: a owl:Ontology ;
19
+ rdfs:label "Agentic Primitives — attestation ontology" ;
20
+ owl:versionInfo "0.1.0" ;
21
+ rdfs:comment "Credential types for layers 12–15. All share one on-chain AttestationRegistry per ADR-0024 Decision 2." .
22
+
23
+ # ─── On-chain row type ────────────────────────────────────────────────
24
+
25
+ apatt:Attestation a owl:Class ;
26
+ rdfs:subClassOf prov:Entity ;
27
+ rdfs:label "Attestation" ;
28
+ rdfs:comment "On-chain row in AttestationRegistry.sol. EAS-aligned: deterministic UID + refUID + EIP-712 + ERC-1271. Per-credential-class discrimination via credentialType. ADR-0023." .
29
+
30
+ # ─── Credential types (Layer 12: Evidence) ────────────────────────────
31
+
32
+ apatt:EvidenceCredential a owl:Class ;
33
+ rdfs:subClassOf apvc:VerifiableCredential ;
34
+ rdfs:label "EvidenceCredential" ;
35
+ rdfs:comment "Holder-asserted evidence credential bound to an Artifact. Holder-only on-chain revoke (D-18 + AR-10). Layer 12." .
36
+
37
+ # ─── Credential types (Layer 13: Outcome) ─────────────────────────────
38
+
39
+ apatt:OutcomeCredential a owl:Class ;
40
+ rdfs:subClassOf apvc:VerifiableCredential ;
41
+ rdfs:label "OutcomeCredential" ;
42
+ rdfs:comment "Outcome credential bound to an Intent. FLF-OUT-1: MUST cite at least one EvidenceCredential UID. Holder-only revoke. Layer 13." .
43
+
44
+ # ─── Credential types (Layer 14: Validation) ──────────────────────────
45
+
46
+ apatt:ValidationCredential a owl:Class ;
47
+ rdfs:subClassOf apvc:VerifiableCredential ;
48
+ rdfs:label "ValidationCredential" ;
49
+ rdfs:comment "Validator's attestation of an Outcome. Validator-type discriminated (human | agent | oracle | TEE | zkML | re-execution per ERC-8004). Validator-only revoke. Layer 14." .
50
+
51
+ apatt:Validator a owl:Class ;
52
+ rdfs:subClassOf ap:Agent ;
53
+ rdfs:label "Validator" ;
54
+ rdfs:comment "An Agent that produces ValidationCredentials. Independence requirement: validator SA ≠ executor SA." .
55
+
56
+ apatt:ValidatorKind a owl:Class ;
57
+ rdfs:label "ValidatorKind" ;
58
+ rdfs:comment "Discriminator: human | agent | oracle | TEE | zkML | re-execution." .
59
+
60
+ # ─── Credential types (Layer 15: TrustUpdate) ─────────────────────────
61
+
62
+ apatt:TrustUpdate a owl:Class ;
63
+ rdfs:subClassOf apvc:VerifiableCredential ;
64
+ rdfs:label "TrustUpdate" ;
65
+ rdfs:comment "Reputation mutation. D-40 hard substrate invariant: MUST cite at least one ValidationCredential UID. Sybil resistance via credential-cost, never KYC. Validator-only revoke. Layer 15." .
66
+
67
+ apatt:AssociationCredential a owl:Class ;
68
+ rdfs:subClassOf apvc:VerifiableCredential ;
69
+ rdfs:label "AssociationCredential" ;
70
+ rdfs:comment "Holder asserts membership/association with an issuer. Holder-only revoke. Substrate-generic; vertical instances (JpAssociationCredential, etc.) compose on top." .
71
+
72
+ # ─── Properties ───────────────────────────────────────────────────────
73
+
74
+ apatt:uid a owl:DatatypeProperty ;
75
+ rdfs:domain apatt:Attestation ;
76
+ rdfs:range xsd:hexBinary ;
77
+ rdfs:label "uid" ;
78
+ rdfs:comment "Deterministic UID per EAS pattern." .
79
+
80
+ apatt:credentialType a owl:DatatypeProperty ;
81
+ rdfs:domain apatt:Attestation ;
82
+ rdfs:range xsd:hexBinary ;
83
+ rdfs:label "credentialType" ;
84
+ rdfs:comment "keccak256 hash discriminator (AssociationCredential / EvidenceCredential / OutcomeCredential / ValidationCredential / TrustUpdate / PaymentReceipt)." .
85
+
86
+ apatt:credentialHash a owl:DatatypeProperty ;
87
+ rdfs:domain apatt:Attestation ;
88
+ rdfs:range xsd:hexBinary ;
89
+ rdfs:label "credentialHash" ;
90
+ rdfs:comment "RFC 8785 JCS canonical hash of off-chain VC body." .
91
+
92
+ apatt:refUID a owl:DatatypeProperty ;
93
+ rdfs:domain apatt:Attestation ;
94
+ rdfs:range xsd:hexBinary ;
95
+ rdfs:label "refUID" ;
96
+ rdfs:comment "EAS-style single back-pointer. Used by JointAgreement to reference AgreementCommitment." .
97
+
98
+ apatt:bilateralConsentRef a owl:DatatypeProperty ;
99
+ rdfs:domain apatt:Attestation ;
100
+ rdfs:range xsd:hexBinary ;
101
+ rdfs:label "bilateralConsentRef" ;
102
+ rdfs:comment "References signatures-bundle hash OR pinned-delegation hash for joint attestations. 0 for unilateral." .
103
+
104
+ apatt:basedOnIntent a owl:ObjectProperty ;
105
+ rdfs:domain apatt:OutcomeCredential ;
106
+ rdfs:range apint:Intent ;
107
+ rdfs:label "basedOnIntent" .
108
+
109
+ apatt:basedOnArtifact a owl:ObjectProperty ;
110
+ rdfs:domain apatt:EvidenceCredential ;
111
+ rdfs:range apful:Artifact ;
112
+ rdfs:label "basedOnArtifact" .
113
+
114
+ apatt:citesEvidence a owl:ObjectProperty ;
115
+ rdfs:domain apatt:OutcomeCredential ;
116
+ rdfs:range apatt:EvidenceCredential ;
117
+ rdfs:label "citesEvidence" ;
118
+ rdfs:comment "FLF-OUT-1: MANDATORY. At least one EvidenceCredential UID citation required." .
119
+
120
+ apatt:citesValidation a owl:ObjectProperty ;
121
+ rdfs:domain apatt:TrustUpdate ;
122
+ rdfs:range apatt:ValidationCredential ;
123
+ rdfs:label "citesValidation" ;
124
+ rdfs:comment "D-40: MANDATORY. TrustUpdate cannot precede ValidationCredential." .
125
+
126
+ apatt:validatorKind a owl:DatatypeProperty ;
127
+ rdfs:domain apatt:ValidationCredential ;
128
+ rdfs:range xsd:string ;
129
+ rdfs:label "validatorKind" .
130
+
131
+ apatt:offchainCredentialStatusList a owl:DatatypeProperty ;
132
+ rdfs:domain apatt:Attestation ;
133
+ rdfs:range xsd:anyURI ;
134
+ rdfs:label "offchainCredentialStatusList" ;
135
+ rdfs:comment "W3C VC StatusList2021 pointer. Holder revocation on-chain ≠ issuer revocation off-chain — independently meaningful." .
@@ -0,0 +1,150 @@
1
+ # T-box — constraint + assumption vocabulary (spine Layer 3).
2
+ # Anoma CSP-shaped + ERC-7683 resolver-assumption pattern.
3
+ # Spec 225 §11.5; D-38 + D-39 + D-43.
4
+ # Owning runtime SHACL: packages/intent-marketplace/src/shapes/constraints.shacl.ttl.
5
+
6
+ @prefix ap: <https://agenticprimitives.dev/ns/core#> .
7
+ @prefix apcst: <https://agenticprimitives.dev/ns/constraint#> .
8
+ @prefix apint: <https://agenticprimitives.dev/ns/intent#> .
9
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
10
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
11
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
12
+ @prefix prov: <http://www.w3.org/ns/prov#> .
13
+
14
+ apcst: a owl:Ontology ;
15
+ rdfs:label "Agentic Primitives — constraint + assumption ontology" ;
16
+ owl:versionInfo "0.1.0" ;
17
+ rdfs:comment "First-class typed constraints (Anoma CSP-shape) + resolver-assumption set (ERC-7683 parallel). Spec 225 §11.5." .
18
+
19
+ # ─── ConstraintSet classes ────────────────────────────────────────────
20
+
21
+ apcst:ConstraintSet a owl:Class ;
22
+ rdfs:label "ConstraintSet" ;
23
+ rdfs:comment "A typed bag of Constraints (hard + soft) + per-field DisclosurePolicy. CSP-shaped. NOT freeform payload (D-38)." .
24
+
25
+ apcst:Constraint a owl:Class ;
26
+ rdfs:label "Constraint" ;
27
+ rdfs:comment "A single typed constraint: variable + domain + source + rationale. Discriminated by domain.kind." .
28
+
29
+ apcst:HardConstraint a owl:Class ;
30
+ rdfs:subClassOf apcst:Constraint ;
31
+ rdfs:label "HardConstraint" ;
32
+ rdfs:comment "Enforceable invariant; matchmaker MUST reject if violated." .
33
+
34
+ apcst:SoftConstraint a owl:Class ;
35
+ rdfs:subClassOf apcst:Constraint ;
36
+ rdfs:label "SoftConstraint" ;
37
+ rdfs:comment "Scorer preference; contributes to composite score (per spec 239 §7.2)." .
38
+
39
+ # ─── Constraint domain classes (CSP-shaped) ───────────────────────────
40
+
41
+ apcst:ConstraintDomain a owl:Class ;
42
+ rdfs:label "ConstraintDomain" ;
43
+ rdfs:comment "Abstract CSP domain. Subclasses: EnumDomain, RangeDomain, SetDomain, PredicateDomain." .
44
+
45
+ apcst:EnumDomain a owl:Class ;
46
+ rdfs:subClassOf apcst:ConstraintDomain ;
47
+ rdfs:label "EnumDomain" ;
48
+ rdfs:comment "Constraint domain over a fixed enumeration of allowed string values." .
49
+
50
+ apcst:RangeDomain a owl:Class ;
51
+ rdfs:subClassOf apcst:ConstraintDomain ;
52
+ rdfs:label "RangeDomain" ;
53
+ rdfs:comment "Constraint domain over a numeric/temporal range [min, max] in a named unit." .
54
+
55
+ apcst:SetDomain a owl:Class ;
56
+ rdfs:subClassOf apcst:ConstraintDomain ;
57
+ rdfs:label "SetDomain" ;
58
+ rdfs:comment "Constraint domain over an allowed-set (optionally with a denied-set)." .
59
+
60
+ apcst:PredicateDomain a owl:Class ;
61
+ rdfs:subClassOf apcst:ConstraintDomain ;
62
+ rdfs:label "PredicateDomain" ;
63
+ rdfs:comment "Constraint domain expressed as a SHACL or JSONPath predicate body." .
64
+
65
+ # ─── AssumptionSet classes (ERC-7683 parallel) ────────────────────────
66
+
67
+ apcst:AssumptionSet a owl:Class ;
68
+ rdfs:label "AssumptionSet" ;
69
+ rdfs:comment "Resolver-asserted assumptions + risks + required validations. Solvers MUST validate before bidding. ERC-7683 pattern." .
70
+
71
+ apcst:NamedAssumption a owl:Class ;
72
+ rdfs:label "NamedAssumption" ;
73
+ rdfs:comment "A specific resolver assumption: name + trustLevel + optional evidence ref." .
74
+
75
+ apcst:ValidationRequirement a owl:Class ;
76
+ rdfs:label "ValidationRequirement" ;
77
+ rdfs:comment "Something that MUST be validated before commitment / payment / fulfillment. Links to Layer 14 (Validation)." .
78
+
79
+ # ─── Properties ───────────────────────────────────────────────────────
80
+
81
+ apcst:variable a owl:DatatypeProperty ;
82
+ rdfs:domain apcst:Constraint ;
83
+ rdfs:range xsd:string ;
84
+ rdfs:label "variable" ;
85
+ rdfs:comment "The CSP variable name (e.g. 'geo', 'requiredCredential', 'capacity')." .
86
+
87
+ apcst:domain a owl:ObjectProperty ;
88
+ rdfs:domain apcst:Constraint ;
89
+ rdfs:range apcst:ConstraintDomain ;
90
+ rdfs:label "domain" .
91
+
92
+ apcst:source a owl:DatatypeProperty ;
93
+ rdfs:domain apcst:Constraint ;
94
+ rdfs:range xsd:string ;
95
+ rdfs:label "source" ;
96
+ rdfs:comment "Constraint source provenance (D-43): 'user-asserted' | 'llm-inferred' | 'policy-imposed'. Inferred + sensitive constraints redactable before publication." .
97
+
98
+ apcst:rationale a owl:DatatypeProperty ;
99
+ rdfs:domain apcst:Constraint ;
100
+ rdfs:range xsd:string ;
101
+ rdfs:label "rationale" ;
102
+ rdfs:comment "Human-readable explanation (esp. for llm-inferred / policy-imposed constraints)." .
103
+
104
+ apcst:strength a owl:DatatypeProperty ;
105
+ rdfs:domain apcst:Constraint ;
106
+ rdfs:range xsd:string ;
107
+ rdfs:label "strength" ;
108
+ rdfs:comment "'hard' | 'soft' — discriminator for HardConstraint vs SoftConstraint subclassing." .
109
+
110
+ apcst:enforcement a owl:DatatypeProperty ;
111
+ rdfs:domain apcst:Constraint ;
112
+ rdfs:range xsd:string ;
113
+ rdfs:label "enforcement" ;
114
+ rdfs:comment "Where the constraint is enforced: 'pre-execution' | 'agreement' | 'ranking' (per AI-engagement-model semantic-caveats pattern)." .
115
+
116
+ apcst:fieldDisclosure a owl:DatatypeProperty ;
117
+ rdfs:domain apcst:ConstraintSet ;
118
+ rdfs:range xsd:string ;
119
+ rdfs:label "fieldDisclosure" ;
120
+ rdfs:comment "JSON-encoded { fieldPath → VisibilityTier } map. Per-field DisclosurePolicy (D-42)." .
121
+
122
+ apcst:resolverId a owl:DatatypeProperty ;
123
+ rdfs:domain apcst:AssumptionSet ;
124
+ rdfs:range xsd:string ;
125
+ rdfs:label "resolverId" ;
126
+ rdfs:comment "The Resolver agent's identifier (version-pinned)." .
127
+
128
+ apcst:trustLevel a owl:DatatypeProperty ;
129
+ rdfs:domain apcst:NamedAssumption ;
130
+ rdfs:range xsd:string ;
131
+ rdfs:label "trustLevel" ;
132
+ rdfs:comment "'asserted' | 'verified' | 'oracle' | 'zkp'." .
133
+
134
+ apcst:risk a owl:DatatypeProperty ;
135
+ rdfs:domain apcst:NamedAssumption ;
136
+ rdfs:range xsd:string ;
137
+ rdfs:label "risk" ;
138
+ rdfs:comment "Human-readable risk tag (e.g. 'inventory', 'sla', 'merchant-trust')." .
139
+
140
+ apcst:evidenceRef a owl:ObjectProperty ;
141
+ rdfs:domain apcst:NamedAssumption ;
142
+ rdfs:range prov:Entity ;
143
+ rdfs:label "evidenceRef" ;
144
+ rdfs:comment "Optional pointer to a VC / attestation backing the assumption." .
145
+
146
+ apcst:expiresAt a owl:DatatypeProperty ;
147
+ rdfs:domain apcst:NamedAssumption ;
148
+ rdfs:range xsd:dateTime ;
149
+ rdfs:label "expiresAt" ;
150
+ rdfs:comment "Assumption validity expiration. Downstream consumers MUST recheck if expired." .