@agenticprimitives/ontology 1.0.0-alpha.22 → 1.0.0-alpha.24

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.
Files changed (74) hide show
  1. package/README.md +11 -0
  2. package/cbox/card-projection-shapes.shacl.ttl +216 -0
  3. package/cbox/controlled-vocabularies.ttl +172 -4
  4. package/cbox/naming-registry-shapes.shacl.ttl +272 -0
  5. package/cbox/org-team-shapes.shacl.ttl +184 -0
  6. package/cbox/registry-vocabulary.ttl +86 -0
  7. package/cbox/run-provenance-shapes.shacl.ttl +172 -0
  8. package/context.jsonld +7 -1
  9. package/dist/arg-types.d.ts +60 -0
  10. package/dist/arg-types.d.ts.map +1 -0
  11. package/dist/arg-types.js +143 -0
  12. package/dist/arg-types.js.map +1 -0
  13. package/dist/artifacts.d.ts +4 -2
  14. package/dist/artifacts.d.ts.map +1 -1
  15. package/dist/artifacts.js +22 -0
  16. package/dist/artifacts.js.map +1 -1
  17. package/dist/contact-fields.d.ts +28 -0
  18. package/dist/contact-fields.d.ts.map +1 -0
  19. package/dist/contact-fields.js +38 -0
  20. package/dist/contact-fields.js.map +1 -0
  21. package/dist/decisions.d.ts +69 -0
  22. package/dist/decisions.d.ts.map +1 -0
  23. package/dist/decisions.js +98 -0
  24. package/dist/decisions.js.map +1 -0
  25. package/dist/household.d.ts +19 -0
  26. package/dist/household.d.ts.map +1 -0
  27. package/dist/household.js +41 -0
  28. package/dist/household.js.map +1 -0
  29. package/dist/index.d.ts +230 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +275 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/party-roles.d.ts +106 -0
  34. package/dist/party-roles.d.ts.map +1 -0
  35. package/dist/party-roles.js +305 -0
  36. package/dist/party-roles.js.map +1 -0
  37. package/dist/plan-shapes.d.ts +18 -0
  38. package/dist/plan-shapes.d.ts.map +1 -0
  39. package/dist/plan-shapes.js +38 -0
  40. package/dist/plan-shapes.js.map +1 -0
  41. package/dist/relations.d.ts +44 -0
  42. package/dist/relations.d.ts.map +1 -0
  43. package/dist/relations.js +104 -0
  44. package/dist/relations.js.map +1 -0
  45. package/dist/run-provenance-context.d.ts +211 -0
  46. package/dist/run-provenance-context.d.ts.map +1 -0
  47. package/dist/run-provenance-context.js +219 -0
  48. package/dist/run-provenance-context.js.map +1 -0
  49. package/dist/vault-records.d.ts +74 -0
  50. package/dist/vault-records.d.ts.map +1 -0
  51. package/dist/vault-records.js +330 -0
  52. package/dist/vault-records.js.map +1 -0
  53. package/mappings/agent-discovery-standards.ttl +24 -3
  54. package/mappings/collaboration-crosswalk-organization.ttl +22 -0
  55. package/mappings/collaboration-crosswalk-skills.ttl +5 -0
  56. package/package.json +4 -2
  57. package/run-provenance.jsonld +106 -0
  58. package/tbox/actor-context.ttl +11 -0
  59. package/tbox/agent-resolution.ttl +6 -6
  60. package/tbox/card-projection.ttl +350 -0
  61. package/tbox/contact.ttl +61 -0
  62. package/tbox/context.ttl +114 -0
  63. package/tbox/coordination.ttl +17 -0
  64. package/tbox/core.ttl +232 -12
  65. package/tbox/execution.ttl +168 -0
  66. package/tbox/household.ttl +142 -0
  67. package/tbox/interaction.ttl +13 -0
  68. package/tbox/naming.ttl +114 -0
  69. package/tbox/org.ttl +188 -4
  70. package/tbox/profile.ttl +7 -0
  71. package/tbox/prov-imports.ttl +65 -0
  72. package/tbox/registry.ttl +159 -4
  73. package/tbox/skills.ttl +62 -0
  74. package/tbox/values.ttl +81 -0
package/tbox/skills.ttl CHANGED
@@ -252,3 +252,65 @@ aps:deferredContractRationale a owl:DatatypeProperty ;
252
252
  rdfs:domain aps:CapabilityDefinition ; rdfs:range xsd:string ;
253
253
  rdfs:label "deferredContractRationale" ;
254
254
  rdfs:comment "Required when contractStatus = 'deferred': one line naming the evidence that would make a contract enforceable." .
255
+
256
+ # ─── Taxonomy mappings — AP capability → external taxon, SKOS-typed (spec 347 §5; ADR-0062) ──
257
+ # capability-claims SkillTaxonomyMappingV1 { apSkillId, taxonomy, taxonomyVersion, targetClassId,
258
+ # relation, assertedBy, assertedAt, evidence? }. `relation` IS a SKOS mapping relation:
259
+ # exact → skos:exactMatch close → skos:closeMatch
260
+ # broad → skos:broadMatch narrow → skos:narrowMatch
261
+ # (capability-claims `skosRelationFor`). AP ids stay canonical; the taxon is a projection target. A
262
+ # taxonomy VERSION change makes the mapping review-required — it is never silently reused. `broad` /
263
+ # `narrow` without evidence is an evidenceNeeded diagnostic: an inexact alignment must be auditable.
264
+ # Evidence, never authority — classification is never possession (architecture §2 axiom 4).
265
+
266
+ aps:SkillTaxonomyMapping a owl:Class ;
267
+ rdfs:subClassOf prov:Entity ;
268
+ rdfs:label "SkillTaxonomyMapping" ;
269
+ rdfs:comment "One asserted alignment of an aps:Capability (by its stable id) with a class in an external taxonomy (OASF, HCS-14, …) at a pinned taxonomy version. Reified so the asserter, time, evidence and version are recorded; the SKOS triple it stands for is aps:Capability <aps:taxonomyRelation-as-SKOS> <taxon>. TS: SkillTaxonomyMappingV1 (capability-claims)." .
270
+
271
+ aps:mapsCapability a owl:ObjectProperty ;
272
+ rdfs:domain aps:SkillTaxonomyMapping ; rdfs:range aps:Capability ;
273
+ rdfs:label "mapsCapability" .
274
+
275
+ aps:taxonomy a owl:DatatypeProperty ;
276
+ rdfs:domain aps:SkillTaxonomyMapping ; rdfs:range xsd:string ;
277
+ rdfs:label "taxonomy" ;
278
+ rdfs:comment "'oasf' | 'hcs14' | any taxonomy family name." .
279
+
280
+ aps:taxonomyVersion a owl:DatatypeProperty ;
281
+ rdfs:domain aps:SkillTaxonomyMapping ; rdfs:range xsd:string ;
282
+ rdfs:label "taxonomyVersion" ;
283
+ rdfs:comment "Pinned. A different requested version yields status review-required, never current." .
284
+
285
+ aps:targetClassId a owl:DatatypeProperty ;
286
+ rdfs:domain aps:SkillTaxonomyMapping ; rdfs:range xsd:string ;
287
+ rdfs:label "targetClassId" .
288
+
289
+ aps:taxonomyRelation a owl:DatatypeProperty ;
290
+ rdfs:domain aps:SkillTaxonomyMapping ; rdfs:range xsd:string ;
291
+ rdfs:label "taxonomyRelation" ;
292
+ rdfs:seeAlso skos:exactMatch, skos:closeMatch, skos:broadMatch, skos:narrowMatch ;
293
+ rdfs:comment "exact | close | broad | narrow — each names the SKOS mapping property the reified mapping stands for (skos:exactMatch / closeMatch / broadMatch / narrowMatch)." .
294
+
295
+ aps:mappingAssertedBy a owl:ObjectProperty ;
296
+ rdfs:domain aps:SkillTaxonomyMapping ; rdfs:range ap:CanonicalAgentId ;
297
+ rdfs:label "mappingAssertedBy" .
298
+
299
+ aps:mappingAssertedAt a owl:DatatypeProperty ;
300
+ rdfs:domain aps:SkillTaxonomyMapping ; rdfs:range xsd:dateTime ;
301
+ rdfs:label "mappingAssertedAt" .
302
+
303
+ # ── The playbook a Home agent runs under (spec 354) ───────────────────────────────────────────────
304
+ # An archetype compiled to an AgentHarnessDefinitionV1, ASSIGNED to an agent as a vault record. This is
305
+ # the record that makes "set this agent to the Treasury archetype" real: behavior, pinned by digest,
306
+ # approval-gated. NEVER authority — assigning it moves no grant; it changes what the agent knows how to
307
+ # do, and the mandate still decides what it may do (spec 354 §1).
308
+ aps:ArchetypeAssignment a rdfs:Class ;
309
+ rdfs:label "ArchetypeAssignment" ;
310
+ rdfs:comment "Which compiled playbook (archetype + version + definition digest) an agent runs under, held in the agent's own vault and pinned by digest. Behavior, not authority: it says what the agent knows how to do; the mandate says what it may do. Approval-gated (editor ≠ approver ≠ writer)." .
311
+
312
+ aps:assignedArchetype a rdf:Property ; rdfs:domain aps:ArchetypeAssignment ; rdfs:range aps:AgentArchetype ;
313
+ rdfs:label "assignedArchetype" ; rdfs:comment "The archetype's canonical skill id." .
314
+
315
+ aps:definitionDigest a rdf:Property ; rdfs:domain aps:ArchetypeAssignment ;
316
+ rdfs:label "definitionDigest" ; rdfs:comment "The compiled definition's digest — what run admission verifies before it trusts the behavior." .
@@ -0,0 +1,81 @@
1
+ # T-box — WHAT AN ARGUMENT IS, when it is not a party (spec 363 W2).
2
+ #
3
+ # `PARTY_ROLES` already says what an argument's PARTY may be — a payer is a Treasury or an Organization,
4
+ # an invitee is a Person (or, since spec 372, a Service agent). Nothing said what the REST of an argument is, so every argument that was not an
5
+ # agent was a string, and every branch that touched one re-invented how to read it.
6
+ #
7
+ # THAT COST REAL MONEY. Asked to send 20 USDC a planner wrote `amount: "20"` into a smallest-units field
8
+ # and twenty base units settled — 0.00002 dollars — under a mandate every gate approved. A person who
9
+ # answered "10 usdc" to "how much?" was silently re-asked, because one branch's regex wanted bare digits.
10
+ # A request for "a way to reach your treasury" was sent to somebody being invited to a TEAM, because the
11
+ # kind of thing wanted had no declared value set and defaulted to the only one the code knew.
12
+ #
13
+ # Each of those is one question: WHAT KIND OF VALUE IS THIS, and who is allowed to say. These terms are
14
+ # the answer, and `packages/ontology/src/arg-types.ts` binds arguments to them with ONE reader each — so
15
+ # a person's phrasing is understood identically wherever they typed it, and a refusal always names what
16
+ # it could not read instead of asking the same question again.
17
+
18
+ @prefix apval: <https://agenticprimitives.dev/ns/value#> .
19
+ @prefix ap: <https://agenticprimitives.dev/ns/core#> .
20
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
21
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
22
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
23
+ @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
24
+
25
+ apval: a owl:Ontology ;
26
+ rdfs:label "Agentic Primitives — Argument values" ;
27
+ rdfs:comment "The kinds of value a capability argument can hold when it is not an agent: a quantity, an asset, an address for mail, a label, a flag, a kind of agent. One term, one reader (spec 363 §3)." .
28
+
29
+ apval:Value a owl:Class ;
30
+ rdfs:label "Value" ;
31
+ rdfs:comment "A capability argument that is not a party. Its TYPE says how it is read and what a refusal may say." .
32
+
33
+ apval:Amount a owl:Class ;
34
+ rdfs:subClassOf apval:Value ;
35
+ rdfs:label "Amount" ;
36
+ rdfs:comment """A quantity OF SOMETHING, said the way people say it: "20", "12.50", "10 usdc", "$10",
37
+ "1,000". A currency word or symbol beside a figure adds no information a single-asset deployment
38
+ does not already have, and a thousands comma is punctuation — so all of those read. "10,50" and
39
+ "a tenner" do NOT, and the honest response is to name what could not be read.
40
+
41
+ SMALLEST UNITS ARE NOT AN AMOUNT, they are a REPRESENTATION. Only a caller that computed them (a
42
+ form, a script) may state them; a planner repeating what a person said may not, because it has no
43
+ basis for the conversion and getting it wrong moves the wrong money silently.""" .
44
+
45
+ apval:Asset a owl:Class ;
46
+ rdfs:subClassOf apval:Value ;
47
+ rdfs:label "Asset" ;
48
+ rdfs:comment """The token a quantity is IN. A deployment fact, not a planner's to recall: asked to
49
+ send USDC a model wrote Base Sepolia's token address from memory — well-formed, and wrong for this
50
+ chain. Read as an address, or as a symbol this deployment actually configures.""" .
51
+
52
+ apval:EmailAddress a owl:Class ;
53
+ rdfs:subClassOf apval:Value ;
54
+ rdfs:label "EmailAddress" ;
55
+ rdfs:comment "Where someone's mail goes. Checked for shape before it is stored, because a malformed one is discovered later by whoever tried to write to it." .
56
+
57
+ apval:DisplayLabel a owl:Class ;
58
+ rdfs:subClassOf apval:Value ;
59
+ rdfs:label "DisplayLabel" ;
60
+ rdfs:comment "A short human string shown back to people — a name for a treasury, what someone calls a household member. Trimmed and bounded; never markup, never a control character." .
61
+
62
+ apval:Flag a owl:Class ;
63
+ rdfs:subClassOf apval:Value ;
64
+ rdfs:label "Flag" ;
65
+ rdfs:comment "A yes/no the person actually said. \"true\", \"yes\", \"on\" and their opposites read; anything else is not an answer and is asked again." .
66
+
67
+ apval:AgentKind a owl:Class ;
68
+ rdfs:subClassOf apval:Value ;
69
+ rdfs:label "AgentKind" ;
70
+ rdfs:comment """WHICH KIND of agent an argument names — a treasury, an organization, a team. Its
71
+ values are the derived agent TYPES (ADR-0061), so the vocabulary is the one `CLASS_FOR_SUFFIX`
72
+ already binds rather than a second list.
73
+
74
+ IT HAS NO DEFAULT, and that is the point. `wants ?? 'treasury'` sent somebody being invited to a
75
+ team a request for a way to reach their treasury: two unrelated sentences stapled together, and
76
+ nothing he could act on. A kind that was not said is asked for.""" .
77
+
78
+ apval:valueType a owl:ObjectProperty ;
79
+ rdfs:domain ap:Agent ; rdfs:range apval:Value ;
80
+ rdfs:label "valueType" ;
81
+ rdfs:comment "Binds a capability argument to the kind of value it holds. Consumed by the compiled ARG_TYPES table; a binding whose term this T-box does not declare fails the build." .