@agenticprimitives/ontology 1.0.0-alpha.4 → 1.0.0-alpha.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +59 -21
  2. package/cbox/agent-facet-shapes.shacl.ttl +130 -0
  3. package/cbox/capability-catalog-shapes.shacl.ttl +284 -0
  4. package/cbox/card-projection-shapes.shacl.ttl +216 -0
  5. package/cbox/consultation-shapes.shacl.ttl +85 -0
  6. package/cbox/content-vocabulary.ttl +52 -0
  7. package/cbox/controlled-vocabularies.ttl +224 -4
  8. package/cbox/discovery-graph-shapes.shacl.ttl +284 -0
  9. package/cbox/familyoffice-shapes.shacl.ttl +92 -0
  10. package/cbox/familyoffice-vocabulary.ttl +48 -0
  11. package/cbox/geo-vocabulary.ttl +36 -0
  12. package/cbox/guidance-vocabulary.ttl +22 -0
  13. package/cbox/interaction-shapes.shacl.ttl +218 -0
  14. package/cbox/interaction-vocabulary.ttl +159 -0
  15. package/cbox/judgment-shapes.shacl.ttl +83 -0
  16. package/cbox/naming-registry-shapes.shacl.ttl +272 -0
  17. package/cbox/org-team-shapes.shacl.ttl +184 -0
  18. package/cbox/privacy-credential-shapes.shacl.ttl +187 -0
  19. package/cbox/profile-facet-vocabulary.ttl +50 -0
  20. package/cbox/registry-vocabulary.ttl +86 -0
  21. package/cbox/run-measures-shapes.shacl.ttl +59 -0
  22. package/cbox/run-provenance-shapes.shacl.ttl +264 -0
  23. package/cbox/scope-vocabulary.ttl +112 -0
  24. package/cbox/skill-grounding-vocabulary.ttl +18 -0
  25. package/cbox/skill-vocabulary.ttl +50 -0
  26. package/context.jsonld +37 -1
  27. package/dist/arg-types.d.ts +60 -0
  28. package/dist/arg-types.d.ts.map +1 -0
  29. package/dist/arg-types.js +143 -0
  30. package/dist/arg-types.js.map +1 -0
  31. package/dist/artifacts.d.ts +9 -2
  32. package/dist/artifacts.d.ts.map +1 -1
  33. package/dist/artifacts.js +153 -2
  34. package/dist/artifacts.js.map +1 -1
  35. package/dist/contact-fields.d.ts +28 -0
  36. package/dist/contact-fields.d.ts.map +1 -0
  37. package/dist/contact-fields.js +38 -0
  38. package/dist/contact-fields.js.map +1 -0
  39. package/dist/decisions.d.ts +69 -0
  40. package/dist/decisions.d.ts.map +1 -0
  41. package/dist/decisions.js +98 -0
  42. package/dist/decisions.js.map +1 -0
  43. package/dist/evaluation-context.d.ts +134 -0
  44. package/dist/evaluation-context.d.ts.map +1 -0
  45. package/dist/evaluation-context.js +136 -0
  46. package/dist/evaluation-context.js.map +1 -0
  47. package/dist/governance.d.ts +84 -0
  48. package/dist/governance.d.ts.map +1 -0
  49. package/dist/governance.js +88 -0
  50. package/dist/governance.js.map +1 -0
  51. package/dist/grounded-vocabulary.d.ts +29 -0
  52. package/dist/grounded-vocabulary.d.ts.map +1 -0
  53. package/dist/grounded-vocabulary.js +110 -0
  54. package/dist/grounded-vocabulary.js.map +1 -0
  55. package/dist/household.d.ts +19 -0
  56. package/dist/household.d.ts.map +1 -0
  57. package/dist/household.js +41 -0
  58. package/dist/household.js.map +1 -0
  59. package/dist/index.d.ts +1091 -3
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1323 -5
  62. package/dist/index.js.map +1 -1
  63. package/dist/outcomes.d.ts +47 -0
  64. package/dist/outcomes.d.ts.map +1 -0
  65. package/dist/outcomes.js +40 -0
  66. package/dist/outcomes.js.map +1 -0
  67. package/dist/participant-vocabulary.d.ts +57 -0
  68. package/dist/participant-vocabulary.d.ts.map +1 -0
  69. package/dist/participant-vocabulary.js +66 -0
  70. package/dist/participant-vocabulary.js.map +1 -0
  71. package/dist/party-roles.d.ts +115 -0
  72. package/dist/party-roles.d.ts.map +1 -0
  73. package/dist/party-roles.js +343 -0
  74. package/dist/party-roles.js.map +1 -0
  75. package/dist/payload-classes.d.ts +22 -0
  76. package/dist/payload-classes.d.ts.map +1 -0
  77. package/dist/payload-classes.js +30 -0
  78. package/dist/payload-classes.js.map +1 -0
  79. package/dist/plan-shapes.d.ts +18 -0
  80. package/dist/plan-shapes.d.ts.map +1 -0
  81. package/dist/plan-shapes.js +38 -0
  82. package/dist/plan-shapes.js.map +1 -0
  83. package/dist/principles.generated.d.ts +11 -0
  84. package/dist/principles.generated.d.ts.map +1 -0
  85. package/dist/principles.generated.js +293 -0
  86. package/dist/principles.generated.js.map +1 -0
  87. package/dist/published-works.d.ts +13 -0
  88. package/dist/published-works.d.ts.map +1 -0
  89. package/dist/published-works.js +18 -0
  90. package/dist/published-works.js.map +1 -0
  91. package/dist/relations.d.ts +44 -0
  92. package/dist/relations.d.ts.map +1 -0
  93. package/dist/relations.js +104 -0
  94. package/dist/relations.js.map +1 -0
  95. package/dist/run-measures-context.d.ts +74 -0
  96. package/dist/run-measures-context.d.ts.map +1 -0
  97. package/dist/run-measures-context.js +77 -0
  98. package/dist/run-measures-context.js.map +1 -0
  99. package/dist/run-provenance-context.d.ts +315 -0
  100. package/dist/run-provenance-context.d.ts.map +1 -0
  101. package/dist/run-provenance-context.js +323 -0
  102. package/dist/run-provenance-context.js.map +1 -0
  103. package/dist/transitions.d.ts +42 -0
  104. package/dist/transitions.d.ts.map +1 -0
  105. package/dist/transitions.js +100 -0
  106. package/dist/transitions.js.map +1 -0
  107. package/dist/vault-records.d.ts +74 -0
  108. package/dist/vault-records.d.ts.map +1 -0
  109. package/dist/vault-records.js +777 -0
  110. package/dist/vault-records.js.map +1 -0
  111. package/dist/versions.generated.d.ts +262 -0
  112. package/dist/versions.generated.d.ts.map +1 -0
  113. package/dist/versions.generated.js +318 -0
  114. package/dist/versions.generated.js.map +1 -0
  115. package/evaluation.jsonld +133 -0
  116. package/mappings/actor-context-standards.ttl +89 -0
  117. package/mappings/agent-discovery-standards.ttl +127 -0
  118. package/mappings/collaboration-crosswalk-actors.ttl +30 -0
  119. package/mappings/collaboration-crosswalk-authority.ttl +31 -0
  120. package/mappings/collaboration-crosswalk-guidance.ttl +29 -0
  121. package/mappings/collaboration-crosswalk-intent.ttl +29 -0
  122. package/mappings/collaboration-crosswalk-messaging.ttl +37 -0
  123. package/mappings/collaboration-crosswalk-organization.ttl +66 -0
  124. package/mappings/collaboration-crosswalk-protocols.ttl +49 -0
  125. package/mappings/collaboration-crosswalk-skills.ttl +50 -0
  126. package/mappings/collaboration-profile.ttl +82 -0
  127. package/mappings/commerce-engagement-crosswalk.ttl +83 -0
  128. package/mappings/spine-standards.ttl +83 -0
  129. package/package.json +31 -9
  130. package/run-measures.jsonld +34 -0
  131. package/run-provenance.jsonld +314 -0
  132. package/tbox/actor-context.ttl +145 -0
  133. package/tbox/agent-resolution.ttl +308 -0
  134. package/tbox/agreement.ttl +77 -0
  135. package/tbox/attestation.ttl +156 -0
  136. package/tbox/card-projection.ttl +350 -0
  137. package/tbox/constraints.ttl +150 -0
  138. package/tbox/contact.ttl +61 -0
  139. package/tbox/content.ttl +76 -0
  140. package/tbox/context.ttl +508 -0
  141. package/tbox/coordination.ttl +263 -0
  142. package/tbox/core.ttl +325 -7
  143. package/tbox/dcat-imports.ttl +19 -0
  144. package/tbox/discovery.ttl +273 -0
  145. package/tbox/dqv-imports.ttl +29 -0
  146. package/tbox/earl-imports.ttl +32 -0
  147. package/tbox/engagement.ttl +349 -0
  148. package/tbox/entitlement.ttl +41 -0
  149. package/tbox/estate.ttl +78 -0
  150. package/tbox/evaluation.ttl +330 -0
  151. package/tbox/execution.ttl +720 -0
  152. package/tbox/familyoffice.ttl +87 -0
  153. package/tbox/fulfillment.ttl +140 -0
  154. package/tbox/geo.ttl +28 -0
  155. package/tbox/governance.ttl +67 -0
  156. package/tbox/guidance.ttl +40 -0
  157. package/tbox/household.ttl +142 -0
  158. package/tbox/identity.ttl +133 -6
  159. package/tbox/inference.ttl +177 -0
  160. package/tbox/intents.ttl +241 -0
  161. package/tbox/interaction.ttl +297 -0
  162. package/tbox/messaging.ttl +244 -0
  163. package/tbox/naming.ttl +114 -0
  164. package/tbox/org.ttl +410 -0
  165. package/tbox/payload.ttl +94 -0
  166. package/tbox/payment.ttl +124 -0
  167. package/tbox/plan.ttl +169 -0
  168. package/tbox/principles.ttl +212 -0
  169. package/tbox/privacy-credential.ttl +436 -0
  170. package/tbox/profile.ttl +107 -0
  171. package/tbox/prov-imports.ttl +73 -0
  172. package/tbox/registry.ttl +382 -0
  173. package/tbox/resolution.ttl +108 -0
  174. package/tbox/scope.ttl +59 -0
  175. package/tbox/security-exposure.ttl +102 -0
  176. package/tbox/situation.ttl +56 -0
  177. package/tbox/skills.ttl +316 -0
  178. package/tbox/skos-imports.ttl +54 -0
  179. package/tbox/transition.ttl +63 -0
  180. package/tbox/trust.ttl +210 -0
  181. package/tbox/values.ttl +81 -0
  182. package/tbox/verification-receipt.ttl +134 -0
  183. package/versions.adoption.json +173 -0
package/dist/index.js CHANGED
@@ -17,13 +17,20 @@
17
17
  // `node:url`/the filesystem) live in the `@agenticprimitives/ontology/artifacts`
18
18
  // subpath — import those only server-side.
19
19
  /** Bumped on any breaking change to the shipped vocabulary. */
20
- export const ONTOLOGY_VERSION = '0.1.0';
20
+ export const ONTOLOGY_VERSION = '0.2.0';
21
21
  /**
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,100 @@ 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
+ approf: 'https://agenticprimitives.dev/ns/profile#',
44
+ // Phase-1.5 (v2 coordination substrate spine; spec 225 §11.5)
45
+ apint: 'https://agenticprimitives.dev/ns/intent#',
46
+ apcst: 'https://agenticprimitives.dev/ns/constraint#',
47
+ apres: 'https://agenticprimitives.dev/ns/resolution#',
48
+ apagr: 'https://agenticprimitives.dev/ns/agreement#',
49
+ appay: 'https://agenticprimitives.dev/ns/payment#',
50
+ apful: 'https://agenticprimitives.dev/ns/fulfillment#',
51
+ apatt: 'https://agenticprimitives.dev/ns/attestation#',
52
+ apvc: 'https://agenticprimitives.dev/ns/verifiable-credential#',
53
+ // Generic skills + geo substrate (spec 251)
54
+ aps: 'https://agenticprimitives.dev/ns/skill#',
55
+ apg: 'https://agenticprimitives.dev/ns/geo#',
56
+ // Generic verifiable-content substrate (spec 266) — content is scheme-anchored,
57
+ // NOT a Smart Agent facet (ADR-0033). Zero vertical/faith vocabulary.
58
+ apcnt: 'https://agenticprimitives.dev/ns/content#',
59
+ // Discovery / registry / GraphDB A-box substrate (spec 279)
60
+ apreg: 'https://agenticprimitives.dev/ns/registry#',
61
+ apdisc: 'https://agenticprimitives.dev/ns/discovery#',
62
+ apsec: 'https://agenticprimitives.dev/ns/security-exposure#',
63
+ aptrust: 'https://agenticprimitives.dev/ns/trust#',
64
+ // Verification-receipt provenance, PROV-O-grounded (spec 303; tbox/verification-receipt.ttl)
65
+ apvr: 'https://agenticprimitives.dev/ns/verification-receipt#',
66
+ // AP-Scope-V1 (spec 308; tbox/scope.ttl + cbox/scope-vocabulary.ttl)
67
+ apscope: 'https://agenticprimitives.dev/ns/scope#',
68
+ // Messaging / interaction substrate (spec 322 §3; tbox/messaging.ttl). Durable ARTIFACTS only —
69
+ // projections get no classes. Distinct from apful (task messages) and apix (interaction semantics).
70
+ apmsg: 'https://agenticprimitives.dev/ns/messaging#',
71
+ // Situation / DnS substrate (spec 324 §4; tbox/situation.ttl)
72
+ apsit: 'https://agenticprimitives.dev/ns/situation#',
73
+ // FamilyOffice domain ontology (New City AI; tbox/familyoffice.ttl + cbox/familyoffice-vocabulary.ttl):
74
+ // the family-office organization + its member relationships (kinship/guardianship/ownership) as Situations.
75
+ apfo: 'https://agenticprimitives.dev/ns/familyoffice#',
76
+ // Generic runtime entitlements (spec 324 §11; tbox/entitlement.ttl) — distinct from apcnt:Entitlement
77
+ apent: 'https://agenticprimitives.dev/ns/entitlement#',
78
+ // Agentic Interaction — the canonical bounded context (spec 340; ADR-0058; tbox/interaction.ttl)
79
+ apix: 'https://agenticprimitives.dev/ns/interaction#',
80
+ // Collaboration interoperability profile (spec 325; mappings/collaboration-*.ttl)
81
+ apcollab: 'https://agenticprimitives.dev/ns/collaboration#',
82
+ // Agent guidance — IDE SKILL.md / CLAUDE.md (ADR-0050); NOT aps: executable skills
83
+ apguide: 'https://agenticprimitives.dev/ns/guidance#',
84
+ // Orthogonal context facets + capability-map views (spec 330 W0 §4, unparked by spec 331;
85
+ // tbox/context.ttl). Classification only — a facet is never identity and never authority.
86
+ apctx: 'https://agenticprimitives.dev/ns/context#',
87
+ // Actor context + portable authority chain (spec 326; ADR-0052; tbox/actor-context.ttl). Dual-grounded to
88
+ // web2 IAM/legal + web3 ERC/CAIP in mappings/actor-context-standards.ttl. Context/evidence, never authority.
89
+ apactor: 'https://agenticprimitives.dev/ns/actor#',
90
+ // Execution plane (spec 330 §8 W0 subset; tbox/execution.ttl) — activities that realize
91
+ // capabilities, the runtimes answerable for them, and completion conditions. Evidence, never
92
+ // authority: no gate reads an apexec: record.
93
+ apexec: 'https://agenticprimitives.dev/ns/execution#',
94
+ apinf: 'https://agenticprimitives.dev/ns/inference#',
95
+ // Execution ROLES (tbox/execution.ttl) — the capacity an agent functioned in (prov:hadRole).
96
+ // A role is never a permission (architecture §6).
97
+ aprole: 'https://agenticprimitives.dev/ns/role#',
98
+ // Coordination plane (spec 332; ADR-0054; tbox/coordination.ttl) — the durable Endeavor,
99
+ // shared CoordinationPlan, and participation lifecycle. ALLOCATION IS NEVER AUTHORITY:
100
+ // no gate reads an apcoord: record.
101
+ apcoord: 'https://agenticprimitives.dev/ns/coordination#',
102
+ // Intent engagement plane (spec 336; tbox/engagement.ttl) — pre-task provider qualification:
103
+ // intent projections, probes/responses, fulfillment offers, mandates, execution credentials,
104
+ // receipts. NINE OF THE TEN CHAIN STEPS GRANT NOTHING: only apeng:Mandate grants authority
105
+ // (a per-intent projection of a standing apdel:Delegation); the offer commits, never authorizes.
106
+ apeng: 'https://agenticprimitives.dev/ns/engagement#',
107
+ // Estate projection (spec 410 §4; tbox/estate.ttl) — what an estate vouches for on neutral ground and
108
+ // the OPENING it keeps. The roots are public; the openings are the estate's own record, which is why
109
+ // they are a vault record and not a cache (ADR-0055). Evidence, never authority: inclusion says a grant
110
+ // was live when the tree was last built, never that a party may act.
111
+ apest: 'https://agenticprimitives.dev/ns/estate#',
112
+ // Anonymous credentials (specs 304 / 305 / 442 §7.2 / 443 W5; tbox/privacy-credential.ttl) — issuer-key facets,
113
+ // holder-bound credentials, proof requests and predicate programs, zero-knowledge presentations with their
114
+ // nullifier and status, the issuer's live-credential row, the presentation mandate, the predicate as admission
115
+ // evidence. PROOF IS EVIDENCE, THE MANDATE IS AUTHORITY, THE RECEIPT BINDS THE TWO: no gate reads an appc:
116
+ // record as a permission, and no property leads from a pairwise account or a presentation to the person.
117
+ appc: 'https://agenticprimitives.dev/ns/privacy-credential#',
118
+ };
119
+ /**
120
+ * EXTERNAL namespaces the substrate emits terms under (not AP-owned, so not in {@link NS} —
121
+ * the NS invariant is "every namespace is under agenticprimitives.dev/ns/").
122
+ * P-Plan grounding: spec 332 §4; tbox/plan.ttl.
123
+ */
124
+ export const EXTERNAL_NS = {
125
+ pplan: 'http://purl.org/net/p-plan#',
126
+ prov: 'http://www.w3.org/ns/prov#',
127
+ // EP-PLAN (https://w3id.org/ep-plan) — the published PROV/P-PLAN extension for linking plans
128
+ // to their execution traces: trace bundles, constraints + satisfied/violated evaluation facts,
129
+ // objectives, and step→plan decomposition (the CoordinationPlan→ExecutionPlan compile bridge).
130
+ // Imported subset declared in tbox/plan.ttl; permission-flavored EP-PLAN terms are deliberately
131
+ // NOT imported (a plan is never authority).
132
+ epplan: 'https://w3id.org/ep-plan#',
36
133
  };
37
134
  /** Class IRIs (T-box). Each is `<namespace><LocalName>`. */
38
135
  export const CLASS = {
136
+ // Phase-1
39
137
  Agent: `${NS.ap}Agent`,
40
138
  CanonicalAgentId: `${NS.ap}CanonicalAgentId`,
41
139
  Facet: `${NS.ap}Facet`,
@@ -43,10 +141,431 @@ export const CLASS = {
43
141
  CredentialFacet: `${NS.apcr}CredentialFacet`,
44
142
  NameFacet: `${NS.apnam}NameFacet`,
45
143
  OidcSubject: `${NS.apid}OidcSubject`,
46
- Org: `${NS.aporg}Org`,
144
+ // Agent-kind taxonomy (tbox/core.ttl; ADR-0046 + ADR-0061). THREE CLOSED ROOTS aligned to PROV-O in
145
+ // core itself (PersonAgent ⊑ prov:Person, OrganizationAgent ⊑ prov:Organization, ApplicationAgent ⊑
146
+ // prov:SoftwareAgent — the root the wire value 'service' names), then a DERIVED-TYPE layer under
147
+ // them (spec 346 §2.1). A derived type lives in the profile/kind record (ap:agentType), never in
148
+ // AgentType; a name suffix names it and is checked against the record, never the reverse.
149
+ PersonAgent: `${NS.ap}PersonAgent`,
150
+ OrganizationAgent: `${NS.ap}OrganizationAgent`,
151
+ ApplicationAgent: `${NS.ap}ApplicationAgent`,
152
+ /** Re-seated ⊑ ApplicationAgent (was ⊑ Agent). */
153
+ ServiceAgent: `${NS.ap}ServiceAgent`,
154
+ /** ⊑ OrganizationAgent — a CHARTERED team (spec 344 §1.1); named by `.team`. */
155
+ TeamAgent: `${NS.ap}TeamAgent`,
156
+ /** ⊑ OrganizationAgent — organizations as members (spec 344 §1.4); `.alliance` reserved, inactive. */
157
+ AllianceAgent: `${NS.ap}AllianceAgent`,
158
+ /** ⊑ ServiceAgent — the workspace's agentive face; named by `.workspace` (ADR-0061 §4). */
159
+ WorkspaceAgent: `${NS.ap}WorkspaceAgent`,
160
+ Treasury: `${NS.ap}Treasury`,
161
+ /** ⊑ ServiceAgent — the SA that OPERATES an apreg:Registry; named by `.registry`. */
162
+ RegistryAgent: `${NS.ap}RegistryAgent`,
163
+ CircleAgent: `${NS.ap}CircleAgent`,
164
+ ChurchAgent: `${NS.ap}ChurchAgent`,
165
+ // Phase-1.5: intent layer
166
+ Desire: `${NS.apint}Desire`,
167
+ Intent: `${NS.apint}Intent`,
168
+ GiveIntent: `${NS.apint}GiveIntent`,
169
+ ReceiveIntent: `${NS.apint}ReceiveIntent`,
170
+ ActionIntent: `${NS.apint}ActionIntent`,
171
+ InvokeSkillIntent: `${NS.apint}InvokeSkillIntent`,
172
+ PerformTaskIntent: `${NS.apint}PerformTaskIntent`,
173
+ InformationIntent: `${NS.apint}InformationIntent`,
174
+ QueryIntent: `${NS.apint}QueryIntent`,
175
+ SubscribeIntent: `${NS.apint}SubscribeIntent`,
176
+ RelationshipIntent: `${NS.apint}RelationshipIntent`,
177
+ JoinOrganizationIntent: `${NS.apint}JoinOrganizationIntent`,
178
+ LeaveOrganizationIntent: `${NS.apint}LeaveOrganizationIntent`,
179
+ AssignRoleIntent: `${NS.apint}AssignRoleIntent`,
180
+ // spec 329 — a routed org→member discussion consult (Layer-2 description; A2A task rail executes)
181
+ ConsultationIntent: `${NS.apint}ConsultationIntent`,
182
+ ResourceExchangeIntent: `${NS.apint}ResourceExchangeIntent`,
183
+ MatchInitiation: `${NS.apint}MatchInitiation`,
184
+ IntentMatch: `${NS.apint}IntentMatch`,
185
+ Commitment: `${NS.apint}Commitment`,
186
+ Proposal: `${NS.apint}Proposal`,
187
+ SolverBid: `${NS.apint}SolverBid`,
188
+ // Phase-1.5: constraint layer
189
+ ConstraintSet: `${NS.apcst}ConstraintSet`,
190
+ Constraint: `${NS.apcst}Constraint`,
191
+ HardConstraint: `${NS.apcst}HardConstraint`,
192
+ SoftConstraint: `${NS.apcst}SoftConstraint`,
193
+ ConstraintDomain: `${NS.apcst}ConstraintDomain`,
194
+ EnumDomain: `${NS.apcst}EnumDomain`,
195
+ RangeDomain: `${NS.apcst}RangeDomain`,
196
+ SetDomain: `${NS.apcst}SetDomain`,
197
+ PredicateDomain: `${NS.apcst}PredicateDomain`,
198
+ AssumptionSet: `${NS.apcst}AssumptionSet`,
199
+ NamedAssumption: `${NS.apcst}NamedAssumption`,
200
+ ValidationRequirement: `${NS.apcst}ValidationRequirement`,
201
+ // Phase-1.5: resolution layer
202
+ Resolver: `${NS.apres}Resolver`,
203
+ ResolvedOrder: `${NS.apres}ResolvedOrder`,
204
+ ResolutionReceipt: `${NS.apres}ResolutionReceipt`,
205
+ PolicyCheckResult: `${NS.apres}PolicyCheckResult`,
206
+ ToolCallTrace: `${NS.apres}ToolCallTrace`,
207
+ // Phase-1.5: agreement layer
208
+ AgreementCommitment: `${NS.apagr}AgreementCommitment`,
209
+ AgreementCredential: `${NS.apagr}AgreementCredential`,
210
+ AgreementStatus: `${NS.apagr}AgreementStatus`,
211
+ // Phase-1.5: payment layer
212
+ PaymentMandate: `${NS.appay}PaymentMandate`,
213
+ OpenPaymentMandate: `${NS.appay}OpenPaymentMandate`,
214
+ ClosedPaymentMandate: `${NS.appay}ClosedPaymentMandate`,
215
+ PaymentReceipt: `${NS.appay}PaymentReceipt`,
216
+ MandateConstraints: `${NS.appay}MandateConstraints`,
217
+ ContextBinding: `${NS.appay}ContextBinding`,
218
+ PaymentRail: `${NS.appay}PaymentRail`,
219
+ // Phase-1.5: fulfillment layer
220
+ FulfillmentCase: `${NS.apful}FulfillmentCase`,
221
+ FulfillmentTopology: `${NS.apful}FulfillmentTopology`,
222
+ Task: `${NS.apful}Task`,
223
+ HandoffPolicy: `${NS.apful}HandoffPolicy`,
224
+ Message: `${NS.apful}Message`,
225
+ Artifact: `${NS.apful}Artifact`,
226
+ ArtifactKind: `${NS.apful}ArtifactKind`,
227
+ IntentTraceSpan: `${NS.apful}IntentTraceSpan`,
228
+ // Phase-1.5: attestation layer
229
+ Attestation: `${NS.apatt}Attestation`,
230
+ EvidenceCredential: `${NS.apatt}EvidenceCredential`,
231
+ OutcomeCredential: `${NS.apatt}OutcomeCredential`,
232
+ ValidationCredential: `${NS.apatt}ValidationCredential`,
233
+ Validator: `${NS.apatt}Validator`,
234
+ ValidatorKind: `${NS.apatt}ValidatorKind`,
235
+ TrustUpdate: `${NS.apatt}TrustUpdate`,
236
+ AssociationCredential: `${NS.apatt}AssociationCredential`,
237
+ // Phase-1.5: VC envelope
238
+ VerifiableCredential: `${NS.apvc}VerifiableCredential`,
239
+ // Verifiable-content substrate (spec 266; FRBR Work/Manifestation/Item)
240
+ CanonicalLocus: `${NS.apcnt}CanonicalLocus`,
241
+ CorpusManifest: `${NS.apcnt}CorpusManifest`,
242
+ ContentDescriptor: `${NS.apcnt}ContentDescriptor`,
243
+ CitationAssertion: `${NS.apcnt}CitationAssertion`,
244
+ Entitlement: `${NS.apcnt}Entitlement`,
245
+ // Discovery / registry / trust graph (spec 279)
246
+ RegistryKitProfile: `${NS.apreg}RegistryKitProfile`,
247
+ RegistryEntry: `${NS.apreg}RegistryEntry`,
248
+ RegistryEntryBindingProof: `${NS.apreg}RegistryEntryBindingProof`,
249
+ RegistryClaimSlot: `${NS.apreg}RegistryClaimSlot`,
250
+ SignedAgentCard: `${NS.apreg}SignedAgentCard`,
251
+ ExternalRegistryFacet: `${NS.apreg}ExternalRegistryFacet`,
252
+ // Registry core (spec 346 §7/§11) — the instance an ap:RegistryAgent operates, the admission
253
+ // receipt (evidence, never authority), the hash-chained lifecycle log and its checkpoint.
254
+ Registry: `${NS.apreg}Registry`,
255
+ RegistrationReceipt: `${NS.apreg}RegistrationReceipt`,
256
+ RegistryLifecycleEvent: `${NS.apreg}RegistryLifecycleEvent`,
257
+ LogCheckpoint: `${NS.apreg}LogCheckpoint`,
258
+ // Typed naming (spec 346 §3/§11; tbox/naming.ttl) — a contextual name is a REFERENCE over a live
259
+ // delegation, never a second identity.
260
+ ContextualNameIssuance: `${NS.apnam}ContextualNameIssuance`,
261
+ ContextualAgentReference: `${NS.apnam}ContextualAgentReference`,
262
+ CandidateQuery: `${NS.apdisc}CandidateQuery`,
263
+ MatchCandidate: `${NS.apdisc}MatchCandidate`,
264
+ TrustDetermination: `${NS.apdisc}TrustDetermination`,
265
+ EvidencePath: `${NS.apdisc}EvidencePath`,
266
+ GraphSnapshot: `${NS.apdisc}GraphSnapshot`,
267
+ InferenceProfile: `${NS.apdisc}InferenceProfile`,
268
+ TrustSignal: `${NS.aptrust}TrustSignal`,
269
+ ReputationEvidence: `${NS.aptrust}ReputationEvidence`,
270
+ ValidationEvidence: `${NS.aptrust}ValidationEvidence`,
271
+ ExposureFinding: `${NS.apsec}ExposureFinding`,
272
+ CorrelationRisk: `${NS.apsec}CorrelationRisk`,
273
+ ProjectionMismatch: `${NS.apsec}ProjectionMismatch`,
274
+ // Verification-receipt provenance (spec 303) — all ⊑ PROV-O (Activity/Entity)
275
+ VerificationActivity: `${NS.apvr}VerificationActivity`,
276
+ VerificationReceipt: `${NS.apvr}VerificationReceipt`,
277
+ VerificationReceiptDetail: `${NS.apvr}VerificationReceiptDetail`,
278
+ ChainStatusEvidence: `${NS.apvr}ChainStatusEvidence`,
279
+ Delegation: `${NS.apdel}Delegation`,
280
+ // AP-Scope-V1 (spec 308) — concept VALUES live in cbox/scope-vocabulary.ttl,
281
+ // never as TS arrays (the spec 225 drift rule)
282
+ Scope: `${NS.apscope}Scope`,
283
+ VerifierObligation: `${NS.apscope}VerifierObligation`,
284
+ // Messaging / interaction substrate (spec 322 §3). apmsg:MessageEnvelope ≠ apful:Message
285
+ // (vocabulary-map.md). A channel is a Conversation (open-to-context) — no Channel class.
286
+ MessageEnvelope: `${NS.apmsg}MessageEnvelope`,
287
+ MessageEvent: `${NS.apmsg}MessageEvent`,
288
+ Conversation: `${NS.apmsg}Conversation`,
289
+ ChannelBoard: `${NS.apmsg}ChannelBoard`,
290
+ Performative: `${NS.apmsg}Performative`,
291
+ Discussion: `${NS.apmsg}Discussion`,
292
+ DiscussionTopic: `${NS.apmsg}DiscussionTopic`,
293
+ MessageThread: `${NS.apmsg}MessageThread`,
294
+ ConversationProfile: `${NS.apmsg}ConversationProfile`,
295
+ // Topic participation (open vs restricted; tbox/messaging.ttl). Open topics DERIVE participation
296
+ // from OrganizationMembership (never asserted); restricted topics ASSERT DiscussionParticipation.
297
+ DiscussionParticipation: `${NS.apmsg}DiscussionParticipation`,
298
+ DiscussionInvitation: `${NS.apmsg}DiscussionInvitation`,
299
+ // spec 329 — a member agent's structured answer artifact to a ConsultationIntent
300
+ ConsultAnswer: `${NS.apmsg}ConsultAnswer`,
301
+ DirectoryListing: `${NS.aporg}DirectoryListing`,
302
+ // Organization membership + enrollment (spec 324; tbox/org.ttl)
303
+ OrganizationMembership: `${NS.aporg}OrganizationMembership`,
304
+ OrganizationRoleDefinition: `${NS.aporg}OrganizationRoleDefinition`,
305
+ OrganizationalPost: `${NS.aporg}OrganizationalPost`,
306
+ RoleAssignment: `${NS.aporg}RoleAssignment`,
307
+ EnrollmentPolicy: `${NS.aporg}EnrollmentPolicy`,
308
+ EnrollmentRequirement: `${NS.aporg}EnrollmentRequirement`,
309
+ MembershipInvitation: `${NS.aporg}MembershipInvitation`,
310
+ MembershipInviteLink: `${NS.aporg}MembershipInviteLink`,
311
+ MembershipApplication: `${NS.aporg}MembershipApplication`,
312
+ EnrollmentDecision: `${NS.aporg}EnrollmentDecision`,
313
+ MembershipTermination: `${NS.aporg}MembershipTermination`,
314
+ AdmissionExclusion: `${NS.aporg}AdmissionExclusion`,
315
+ // Team affiliation, workspace plane, responsibility (spec 344 §4.2; tbox/org.ttl). A Workspace is
316
+ // an ENTITY — never an agent, never a tenant; the workspace agent SA is its agentive face.
317
+ TeamAffiliation: `${NS.aporg}TeamAffiliation`,
318
+ AffiliationProposal: `${NS.aporg}AffiliationProposal`,
319
+ AffiliationDecision: `${NS.aporg}AffiliationDecision`,
320
+ AffiliationTermination: `${NS.aporg}AffiliationTermination`,
321
+ WorkingGroup: `${NS.aporg}WorkingGroup`,
322
+ InterorganizationalCollaborationArrangement: `${NS.aporg}InterorganizationalCollaborationArrangement`,
323
+ Workspace: `${NS.aporg}Workspace`,
324
+ WorkspaceParticipation: `${NS.aporg}WorkspaceParticipation`,
325
+ WorkspaceRepresentation: `${NS.aporg}WorkspaceRepresentation`,
326
+ ResponsibilityAssignment: `${NS.aporg}ResponsibilityAssignment`,
327
+ // Situation substrate (spec 324; tbox/situation.ttl)
328
+ Situation: `${NS.apsit}Situation`,
329
+ Description: `${NS.apsit}Description`,
330
+ SituationRole: `${NS.apsit}SituationRole`,
331
+ RoleBinding: `${NS.apsit}RoleBinding`,
332
+ TemporalExtent: `${NS.apsit}TemporalExtent`,
333
+ // ── FamilyOffice domain (New City AI; tbox/familyoffice.ttl) — the family-office org + its member
334
+ // relationships (kinship/guardianship/ownership/trusteeship) as Situations. Each relationship
335
+ // class ⊑ apsit:Situation; the concept VALUES it names live in cbox/familyoffice-vocabulary.ttl. ──
336
+ FamilyOffice: `${NS.apfo}FamilyOffice`,
337
+ FamilyOfficeRelation: `${NS.apfo}FamilyOfficeRelation`,
338
+ Kinship: `${NS.apfo}Kinship`,
339
+ SpouseRelation: `${NS.apfo}SpouseRelation`,
340
+ ParentChildRelation: `${NS.apfo}ParentChildRelation`,
341
+ SiblingRelation: `${NS.apfo}SiblingRelation`,
342
+ Guardianship: `${NS.apfo}Guardianship`,
343
+ Ownership: `${NS.apfo}Ownership`,
344
+ Trusteeship: `${NS.apfo}Trusteeship`,
345
+ // Runtime entitlements (spec 324; tbox/entitlement.ttl)
346
+ RuntimeEntitlement: `${NS.apent}Entitlement`,
347
+ AccessEntitlement: `${NS.apent}AccessEntitlement`,
348
+ ConsumableEntitlement: `${NS.apent}ConsumableEntitlement`,
349
+ EligibilityEntitlement: `${NS.apent}EligibilityEntitlement`,
350
+ // Agentic Interaction — the canonical bounded context (spec 340; ADR-0058; tbox/interaction.ttl).
351
+ // The names lost their `Interaction`/`Exchange` prefixes because the namespace now carries that
352
+ // meaning: `apix:Exchange` needs no qualifier, where `apfab:InteractionExchange` did.
353
+ Interaction: `${NS.apix}Interaction`,
354
+ InteractionProfile: `${NS.apix}InteractionProfile`,
355
+ Participation: `${NS.apix}Participation`,
356
+ Exchange: `${NS.apix}Exchange`,
357
+ ExchangeActivity: `${NS.apix}ExchangeActivity`,
358
+ Envelope: `${NS.apix}Envelope`,
359
+ ExchangeEvent: `${NS.apix}ExchangeEvent`,
360
+ CommunicativeAct: `${NS.apix}CommunicativeAct`,
361
+ ContextSnapshot: `${NS.apix}ContextSnapshot`,
362
+ InteractionCommitment: `${NS.apix}Commitment`,
363
+ Receipt: `${NS.apix}Receipt`,
364
+ // Authority tiers — previously referenced by `provenance` doc comments and defined NOWHERE.
365
+ CommunicationDelivery: `${NS.apix}CommunicationDelivery`,
366
+ IntentInvocation: `${NS.apix}IntentInvocation`,
367
+ OrchestratedTask: `${NS.apix}OrchestratedTask`,
368
+ // Semantic capabilities (spec 251 on-chain anchor + spec 325 CapabilityDefinition; ADR-0051)
369
+ Skill: `${NS.aps}Skill`,
370
+ SkillClaim: `${NS.aps}SkillClaim`,
371
+ CapabilityDefinition: `${NS.aps}CapabilityDefinition`,
372
+ /** @deprecated Use CapabilityDefinition */
373
+ AgentSkillDefinition: `${NS.aps}AgentSkillDefinition`,
374
+ CapabilityGrounding: `${NS.aps}CapabilityGrounding`,
375
+ /** @deprecated Use CapabilityGrounding */
376
+ SkillGrounding: `${NS.aps}SkillGrounding`,
377
+ CapabilityProtocolProjection: `${NS.aps}CapabilityProtocolProjection`,
378
+ /** @deprecated Use CapabilityProtocolProjection */
379
+ SkillProtocolProjection: `${NS.aps}SkillProtocolProjection`,
380
+ IntentCapabilityMatch: `${NS.aps}IntentCapabilityMatch`,
381
+ /** @deprecated Use IntentCapabilityMatch */
382
+ IntentSkillMatch: `${NS.aps}IntentSkillMatch`,
383
+ // Agent Skill packages (ADR-0051) — SKILL.md playbooks, NOT executable capabilities
384
+ AgentGuidanceArtifact: `${NS.apguide}AgentGuidanceArtifact`,
385
+ AgentSkillPackage: `${NS.apguide}AgentSkillPackage`,
386
+ /** @deprecated Use AgentSkillPackage */
387
+ AgentGuidanceSkill: `${NS.apguide}AgentGuidanceSkill`,
388
+ RepositoryGuidanceDoc: `${NS.apguide}RepositoryGuidanceDoc`,
389
+ // Actor context + portable authority chain (spec 326; ADR-0052). CONTEXT/EVIDENCE, never authority.
390
+ AccountabilityRoot: `${NS.apactor}AccountabilityRoot`,
391
+ PresentationIdentifier: `${NS.apactor}PresentationIdentifier`,
392
+ SubjectRef: `${NS.apactor}SubjectRef`,
393
+ SubjectBinding: `${NS.apactor}SubjectBinding`,
394
+ ActorContext: `${NS.apactor}ActorContext`,
395
+ AgentInstance: `${NS.apactor}AgentInstance`,
396
+ ConfirmationKey: `${NS.apactor}ConfirmationKey`,
397
+ AuthorityChainEnvelope: `${NS.apactor}AuthorityChainEnvelope`,
398
+ // ── Capability IDENTITY + catalogs (spec 330 W0 §5, unparked by spec 331; ADR-0053) ──
399
+ // Capability ≠ CapabilityDefinition ≠ CapabilityProtocolProjection. The identity is what many
400
+ // agents reference across many definition VERSIONS; it was implicit until spec 331 minted it.
401
+ Capability: `${NS.aps}Capability`,
402
+ CapabilityCatalog: `${NS.aps}CapabilityCatalog`,
403
+ CapabilityRealizationContract: `${NS.aps}CapabilityRealizationContract`,
404
+ // ── Orthogonal context facets (tbox/context.ttl) ──
405
+ ContextFacet: `${NS.apctx}ContextFacet`,
406
+ IndustryDomain: `${NS.apctx}IndustryDomain`,
407
+ KnowledgeDomain: `${NS.apctx}KnowledgeDomain`,
408
+ ValueStreamStage: `${NS.apctx}ValueStreamStage`,
409
+ BoundedContext: `${NS.apctx}BoundedContext`,
410
+ ControlDomain: `${NS.apctx}ControlDomain`,
411
+ JurisdictionFacet: `${NS.apctx}JurisdictionFacet`,
412
+ LanguageFacet: `${NS.apctx}LanguageFacet`,
413
+ ContextProfile: `${NS.apctx}ContextProfile`,
414
+ CapabilityMap: `${NS.apctx}CapabilityMap`,
415
+ CapabilityMapEntry: `${NS.apctx}CapabilityMapEntry`,
416
+ // ── The public profile facet (tbox/profile.ttl; spec 217/282) ──
417
+ AgentProfile: `${NS.approf}AgentProfile`,
418
+ // ── The projected trust fabric (tbox/trust.ttl G1 promotion) ──
419
+ TrustGraphEdge: `${NS.aptrust}TrustGraphEdge`,
420
+ // ── Crawled offerings (tbox/discovery.ttl; spec 286) — host-asserted skill advertisements ──
421
+ Offering: `${NS.apdisc}Offering`,
422
+ // ── Execution plane (tbox/execution.ttl; spec 330 §8 W0 subset) — the classes the shipped
423
+ // realization contracts target. Declared so a contract's sh:targetClass names something real
424
+ // rather than validating an empty set by vacuity. ──
425
+ AgentRuntime: `${NS.apexec}AgentRuntime`,
426
+ ServiceExecution: `${NS.apexec}ServiceExecution`,
427
+ SkillExecution: `${NS.apexec}SkillExecution`,
428
+ MemberConsultationActivity: `${NS.apexec}MemberConsultationActivity`,
429
+ ConsultationSynthesisActivity: `${NS.apexec}ConsultationSynthesisActivity`,
430
+ CompletionState: `${NS.apexec}CompletionState`,
431
+ // ── Coordination plane (tbox/coordination.ttl; spec 332 core subset; ADR-0054) — the durable
432
+ // Endeavor, shared plan, and participation lifecycle. Allocation is never authority. ──
433
+ EndeavorRequest: `${NS.apcoord}EndeavorRequest`,
434
+ Endeavor: `${NS.apcoord}Endeavor`,
435
+ OutcomeSpecification: `${NS.apcoord}OutcomeSpecification`,
436
+ OutcomeCriterion: `${NS.apcoord}OutcomeCriterion`,
437
+ EndeavorRelation: `${NS.apcoord}EndeavorRelation`,
438
+ CoordinationPlan: `${NS.apcoord}CoordinationPlan`,
439
+ CoordinationPlanStep: `${NS.apcoord}PlanStep`,
440
+ CoordinationPlanEdge: `${NS.apcoord}PlanEdge`,
441
+ MilestoneDefinition: `${NS.apcoord}MilestoneDefinition`,
442
+ MilestoneAchievement: `${NS.apcoord}MilestoneAchievement`,
443
+ EndeavorParticipation: `${NS.apcoord}EndeavorParticipation`,
444
+ ContributionProposal: `${NS.apcoord}ContributionProposal`,
445
+ AllocationDecision: `${NS.apcoord}AllocationDecision`,
446
+ ContributionCommitment: `${NS.apcoord}ContributionCommitment`,
447
+ CoordinationContextSnapshot: `${NS.apcoord}CoordinationContextSnapshot`,
448
+ ExternalObjectBinding: `${NS.apcoord}ExternalObjectBinding`,
449
+ // spec 333 §3 minimal slice (reader: coordination /decisions, spec 334 §10 agent triage).
450
+ Recommendation: `${NS.apcoord}Recommendation`,
451
+ // spec 393 — decisions by DECLARED approvers (spec 333 §3 shipped): who may decide, the request, the immutable record.
452
+ ApprovalRequirement: `${NS.apcoord}ApprovalRequirement`,
453
+ DecisionRequest: `${NS.apcoord}DecisionRequest`,
454
+ DecisionRecord: `${NS.apcoord}DecisionRecord`,
455
+ // ── Intent engagement plane (tbox/engagement.ttl; spec 336 W0 subset) — the pre-task chain.
456
+ // Nine of the ten steps grant nothing; only the Mandate grants, and the ExecutionCredential
457
+ // is its short-lived wire attenuation. ──
458
+ IntentProjection: `${NS.apeng}IntentProjection`,
459
+ DiscoveryProjection: `${NS.apeng}DiscoveryProjection`,
460
+ EngagementProjection: `${NS.apeng}EngagementProjection`,
461
+ ExecutionProjection: `${NS.apeng}ExecutionProjection`,
462
+ EngagementCampaign: `${NS.apeng}EngagementCampaign`,
463
+ EngagementSituation: `${NS.apeng}EngagementSituation`,
464
+ EngagementProbe: `${NS.apeng}EngagementProbe`,
465
+ EngagementAcknowledgement: `${NS.apeng}EngagementAcknowledgement`,
466
+ EngagementResponse: `${NS.apeng}EngagementResponse`,
467
+ EngagementResponseKind: `${NS.apeng}EngagementResponseKind`,
468
+ EngagementObjective: `${NS.apeng}EngagementObjective`,
469
+ InteractionPolicy: `${NS.apeng}InteractionPolicy`,
470
+ ProbeProcessingModel: `${NS.apeng}ProbeProcessingModel`,
471
+ EngagementEvaluationTask: `${NS.apeng}EngagementEvaluationTask`,
472
+ IndicativeFulfillmentProposal: `${NS.apeng}IndicativeFulfillmentProposal`,
473
+ // The offer algebra (spec 337): Offer is the canonical commerce noun; listing / cart / bid /
474
+ // auction are projections. StandingOffer = marketplace arena (offer precedes intent);
475
+ // FulfillmentOffer = workflow arena (offer answers one intent). A cart is a FulfillmentOffer
476
+ // composed from StandingOffers.
477
+ Offer: `${NS.apeng}Offer`,
478
+ StandingOffer: `${NS.apeng}StandingOffer`,
479
+ FulfillmentOffer: `${NS.apeng}FulfillmentOffer`,
480
+ OfferSelection: `${NS.apeng}OfferSelection`,
481
+ OfferAcceptance: `${NS.apeng}OfferAcceptance`,
482
+ MandateRequirement: `${NS.apeng}MandateRequirement`,
483
+ Mandate: `${NS.apeng}Mandate`,
484
+ ExecutionCredential: `${NS.apeng}ExecutionCredential`,
485
+ FulfillmentReceipt: `${NS.apeng}FulfillmentReceipt`,
486
+ // ── Canonical profile → A2A Agent Card → projection → publication → external identity binding
487
+ // (tbox/card-projection.ttl; spec 347 §11; ADR-0062). 'Canonical agent' ≡ ap:Agent — no
488
+ // CanonicalAgent class is minted. A card is an OPERATIONAL description, never the identity and
489
+ // never a registry entry; a projection artifact ALWAYS carries a loss report. ──
490
+ CanonicalAgentProfile: `${NS.ap}CanonicalAgentProfile`,
491
+ CanonicalAgentProfileRelease: `${NS.ap}CanonicalAgentProfileRelease`,
492
+ A2AAgentCard: `${NS.ap}A2AAgentCard`,
493
+ A2AAgentCardRelease: `${NS.ap}A2AAgentCardRelease`,
494
+ ProjectionDefinition: `${NS.ap}ProjectionDefinition`,
495
+ ProjectionInstance: `${NS.ap}ProjectionInstance`,
496
+ ProjectionArtifact: `${NS.ap}ProjectionArtifact`,
497
+ ProjectionLoss: `${NS.ap}ProjectionLoss`,
498
+ Publication: `${NS.ap}Publication`,
499
+ StandardsLock: `${NS.ap}StandardsLock`,
500
+ ExternalIdentityBinding: `${NS.ap}ExternalIdentityBinding`,
501
+ NamingBinding: `${NS.ap}NamingBinding`,
502
+ /** ⊑ prov:Activity — the PURE projector run (no credential, no network). */
503
+ ProjectionGeneration: `${NS.ap}ProjectionGeneration`,
504
+ /** ⊑ prov:Activity — the effectful, approval-gated deployment. */
505
+ PublicationActivity: `${NS.ap}PublicationActivity`,
506
+ ProjectionAdapter: `${NS.ap}ProjectionAdapter`,
507
+ Publisher: `${NS.ap}Publisher`,
508
+ /** Reified AP capability → external taxon alignment; `taxonomyRelation` names the SKOS property (tbox/skills.ttl). */
509
+ SkillTaxonomyMapping: `${NS.aps}SkillTaxonomyMapping`,
510
+ // ── P-Plan grounding (tbox/plan.ttl; spec 332 §4) — imported terms + the plan trichotomy ──
511
+ PPlanPlan: `${EXTERNAL_NS.pplan}Plan`,
512
+ PPlanStep: `${EXTERNAL_NS.pplan}Step`,
513
+ PPlanVariable: `${EXTERNAL_NS.pplan}Variable`,
514
+ ExecutionPlan: `${NS.apexec}ExecutionPlan`,
515
+ // ── EP-PLAN plan↔execution bridge (tbox/plan.ttl imported subset) ──
516
+ ExecutionTraceBundle: `${EXTERNAL_NS.epplan}ExecutionTraceBundle`,
517
+ PlanConstraint: `${EXTERNAL_NS.epplan}Constraint`,
518
+ ConstraintEvaluation: `${EXTERNAL_NS.epplan}ConstraintEvaluation`,
519
+ PlanObjective: `${EXTERNAL_NS.epplan}Objective`,
520
+ FailedActivity: `${EXTERNAL_NS.epplan}FailedActivity`,
521
+ // ── Estate projection (tbox/estate.ttl; spec 410 §4) ──
522
+ /** One thing an estate vouches for, WITH its opening — the estate's own record behind a public root. */
523
+ ProjectionSubmission: `${NS.apest}ProjectionSubmission`,
524
+ // ── Anonymous credentials (tbox/privacy-credential.ttl; specs 304 / 305 / 442 §7.2 / 443 W5) ──
525
+ /** A key an issuing agent (org or service, never a person) signs credentials with; anchored as an attestation. */
526
+ IssuerKeyFacet: `${NS.appc}IssuerKeyFacet`,
527
+ /** The issuer's live-credential root on neutral ground — its own, tagged row; revocation is retire + re-anchor. */
528
+ IssuerRow: `${NS.appc}IssuerRow`,
529
+ /** A credential made to be proved about, not shown: holder-bound, selectively disclosable; the holder's vault record. */
530
+ AnonymousCredential: `${NS.appc}AnonymousCredential`,
531
+ /** The custodied holder-binding key; signs only under a presentation mandate, judged per signature. */
532
+ DeviceKey: `${NS.appc}DeviceKey`,
533
+ /** The account a verifier sees: one per verifier origin, unlinkable across them; never the person. */
534
+ PairwiseAccount: `${NS.appc}PairwiseAccount`,
535
+ /** What a verifier asks — built from ITS policy and ITS challenge, never from a presentation. */
536
+ ProofRequest: `${NS.appc}ProofRequest`,
537
+ /** The statement proved: predicates compiled to canonical form and digested; what a mandate names. */
538
+ PredicateProgram: `${NS.appc}PredicateProgram`,
539
+ /** One claim, one operator, one operand — the verifier's threshold, never the holder's value. */
540
+ Predicate: `${NS.appc}Predicate`,
541
+ /** The holder's answer: a zero-knowledge proof, hidden keys and claims; held by a door for minutes under a reference. */
542
+ PrivatePresentation: `${NS.appc}PrivatePresentation`,
543
+ /** One visit per audience: deterministic per (device key, audience), consumed atomically by the verifier's store. */
544
+ Nullifier: `${NS.appc}Nullifier`,
545
+ /** The issuer still stands behind this credential as of a sequence — proved against the root the verifier READ. */
546
+ CredentialStatusPresentation: `${NS.appc}CredentialStatusPresentation`,
547
+ /** The person's standing permission for her device key to sign — a delegation bounded to venues, programs, facets. */
548
+ PresentationMandate: `${NS.appc}PresentationMandate`,
549
+ /** One judgement of the mandate for one device-key signature; every outcome is receipt material. */
550
+ PresentationRelease: `${NS.appc}PresentationRelease`,
551
+ /** What a verifier asks and accepts, declared where a holder can read it. Says what the door looks at; grants nothing. */
552
+ VerifierPolicy: `${NS.appc}VerifierPolicy`,
553
+ /** The predicate held, as what a door kept beside its decision — evidence, never authority. */
554
+ PredicateAdmissionEvidence: `${NS.appc}PredicateAdmissionEvidence`,
555
+ // ── At the company's door (tbox/identity.ttl; spec 442 §11) — what a person's agent IS at an external
556
+ // door and what it holds afterwards. None is authority; the protocol words stay in ap-federation (spec 443).
557
+ /** A Smart Agent's signed statement that one JWK may PRESENT for it at external doors, under one custody epoch. Not a delegation. */
558
+ ClientKeyBinding: `${NS.ap}ClientKeyBinding`,
559
+ /** What one company calls the person: HKDF over a vault secret, salted by the issuer; no property leads to the person. */
560
+ PairwiseSubject: `${NS.ap}PairwiseSubject`,
561
+ /** A company-proposed, revision-pinned set of terms — an INTENT until a mandate binds its digest. Never an approval. */
562
+ ExternalOperation: `${NS.ap}ExternalOperation`,
563
+ /** The person's account at one company and the credentials it left behind; a vault record, listed and revocable. */
564
+ ExternalAccountLink: `${NS.ap}ExternalAccountLink`,
47
565
  };
48
566
  /** Predicate / property IRIs (T-box). */
49
567
  export const PREDICATE = {
568
+ // Phase-1
50
569
  isFacetOf: `${NS.apid}isFacetOf`,
51
570
  controls: `${NS.apcr}controls`,
52
571
  hasEvidence: `${NS.ap}hasEvidence`,
@@ -54,13 +573,812 @@ export const PREDICATE = {
54
573
  controlStatus: `${NS.ap}controlStatus`,
55
574
  resolvesTo: `${NS.apnam}resolvesTo`,
56
575
  memberOf: `${NS.aporg}memberOf`,
576
+ // At the company's door (tbox/identity.ttl; spec 442 §3 / §4 / §5 / §8).
577
+ clientId: `${NS.ap}clientId`,
578
+ jwkThumbprint: `${NS.ap}jwkThumbprint`,
579
+ jwsAlgorithm: `${NS.ap}jwsAlgorithm`,
580
+ boundUnderCustodyEpoch: `${NS.ap}boundUnderCustodyEpoch`,
581
+ bindingNotBefore: `${NS.ap}bindingNotBefore`,
582
+ bindingNotAfter: `${NS.ap}bindingNotAfter`,
583
+ pairwiseIssuer: `${NS.ap}pairwiseIssuer`,
584
+ pairwiseSubjectDigest: `${NS.ap}pairwiseSubjectDigest`,
585
+ operationAuthority: `${NS.ap}operationAuthority`,
586
+ operationId: `${NS.ap}operationId`,
587
+ operationRevision: `${NS.ap}operationRevision`,
588
+ termsDigest: `${NS.ap}termsDigest`,
589
+ accountGrantedAt: `${NS.ap}accountGrantedAt`,
590
+ accountExpiresAt: `${NS.ap}accountExpiresAt`,
591
+ accountLastUsedAt: `${NS.ap}accountLastUsedAt`,
592
+ grantedScope: `${NS.ap}grantedScope`,
593
+ // Derived-type record on the SA subject (spec 346 §2.3; ADR-0061) — atl:agentType / atl:serviceRole.
594
+ // The suffix is checked AGAINST these; they never bend to the suffix.
595
+ agentType: `${NS.ap}agentType`,
596
+ serviceRole: `${NS.ap}serviceRole`,
597
+ // Typed naming (tbox/naming.ttl). tld names the derived type — derivedTypeForTld — never authority.
598
+ tld: `${NS.apnam}tld`,
599
+ namesDerivedType: `${NS.apnam}namesDerivedType`,
600
+ /** apnam: — distinct from the apcnt: content `issuedBy` below. */
601
+ nameIssuedBy: `${NS.apnam}issuedBy`,
602
+ nameIssuedFor: `${NS.apnam}issuedFor`,
603
+ issuanceBasis: `${NS.apnam}issuanceBasis`,
604
+ issuanceKind: `${NS.apnam}issuanceKind`,
605
+ issuedName: `${NS.apnam}issuedName`,
606
+ referenceSubject: `${NS.apnam}referenceSubject`,
607
+ referenceContext: `${NS.apnam}referenceContext`,
608
+ referenceRoleAssignment: `${NS.apnam}referenceRoleAssignment`,
609
+ referenceBasis: `${NS.apnam}referenceBasis`,
610
+ // Membership listing (spec 322 §3; tbox/messaging.ttl aporg extension). Membership itself stays
611
+ // DERIVED (current listing + valid spec-321 delegation ⟹ memberOf) — never stored as a fact.
612
+ listingSubject: `${NS.aporg}listingSubject`,
613
+ listingContext: `${NS.aporg}listingContext`,
614
+ listingVisibility: `${NS.aporg}visibility`,
615
+ listingPublishedAt: `${NS.aporg}publishedAt`,
616
+ listingExpiresAt: `${NS.aporg}expiresAt`,
617
+ listingHash: `${NS.aporg}listingHash`,
618
+ // spec 329 §2.2 — org-scoped routing HINT on the listing (the delegation is the authority)
619
+ consultable: `${NS.aporg}consultable`,
57
620
  delegatesTo: `${NS.apdel}delegatesTo`,
621
+ // Phase-1.5: intent
622
+ direction: `${NS.apint}direction`,
623
+ object: `${NS.apint}object`,
624
+ topic: `${NS.apint}topic`,
625
+ about: `${NS.apint}about`,
626
+ expressedBy: `${NS.apint}expressedBy`,
627
+ addressedTo: `${NS.apint}addressedTo`,
628
+ hasConstraintSet: `${NS.apint}hasConstraintSet`,
629
+ hasAssumptionSet: `${NS.apint}hasAssumptionSet`,
630
+ expectedOutcome: `${NS.apint}expectedOutcome`,
631
+ visibility: `${NS.apint}visibility`,
632
+ status: `${NS.apint}status`,
633
+ matchedWith: `${NS.apint}matchedWith`,
634
+ // Phase-1.5: constraint
635
+ variable: `${NS.apcst}variable`,
636
+ domain: `${NS.apcst}domain`,
637
+ source: `${NS.apcst}source`,
638
+ rationale: `${NS.apcst}rationale`,
639
+ strength: `${NS.apcst}strength`,
640
+ enforcement: `${NS.apcst}enforcement`,
641
+ fieldDisclosure: `${NS.apcst}fieldDisclosure`,
642
+ resolverId: `${NS.apcst}resolverId`,
643
+ trustLevel: `${NS.apcst}trustLevel`,
644
+ risk: `${NS.apcst}risk`,
645
+ evidenceRef: `${NS.apcst}evidenceRef`,
646
+ // Phase-1.5: resolution
647
+ resolvedFrom: `${NS.apres}resolvedFrom`,
648
+ canonicalConstraints: `${NS.apres}canonicalConstraints`,
649
+ expandedAssumptions: `${NS.apres}expandedAssumptions`,
650
+ resolverAgent: `${NS.apres}resolverAgent`,
651
+ resolverVersion: `${NS.apres}resolverVersion`,
652
+ modelName: `${NS.apres}modelName`,
653
+ confidence: `${NS.apres}confidence`,
654
+ requiresUserConfirmation: `${NS.apres}requiresUserConfirmation`,
655
+ userConfirmedAt: `${NS.apres}userConfirmedAt`,
656
+ policyVersion: `${NS.apres}policyVersion`,
657
+ hasPolicyCheck: `${NS.apres}hasPolicyCheck`,
658
+ hasToolCall: `${NS.apres}hasToolCall`,
659
+ // Phase-1.5: agreement
660
+ hasIssuer: `${NS.apagr}hasIssuer`,
661
+ hasParty: `${NS.apagr}hasParty`,
662
+ agreementCommitmentHash: `${NS.apagr}agreementCommitmentHash`,
663
+ schemaHash: `${NS.apagr}schemaHash`,
664
+ agreementStatus: `${NS.apagr}status`,
665
+ createdEpochBucket: `${NS.apagr}createdEpochBucket`,
666
+ fromIntentMatch: `${NS.apagr}fromIntentMatch`,
667
+ // Phase-1.5: payment
668
+ payer: `${NS.appay}payer`,
669
+ payee: `${NS.appay}payee`,
670
+ granter: `${NS.appay}granter`,
671
+ rail: `${NS.appay}rail`,
672
+ mode: `${NS.appay}mode`,
673
+ requiresClosedMandateForFinalCharge: `${NS.appay}requiresClosedMandateForFinalCharge`,
674
+ contextBindingIntent: `${NS.appay}contextBindingIntent`,
675
+ contextBindingAgreement: `${NS.appay}contextBindingAgreement`,
676
+ chain: `${NS.appay}chain`,
677
+ maxAggregateAmount: `${NS.appay}maxAggregateAmount`,
678
+ nonce: `${NS.appay}nonce`,
679
+ maxRedemptions: `${NS.appay}maxRedemptions`,
680
+ expiresAt: `${NS.appay}expiresAt`,
681
+ // Phase-1.5: fulfillment
682
+ hasParentAgreement: `${NS.apful}hasParentAgreement`,
683
+ topology: `${NS.apful}topology`,
684
+ taskState: `${NS.apful}taskState`,
685
+ assignee: `${NS.apful}assignee`,
686
+ assigneeKind: `${NS.apful}assigneeKind`,
687
+ permissionGrantRef: `${NS.apful}permissionGrantRef`,
688
+ paymentMandateRef: `${NS.apful}paymentMandateRef`,
689
+ sender: `${NS.apful}sender`,
690
+ bodyRef: `${NS.apful}bodyRef`,
691
+ bodyHash: `${NS.apful}bodyHash`,
692
+ artifactKind: `${NS.apful}artifactKind`,
693
+ disclosurePolicy: `${NS.apful}disclosurePolicy`,
694
+ spanType: `${NS.apful}spanType`,
695
+ parentSpan: `${NS.apful}parentSpan`,
696
+ // Phase-1.5: attestation
697
+ uid: `${NS.apatt}uid`,
698
+ credentialType: `${NS.apatt}credentialType`,
699
+ credentialHash: `${NS.apatt}credentialHash`,
700
+ refUID: `${NS.apatt}refUID`,
701
+ bilateralConsentRef: `${NS.apatt}bilateralConsentRef`,
702
+ basedOnIntent: `${NS.apatt}basedOnIntent`,
703
+ basedOnArtifact: `${NS.apatt}basedOnArtifact`,
704
+ citesEvidence: `${NS.apatt}citesEvidence`,
705
+ citesValidation: `${NS.apatt}citesValidation`,
706
+ validatorKind: `${NS.apatt}validatorKind`,
707
+ offchainCredentialStatusList: `${NS.apatt}offchainCredentialStatusList`,
708
+ // Verifiable-content substrate (spec 266)
709
+ locusOf: `${NS.apcnt}locusOf`,
710
+ renderedBy: `${NS.apcnt}renderedBy`,
711
+ commitsTo: `${NS.apcnt}commitsTo`,
712
+ retrievalPointer: `${NS.apcnt}retrievalPointer`,
713
+ corpusRoot: `${NS.apcnt}corpusRoot`,
714
+ issuedBy: `${NS.apcnt}issuedBy`,
715
+ accessPolicy: `${NS.apcnt}accessPolicy`,
716
+ proofPolicy: `${NS.apcnt}proofPolicy`,
717
+ citesLocus: `${NS.apcnt}citesLocus`,
718
+ underEntitlement: `${NS.apcnt}underEntitlement`,
719
+ // Discovery / registry / trust graph (spec 279)
720
+ registryId: `${NS.apreg}registryId`,
721
+ entryId: `${NS.apreg}entryId`,
722
+ subjectAgent: `${NS.apreg}subjectAgent`,
723
+ hasBindingProof: `${NS.apreg}hasBindingProof`,
724
+ cardHash: `${NS.apreg}cardHash`,
725
+ claimHash: `${NS.apreg}claimHash`,
726
+ claimSlotId: `${NS.apreg}claimSlotId`,
727
+ bindingProofHash: `${NS.apreg}bindingProofHash`,
728
+ proofHash: `${NS.apreg}proofHash`,
729
+ describesCard: `${NS.apreg}describesCard`,
730
+ cardSubject: `${NS.apreg}cardSubject`,
731
+ verifyingContract: `${NS.apreg}verifyingContract`,
732
+ cardChainId: `${NS.apreg}cardChainId`,
733
+ entryIssuedAt: `${NS.apreg}issuedAt`,
734
+ entryExpiresAt: `${NS.apreg}expiresAt`,
735
+ reasonHash: `${NS.apreg}reasonHash`,
736
+ lifecycleStatus: `${NS.apreg}lifecycleStatus`,
737
+ externalSurface: `${NS.apreg}externalSurface`,
738
+ externalIdentifier: `${NS.apreg}externalIdentifier`,
739
+ projectionOf: `${NS.apreg}projectionOf`,
740
+ // Registry core (spec 346 §7) — operator link, receipt lists, lifecycle log, checkpoint, status.
741
+ operatesRegistry: `${NS.apreg}operatesRegistry`,
742
+ operatedBy: `${NS.apreg}operatedBy`,
743
+ inRegistry: `${NS.apreg}inRegistry`,
744
+ describedByProfile: `${NS.apreg}describedByProfile`,
745
+ verifiedCheck: `${NS.apreg}verifiedCheck`,
746
+ failedCheck: `${NS.apreg}failedCheck`,
747
+ notVerifiedCheck: `${NS.apreg}notVerifiedCheck`,
748
+ receiptFor: `${NS.apreg}receiptFor`,
749
+ receiptSubjectType: `${NS.apreg}subjectType`,
750
+ admittedAt: `${NS.apreg}admittedAt`,
751
+ receiptSigner: `${NS.apreg}receiptSigner`,
752
+ receiptSignature: `${NS.apreg}receiptSignature`,
753
+ citesReceipt: `${NS.apreg}citesReceipt`,
754
+ eventKind: `${NS.apreg}eventKind`,
755
+ eventSequence: `${NS.apreg}eventSequence`,
756
+ previousEventDigest: `${NS.apreg}previousEventDigest`,
757
+ eventDigest: `${NS.apreg}eventDigest`,
758
+ eventOccurredAt: `${NS.apreg}occurredAt`,
759
+ merkleRoot: `${NS.apreg}merkleRoot`,
760
+ checkpointFrom: `${NS.apreg}checkpointFrom`,
761
+ checkpointTo: `${NS.apreg}checkpointTo`,
762
+ anchorRef: `${NS.apreg}anchorRef`,
763
+ /** DERIVED by a pure fold over the log — never a hand-written flag. ≠ lifecycleStatus (on-chain). */
764
+ entryStatus: `${NS.apreg}entryStatus`,
765
+ queryHash: `${NS.apdisc}queryHash`,
766
+ usesGraphSnapshot: `${NS.apdisc}usesGraphSnapshot`,
767
+ usesInferenceProfile: `${NS.apdisc}usesInferenceProfile`,
768
+ candidateAgent: `${NS.apdisc}candidateAgent`,
769
+ candidateRegistryEntry: `${NS.apdisc}candidateRegistryEntry`,
770
+ hasTrustDetermination: `${NS.apdisc}hasTrustDetermination`,
771
+ hasEvidencePath: `${NS.apdisc}hasEvidencePath`,
772
+ trustScore: `${NS.apdisc}trustScore`,
773
+ matchScore: `${NS.apdisc}matchScore`,
774
+ severity: `${NS.apsec}severity`,
775
+ findingStatus: `${NS.apsec}findingStatus`,
776
+ affectsAgent: `${NS.apsec}affectsAgent`,
777
+ // Verification-receipt provenance (spec 303). onBehalfOf ⊑ prov:actedOnBehalfOf —
778
+ // PRIVATE-detail projection only for person principals (ADR-0010 amendment).
779
+ onBehalfOf: `${NS.apvr}onBehalfOf`,
780
+ opensReceipt: `${NS.apvr}opensReceipt`,
781
+ usedDelegation: `${NS.apvr}usedDelegation`,
782
+ usedStatusEvidence: `${NS.apvr}usedStatusEvidence`,
783
+ // AP-Scope-V1 (spec 308)
784
+ hasActionClass: `${NS.apscope}hasActionClass`,
785
+ hasResourceClass: `${NS.apscope}hasResourceClass`,
786
+ hasPurposeClass: `${NS.apscope}hasPurposeClass`,
787
+ hasValueLimitKind: `${NS.apscope}hasValueLimitKind`,
788
+ hasRelianceClass: `${NS.apscope}hasRelianceClass`,
789
+ requiredRevocationMode: `${NS.apscope}requiredRevocationMode`,
790
+ statusFreshnessMs: `${NS.apscope}statusFreshnessMs`,
791
+ mustRetainReceipt: `${NS.apscope}mustRetainReceipt`,
792
+ // Messaging / communicative acts (spec 324)
793
+ performedBy: `${NS.apmsg}performedBy`,
794
+ actAddressedTo: `${NS.apmsg}actAddressedTo`,
795
+ inRespondsTo: `${NS.apmsg}inRespondsTo`,
796
+ inConversation: `${NS.apmsg}inConversation`,
797
+ hostedBy: `${NS.apmsg}hostedBy`,
798
+ // Topic participation (spec: open vs restricted discussion topics)
799
+ participationPolicy: `${NS.apmsg}participationPolicy`,
800
+ participantAgent: `${NS.apmsg}participantAgent`,
801
+ inDiscussionTopic: `${NS.apmsg}inDiscussionTopic`,
802
+ participationRoleAssignment: `${NS.apmsg}participationRoleAssignment`,
803
+ invitedAgent: `${NS.apmsg}invitedAgent`,
804
+ invitationTopic: `${NS.apmsg}invitationTopic`,
805
+ invitedBy: `${NS.apmsg}invitedBy`,
806
+ invitationStatus: `${NS.apmsg}invitationStatus`,
807
+ // spec 329 — routed consultation (synthesized-reply attribution + the answer artifact fields)
808
+ consultedAgent: `${NS.apmsg}consultedAgent`,
809
+ answerText: `${NS.apmsg}answerText`,
810
+ declined: `${NS.apmsg}declined`,
811
+ declineReason: `${NS.apmsg}declineReason`,
812
+ // Situation (spec 324)
813
+ satisfies: `${NS.apsit}satisfies`,
814
+ hasRoleBinding: `${NS.apsit}hasRoleBinding`,
815
+ bindingRole: `${NS.apsit}bindingRole`,
816
+ bindingFiller: `${NS.apsit}bindingFiller`,
817
+ // ── FamilyOffice domain (New City AI; tbox/familyoffice.ttl) — relationship role slots + typed
818
+ // body predicates + the apfo↔aps bridge. The *Kind predicates point at closed cbox SKOS
819
+ // schemes (cbox/familyoffice-vocabulary.ttl); the SHACL in cbox/familyoffice-shapes.shacl.ttl
820
+ // pins each to its scheme via sh:in ( … ). ──
821
+ spouseA: `${NS.apfo}spouseA`,
822
+ spouseB: `${NS.apfo}spouseB`,
823
+ parent: `${NS.apfo}parent`,
824
+ child: `${NS.apfo}child`,
825
+ siblingA: `${NS.apfo}siblingA`,
826
+ siblingB: `${NS.apfo}siblingB`,
827
+ guardian: `${NS.apfo}guardian`,
828
+ ward: `${NS.apfo}ward`,
829
+ owner: `${NS.apfo}owner`,
830
+ ownedAsset: `${NS.apfo}ownedAsset`,
831
+ trustee: `${NS.apfo}trustee`,
832
+ trust: `${NS.apfo}trust`,
833
+ hasKinshipKind: `${NS.apfo}hasKinshipKind`,
834
+ hasRoleKind: `${NS.apfo}hasRoleKind`,
835
+ hasOwnershipKind: `${NS.apfo}hasOwnershipKind`,
836
+ // A family office's advisory catalog IS an aps:CapabilityCatalog (the apfo↔aps bridge).
837
+ advisoryCatalog: `${NS.apfo}advisoryCatalog`,
838
+ // Organization (spec 324)
839
+ memberAgent: `${NS.aporg}memberAgent`,
840
+ organizationAgent: `${NS.aporg}organizationAgent`,
841
+ hasRoleAssignment: `${NS.aporg}hasRoleAssignment`,
842
+ assignedMembership: `${NS.aporg}assignedMembership`,
843
+ assignedRole: `${NS.aporg}assignedRole`,
844
+ materializedByDelegation: `${NS.aporg}materializedByDelegation`,
845
+ supportedByEntitlement: `${NS.aporg}supportedByEntitlement`,
846
+ expressesJoinIntent: `${NS.aporg}expressesJoinIntent`,
847
+ // Team affiliation (spec 344 §1.2/§4.2). charteredBy / engagedWith are DERIVED, never asserted.
848
+ teamAgent: `${NS.aporg}teamAgent`,
849
+ affiliatedOrganization: `${NS.aporg}affiliatedOrganization`,
850
+ affiliationKind: `${NS.aporg}affiliationKind`,
851
+ mandatedByDelegation: `${NS.aporg}mandatedByDelegation`,
852
+ charteredBy: `${NS.aporg}charteredBy`,
853
+ engagedWith: `${NS.aporg}engagedWith`,
854
+ // Workspace plane (spec 344 §2/§4.2). Binding grants nothing; custody never moves.
855
+ governedBy: `${NS.aporg}governedBy`,
856
+ workspacePurpose: `${NS.aporg}workspacePurpose`,
857
+ workspaceProfile: `${NS.aporg}workspaceProfile`,
858
+ focusedOn: `${NS.aporg}focusedOn`,
859
+ workspaceParticipationPolicy: `${NS.aporg}workspaceParticipationPolicy`,
860
+ /** aporg: — distinct from the apmsg: topic `participantAgent` above. */
861
+ workspaceParticipantAgent: `${NS.aporg}participantAgent`,
862
+ inWorkspace: `${NS.aporg}inWorkspace`,
863
+ coordinatedBy: `${NS.aporg}coordinatedBy`,
864
+ /** owl:inverseOf coordinatedBy; at most one (spec 346 §2.2). */
865
+ coordinatesWorkspace: `${NS.aporg}coordinatesWorkspace`,
866
+ boundAgent: `${NS.aporg}boundAgent`,
867
+ represents: `${NS.aporg}represents`,
868
+ representationOfWorkspace: `${NS.aporg}representationOfWorkspace`,
869
+ sourceCustodian: `${NS.aporg}sourceCustodian`,
870
+ localLabel: `${NS.aporg}localLabel`,
871
+ /** Missing = a SHACL violation: absence of a policy is never public (spec 344 §4.6). */
872
+ sharingPolicy: `${NS.aporg}sharingPolicy`,
873
+ representationValidUntil: `${NS.aporg}representationValidUntil`,
874
+ adoptedResource: `${NS.aporg}adoptedResource`,
875
+ boundApp: `${NS.aporg}boundApp`,
876
+ hostedInWorkspace: `${NS.apmsg}hostedInWorkspace`,
877
+ // Responsibility (spec 344 §1.5) — NEVER an authorization; underMandate is a reference.
878
+ responsibleAgent: `${NS.aporg}responsibleAgent`,
879
+ accountableAgent: `${NS.aporg}accountableAgent`,
880
+ responsibilityKind: `${NS.aporg}responsibilityKind`,
881
+ responsibilityScope: `${NS.aporg}responsibilityScope`,
882
+ underMandate: `${NS.aporg}underMandate`,
883
+ /** aporg: — distinct from the apcoord: outcome term of the same local name. */
884
+ responsibilityExpectedOutcome: `${NS.aporg}expectedOutcome`,
885
+ reviewCadenceDays: `${NS.aporg}reviewCadenceDays`,
886
+ // Agentic Interaction (spec 340; ADR-0058)
887
+ containsEnvelope: `${NS.apix}containsEnvelope`,
888
+ realizesAct: `${NS.apix}realizesAct`,
889
+ exchangeActor: `${NS.apix}actor`,
890
+ exchangePrincipal: `${NS.apix}principal`,
891
+ actExpressesIntent: `${NS.apix}expressesIntent`,
892
+ occursIn: `${NS.apix}occursIn`,
893
+ conveys: `${NS.apix}conveys`,
894
+ pinsContext: `${NS.apix}pinsContext`,
895
+ answers: `${NS.apix}answers`,
896
+ supersedes: `${NS.apix}supersedes`,
897
+ /** Act-level and Offer-ranged. `supersedes` is the Exchange-level relation; they are not synonyms. */
898
+ counters: `${NS.apix}counters`,
899
+ accepts: `${NS.apix}accepts`,
900
+ /** WHAT the act does. The TS field is `CommunicativeActV1.performative`; same name on purpose. */
901
+ performative: `${NS.apix}performative`,
902
+ createsCommitment: `${NS.apix}createsCommitment`,
903
+ dischargesCommitment: `${NS.apix}dischargesCommitment`,
904
+ attests: `${NS.apix}attests`,
905
+ // The two anti-downgrade pins, as predicates so a shape can REQUIRE them rather than prose asking.
906
+ contextDigest: `${NS.apix}contextDigest`,
907
+ profileVersion: `${NS.apix}profileVersion`,
908
+ pinsProfileVersion: `${NS.apix}pinsProfileVersion`,
909
+ // usedDelegation / usedStatusEvidence / onBehalfOf are NOT here — they are apvr:, already defined
910
+ // in tbox/verification-receipt.ttl. The packages/provenance comments cited apfab: and were wrong.
911
+ // Runtime entitlements (spec 324)
912
+ entitlementSubject: `${NS.apent}entitlementSubject`,
913
+ entitlementPrincipal: `${NS.apent}entitlementPrincipal`,
914
+ // Actor-context roles (spec 326; ADR-0052) — CONTEXT on a hop, never authority
915
+ accountabilityRoot: `${NS.apactor}accountabilityRoot`,
916
+ rootPrincipal: `${NS.apactor}rootPrincipal`,
917
+ originatingAgent: `${NS.apactor}originatingAgent`,
918
+ actingAgent: `${NS.apactor}actingAgent`,
919
+ actorAgentInstance: `${NS.apactor}agentInstance`,
920
+ actorConfirmationKey: `${NS.apactor}confirmationKey`,
921
+ /** The Activities edge into the workspace plane (spec 344 §4.3) — an audit context, never authority. */
922
+ withinWorkspace: `${NS.apactor}withinWorkspace`,
923
+ // Actor-context binding relationships (typed cross-bindings; NEVER identity equality)
924
+ accountabilityRootOf: `${NS.apactor}accountabilityRootOf`,
925
+ representsPrincipal: `${NS.apactor}representsPrincipal`,
926
+ agentIdentityOf: `${NS.apactor}agentIdentityOf`,
927
+ runtimeInstanceOf: `${NS.apactor}runtimeInstanceOf`,
928
+ actorControlledBy: `${NS.apactor}controlledBy`,
929
+ actorDelegatedTo: `${NS.apactor}delegatedTo`,
930
+ executedByWorkload: `${NS.apactor}executedByWorkload`,
931
+ // ── The public profile facet (spec 217/282; facet-registries G2/G3/G4) ──
932
+ // These were emitted into the production graph by the discovery indexer and queried by the MCP
933
+ // long before any T-box declared them. tbox/profile.ttl now does.
934
+ profileDisplayName: `${NS.approf}displayName`,
935
+ profileDescription: `${NS.approf}description`,
936
+ profileSkills: `${NS.approf}skills`,
937
+ /** facet-registries G8 — the NODE-KEYED name-record description (tbox/identity.ttl). Same on-chain
938
+ * predicate key as `profileDescription` (keccak256("atl:description")) read off a different resolver,
939
+ * but a different author, subject and lifetime: the name's owner writes it and it transfers with the
940
+ * name, while `profileDescription` is the agent's own and survives a rename. Emitting both under
941
+ * `approf:description` let the node-keyed projector loop clobber the SA-keyed one by source order. */
942
+ nameDescription: `${NS.apnam}description`,
943
+ /** Spec 331 — one triple per PARSED capability id inside atl:skills, so the matcher can do
944
+ * set membership instead of substring search over a joined haystack. */
945
+ declaresCapabilityId: `${NS.approf}declaresCapabilityId`,
946
+ /** BCP-47 tags, lowercase, comma-separated. Subtag-PREFIX matching; substring is forbidden. */
947
+ languages: `${NS.approf}languages`,
948
+ /** ISO 3166 / GeoFeatureRegistry codes, uppercase. Exact set membership; no hierarchy walk. */
949
+ regions: `${NS.approf}regions`,
950
+ /** Subject-domain labels (apctx:KnowledgeDomain). fitScore boost ONLY — never a hard filter. */
951
+ focusAreas: `${NS.approf}focusAreas`,
952
+ /** Spec 347 §8.5 — `atl:distribution`: the JCS JSON of an `AgentDistributionV1` (how to obtain + run the
953
+ * agent's software; mirrors the ACP registry agent.schema.json). Stored + projected as the plain string;
954
+ * parsed fail-closed by consumers. Distribution only — never a capability claim or trust signal. */
955
+ distribution: `${NS.approf}distribution`,
956
+ // ── Capability relations — three assertion strengths + structure (architecture §2) ──
957
+ // declared / claimed / demonstrated are separate EDGES with separate verification paths, not
958
+ // degrees of one score. Never sum them.
959
+ definesCapability: `${NS.aps}definesCapability`,
960
+ classifiesCapability: `${NS.aps}classifiesCapability`,
961
+ assertsCapability: `${NS.aps}assertsCapability`,
962
+ declaresCapability: `${NS.aps}declaresCapability`,
963
+ claimsCapability: `${NS.aps}claimsCapability`,
964
+ demonstratedCapability: `${NS.aps}demonstratedCapability`,
965
+ specializesCapability: `${NS.aps}specializesCapability`,
966
+ hasComponentCapability: `${NS.aps}hasComponentCapability`,
967
+ requiresCapability: `${NS.aps}requiresCapability`,
968
+ supportsCapability: `${NS.apguide}supportsCapability`,
969
+ capabilityId: `${NS.aps}capabilityId`,
970
+ outcomeStatement: `${NS.aps}outcomeStatement`,
971
+ hasRealizationContract: `${NS.aps}hasRealizationContract`,
972
+ contractStatus: `${NS.aps}contractStatus`,
973
+ deferredContractRationale: `${NS.aps}deferredContractRationale`,
974
+ inCatalog: `${NS.aps}inCatalog`,
975
+ catalogSteward: `${NS.aps}catalogSteward`,
976
+ // ── Execution plane (tbox/execution.ttl) — realization, completion, and the routing PARAMETER ──
977
+ realizesCapability: `${NS.apexec}realizesCapability`,
978
+ // routedOnCapability is the ONE datum standing between the parameterised advisory contract and
979
+ // enforceability: the capability the org's routing selected the responder on. Declared, not yet
980
+ // emitted — spec 330 W1 emits it; until then the advisory contract is deferred.
981
+ routedOnCapability: `${NS.apexec}routedOnCapability`,
982
+ completionState: `${NS.apexec}completionState`,
983
+ usedPlanContentHash: `${NS.apexec}usedPlanContentHash`,
984
+ // ── Context facets ──
985
+ classifiedBy: `${NS.apctx}classifiedBy`,
986
+ ownedByContext: `${NS.apctx}ownedByContext`,
987
+ inJurisdiction: `${NS.apctx}inJurisdiction`,
988
+ inLanguage: `${NS.apctx}inLanguage`,
989
+ levelInMap: `${NS.apctx}levelInMap`,
990
+ entryCapability: `${NS.apctx}entryCapability`,
991
+ // ── The projected trust fabric (facet-registries G1) ──
992
+ // Retained verbatim in the `ap:` namespace: these IRIs are already in the deployed GraphDB and
993
+ // in demo-discovery-mcp's SPARQL query text. Re-prefixing them is a graph migration, not an
994
+ // edit, and buys nothing semantic (facet-registries §7 identifier/prose split).
995
+ hasRelationship: `${NS.ap}hasRelationship`,
996
+ hasAttestation: `${NS.ap}hasAttestation`,
997
+ edgeId: `${NS.ap}edgeId`,
998
+ edgeSubject: `${NS.ap}edgeSubject`,
999
+ edgeObject: `${NS.ap}edgeObject`,
1000
+ relationshipType: `${NS.ap}relationshipType`,
1001
+ relationshipTypeId: `${NS.ap}relationshipTypeId`,
1002
+ edgeStatus: `${NS.ap}edgeStatus`,
1003
+ relatedAgent: `${NS.ap}relatedAgent`,
1004
+ edgeDirection: `${NS.ap}edgeDirection`,
1005
+ edgeCount: `${NS.ap}edgeCount`,
1006
+ activeEdgeCount: `${NS.ap}activeEdgeCount`,
1007
+ attestationIssuer: `${NS.ap}attestationIssuer`,
1008
+ attestationValid: `${NS.ap}attestationValid`,
1009
+ attestationCount: `${NS.ap}attestationCount`,
1010
+ validAttestationCount: `${NS.ap}validAttestationCount`,
1011
+ // ── Coordination plane (tbox/coordination.ttl; spec 332) ──
1012
+ adoptedFrom: `${NS.apcoord}adoptedFrom`,
1013
+ hasOutcomeSpecification: `${NS.apcoord}hasOutcomeSpecification`,
1014
+ hasCriterion: `${NS.apcoord}hasCriterion`,
1015
+ hasEndeavorRelation: `${NS.apcoord}hasRelation`,
1016
+ relatedEndeavor: `${NS.apcoord}relatedEndeavor`,
1017
+ endeavorRelationKind: `${NS.apcoord}relationKind`,
1018
+ plansEndeavor: `${NS.apcoord}plansEndeavor`,
1019
+ planEdgeFrom: `${NS.apcoord}edgeFrom`,
1020
+ planEdgeTo: `${NS.apcoord}edgeTo`,
1021
+ planEdgeKind: `${NS.apcoord}edgeKind`,
1022
+ achievesMilestone: `${NS.apcoord}achieves`,
1023
+ participatesIn: `${NS.apcoord}participatesIn`,
1024
+ proposesSteps: `${NS.apcoord}proposesSteps`,
1025
+ selectsProposal: `${NS.apcoord}selectsProposal`,
1026
+ acceptsAllocation: `${NS.apcoord}acceptsAllocation`,
1027
+ bindsPlanRevision: `${NS.apcoord}bindsPlanRevision`,
1028
+ planContentHash: `${NS.apcoord}planContentHash`,
1029
+ snapshotHash: `${NS.apcoord}snapshotHash`,
1030
+ endeavorEntryPoint: `${NS.apcoord}entryPoint`,
1031
+ // ── P-Plan grounding (tbox/plan.ttl; spec 332 §4) — the run bridge ──
1032
+ isStepOfPlan: `${EXTERNAL_NS.pplan}isStepOfPlan`,
1033
+ isPrecededBy: `${EXTERNAL_NS.pplan}isPrecededBy`,
1034
+ correspondsToStep: `${EXTERNAL_NS.pplan}correspondsToStep`,
1035
+ hasInputVar: `${EXTERNAL_NS.pplan}hasInputVar`,
1036
+ hasOutputVar: `${EXTERNAL_NS.pplan}hasOutputVar`,
1037
+ isVariableOfPlan: `${EXTERNAL_NS.pplan}isVariableOfPlan`,
1038
+ // ── EP-PLAN plan↔execution bridge (tbox/plan.ttl imported subset) ──
1039
+ hasTraceElement: `${EXTERNAL_NS.epplan}hasTraceElement`,
1040
+ hasConstraint: `${EXTERNAL_NS.epplan}hasConstraint`,
1041
+ evaluatedAgainst: `${EXTERNAL_NS.epplan}evaluatedAgainst`,
1042
+ constraintSatisfied: `${EXTERNAL_NS.epplan}satisfied`,
1043
+ constraintViolated: `${EXTERNAL_NS.epplan}violated`,
1044
+ achievesObjective: `${EXTERNAL_NS.epplan}achieves`,
1045
+ isAchievedBy: `${EXTERNAL_NS.epplan}isAchievedBy`,
1046
+ isDecomposedAsPlan: `${EXTERNAL_NS.epplan}isDecomposedAsPlan`,
1047
+ isSubPlanOfPlan: `${EXTERNAL_NS.epplan}isSubPlanOfPlan`,
1048
+ // ── Intent engagement plane (tbox/engagement.ttl; spec 336 W0 subset) — the digest bindings
1049
+ // and seams. The offer binds to the projection it reviewed; the mandate binds by digest to
1050
+ // intent + offer; the receipt binds the whole chain. ──
1051
+ intentProjectionOf: `${NS.apeng}projectionOf`,
1052
+ projectionAudience: `${NS.apeng}projectionAudience`,
1053
+ projectionDigest: `${NS.apeng}projectionDigest`,
1054
+ projectionWithholds: `${NS.apeng}projectionWithholds`,
1055
+ campaignForIntent: `${NS.apeng}campaignForIntent`,
1056
+ campaignCandidate: `${NS.apeng}campaignCandidate`,
1057
+ withinCampaign: `${NS.apeng}withinCampaign`,
1058
+ withinEngagement: `${NS.apeng}withinEngagement`,
1059
+ probeCarriesProjection: `${NS.apeng}probeCarriesProjection`,
1060
+ engagementObjective: `${NS.apeng}engagementObjective`,
1061
+ respondsToProbe: `${NS.apeng}respondsToProbe`,
1062
+ engagementResponseKind: `${NS.apeng}engagementResponseKind`,
1063
+ responseCarriesOffer: `${NS.apeng}responseCarriesOffer`,
1064
+ basisOfOffer: `${NS.apeng}basisOfOffer`,
1065
+ offerForIntentDigest: `${NS.apeng}offerForIntentDigest`,
1066
+ offerRequiresMandate: `${NS.apeng}offerRequiresMandate`,
1067
+ acceptsOffer: `${NS.apeng}acceptsOffer`,
1068
+ acceptedOfferDigest: `${NS.apeng}acceptedOfferDigest`,
1069
+ composesOffer: `${NS.apeng}composesOffer`,
1070
+ authorizesOffer: `${NS.apeng}authorizesOffer`,
1071
+ mandateDerivedFromDelegation: `${NS.apeng}derivedFromDelegation`,
1072
+ bindsIntentDigest: `${NS.apeng}bindsIntentDigest`,
1073
+ derivedFromMandate: `${NS.apeng}derivedFromMandate`,
1074
+ receiptForMandate: `${NS.apeng}receiptForMandate`,
1075
+ receiptForIntentDigest: `${NS.apeng}receiptForIntentDigest`,
1076
+ engagementRequestingPrincipal: `${NS.apeng}requestingPrincipal`,
1077
+ // ── Card projection (tbox/card-projection.ttl; spec 347 §11). Every node points AT the SA. ──
1078
+ describesAgent: `${NS.ap}describesAgent`,
1079
+ hasAgentCard: `${NS.ap}hasAgentCard`,
1080
+ primaryPublicCard: `${NS.ap}primaryPublicCard`,
1081
+ hasRelease: `${NS.ap}hasRelease`,
1082
+ releaseOf: `${NS.ap}releaseOf`,
1083
+ supersedesRelease: `${NS.ap}supersedesRelease`,
1084
+ derivedFromSnapshot: `${NS.ap}derivedFromSnapshot`,
1085
+ usesProjectionDefinition: `${NS.ap}usesProjectionDefinition`,
1086
+ usesCardRelease: `${NS.ap}usesCardRelease`,
1087
+ generatedArtifact: `${NS.ap}generatedArtifact`,
1088
+ projectsTo: `${NS.ap}projectsTo`,
1089
+ hasTargetSpecification: `${NS.ap}hasTargetSpecification`,
1090
+ hasAdapterVersion: `${NS.ap}hasAdapterVersion`,
1091
+ hasLoss: `${NS.ap}hasLoss`,
1092
+ lossCategory: `${NS.ap}lossCategory`,
1093
+ lossSeverity: `${NS.ap}lossSeverity`,
1094
+ lossExplanation: `${NS.ap}lossExplanation`,
1095
+ sourcePointer: `${NS.ap}sourcePointer`,
1096
+ targetPointer: `${NS.ap}targetPointer`,
1097
+ publishedAs: `${NS.ap}publishedAs`,
1098
+ publishedArtifact: `${NS.ap}publishedArtifact`,
1099
+ establishesBinding: `${NS.ap}establishesBinding`,
1100
+ bindsExternalIdentity: `${NS.ap}bindsExternalIdentity`,
1101
+ targetFamily: `${NS.ap}targetFamily`,
1102
+ targetRegistry: `${NS.ap}targetRegistry`,
1103
+ externalId: `${NS.ap}externalId`,
1104
+ verificationState: `${NS.ap}verificationState`,
1105
+ verificationMethod: `${NS.ap}verificationMethod`,
1106
+ verifiedAt: `${NS.ap}verifiedAt`,
1107
+ lifecycleState: `${NS.ap}lifecycleState`,
1108
+ /** 'public' | 'private'; ABSENCE IS PRIVATE. */
1109
+ disclosureScope: `${NS.ap}disclosureScope`,
1110
+ cardDigest: `${NS.ap}cardDigest`,
1111
+ cardUri: `${NS.ap}cardUri`,
1112
+ cardName: `${NS.ap}cardName`,
1113
+ protocolVersion: `${NS.ap}protocolVersion`,
1114
+ interfaceUrl: `${NS.ap}interfaceUrl`,
1115
+ interfaceTransport: `${NS.ap}interfaceTransport`,
1116
+ // The eight digests — named sub-properties of ap:hasDigest (roles also in ap:digestRoleScheme).
1117
+ hasDigest: `${NS.ap}hasDigest`,
1118
+ hasSourceDigest: `${NS.ap}hasSourceDigest`,
1119
+ hasDefinitionDigest: `${NS.ap}hasDefinitionDigest`,
1120
+ hasTargetSpecificationDigest: `${NS.ap}hasTargetSpecificationDigest`,
1121
+ hasAdapterDigest: `${NS.ap}hasAdapterDigest`,
1122
+ hasConfigurationDigest: `${NS.ap}hasConfigurationDigest`,
1123
+ hasArtifactDigest: `${NS.ap}hasArtifactDigest`,
1124
+ hasCanonicalProfileDigest: `${NS.ap}hasCanonicalProfileDigest`,
1125
+ hasSelectedCardDigest: `${NS.ap}hasSelectedCardDigest`,
1126
+ // Taxonomy mapping (tbox/skills.ttl; spec 347 §5) — relation names a SKOS mapping property.
1127
+ mapsCapability: `${NS.aps}mapsCapability`,
1128
+ taxonomy: `${NS.aps}taxonomy`,
1129
+ taxonomyVersion: `${NS.aps}taxonomyVersion`,
1130
+ targetClassId: `${NS.aps}targetClassId`,
1131
+ taxonomyRelation: `${NS.aps}taxonomyRelation`,
1132
+ mappingAssertedBy: `${NS.aps}mappingAssertedBy`,
1133
+ mappingAssertedAt: `${NS.aps}mappingAssertedAt`,
1134
+ // Estate projection (tbox/estate.ttl; spec 410 §4) — the fields of a vouch the estate keeps. `leafBlind`
1135
+ // is the opening: the one value that exists nowhere else, and the reason this is a vault record.
1136
+ projectionSet: `${NS.apest}projectionSet`,
1137
+ vouchedDigest: `${NS.apest}vouchedDigest`,
1138
+ leafBlind: `${NS.apest}leafBlind`,
1139
+ leafSubject: `${NS.apest}leafSubject`,
1140
+ submittedBy: `${NS.apest}submittedBy`,
1141
+ submissionSource: `${NS.apest}submissionSource`,
1142
+ vouchExpiresAt: `${NS.apest}vouchExpiresAt`,
1143
+ retiredReason: `${NS.apest}retiredReason`,
1144
+ // Anonymous credentials (tbox/privacy-credential.ttl) — the issuer side, the holder side, the exchange, the
1145
+ // authority around the proof, the verifier's policy and the evidence a door keeps.
1146
+ facetSubject: `${NS.appc}facetSubject`,
1147
+ facetKeyId: `${NS.appc}facetKeyId`,
1148
+ facetSuite: `${NS.appc}facetSuite`,
1149
+ facetPublicKeyThumbprint: `${NS.appc}facetPublicKeyThumbprint`,
1150
+ facetHash: `${NS.appc}facetHash`,
1151
+ facetValidFrom: `${NS.appc}facetValidFrom`,
1152
+ facetValidUntil: `${NS.appc}facetValidUntil`,
1153
+ anchoredBy: `${NS.appc}anchoredBy`,
1154
+ issuerRowOf: `${NS.appc}issuerRowOf`,
1155
+ issuerRowId: `${NS.appc}issuerRowId`,
1156
+ liveCredentialRoot: `${NS.appc}liveCredentialRoot`,
1157
+ anchoredSequence: `${NS.appc}anchoredSequence`,
1158
+ anchoredAt: `${NS.appc}anchoredAt`,
1159
+ hasLiveCredentialLeaf: `${NS.appc}hasLiveCredentialLeaf`,
1160
+ issuedUnder: `${NS.appc}issuedUnder`,
1161
+ boundToDeviceKey: `${NS.appc}boundToDeviceKey`,
1162
+ credentialDigest: `${NS.appc}credentialDigest`,
1163
+ claimSchema: `${NS.appc}claimSchema`,
1164
+ deviceKeyThumbprint: `${NS.appc}deviceKeyThumbprint`,
1165
+ pairwiseFor: `${NS.appc}pairwiseFor`,
1166
+ requestSuite: `${NS.appc}requestSuite`,
1167
+ verifierId: `${NS.appc}verifierId`,
1168
+ audience: `${NS.appc}audience`,
1169
+ challengeNonce: `${NS.appc}challengeNonce`,
1170
+ asksPredicate: `${NS.appc}asksPredicate`,
1171
+ acceptedBundleVersion: `${NS.appc}acceptedBundleVersion`,
1172
+ predicateDigest: `${NS.appc}predicateDigest`,
1173
+ hasPredicate: `${NS.appc}hasPredicate`,
1174
+ predicateClaim: `${NS.appc}predicateClaim`,
1175
+ predicateOp: `${NS.appc}predicateOp`,
1176
+ predicateOperand: `${NS.appc}predicateOperand`,
1177
+ answersRequest: `${NS.appc}answersRequest`,
1178
+ presentedUnder: `${NS.appc}presentedUnder`,
1179
+ provesPredicate: `${NS.appc}provesPredicate`,
1180
+ bundleVersion: `${NS.appc}bundleVersion`,
1181
+ relationshipHandle: `${NS.appc}relationshipHandle`,
1182
+ carriesNullifier: `${NS.appc}carriesNullifier`,
1183
+ carriesStatus: `${NS.appc}carriesStatus`,
1184
+ signedByDeviceKey: `${NS.appc}signedByDeviceKey`,
1185
+ madeUnderMandate: `${NS.appc}madeUnderMandate`,
1186
+ presents: `${NS.appc}presents`,
1187
+ nullifierValue: `${NS.appc}nullifierValue`,
1188
+ nullifierGrade: `${NS.appc}nullifierGrade`,
1189
+ statusOf: `${NS.appc}statusOf`,
1190
+ statusSequence: `${NS.appc}statusSequence`,
1191
+ mandateAudience: `${NS.appc}mandateAudience`,
1192
+ mandatePredicateDigest: `${NS.appc}mandatePredicateDigest`,
1193
+ mandateIssuerKeyId: `${NS.appc}mandateIssuerKeyId`,
1194
+ maxPresentations: `${NS.appc}maxPresentations`,
1195
+ releasedUnder: `${NS.appc}releasedUnder`,
1196
+ releaseOutcome: `${NS.appc}releaseOutcome`,
1197
+ policyAsksPredicate: `${NS.appc}policyAsksPredicate`,
1198
+ requiresNullifier: `${NS.appc}requiresNullifier`,
1199
+ acceptsNullifierGrade: `${NS.appc}acceptsNullifierGrade`,
1200
+ nullifierWindowSeconds: `${NS.appc}nullifierWindowSeconds`,
1201
+ requiresStatus: `${NS.appc}requiresStatus`,
1202
+ statusMaxAgeSeconds: `${NS.appc}statusMaxAgeSeconds`,
1203
+ trustsIssuerFacet: `${NS.appc}trustsIssuerFacet`,
1204
+ verifierPlacement: `${NS.appc}verifierPlacement`,
1205
+ evidenceFacet: `${NS.appc}evidenceFacet`,
1206
+ evidencePredicateDigest: `${NS.appc}evidencePredicateDigest`,
1207
+ evidenceNullifierGrade: `${NS.appc}evidenceNullifierGrade`,
1208
+ evidenceStatusSequence: `${NS.appc}evidenceStatusSequence`,
1209
+ evidencedIn: `${NS.appc}evidencedIn`,
1210
+ proofGrade: `${NS.appc}proofGrade`,
58
1211
  };
59
- /** SHACL shape IRIs (C-box). */
1212
+ /** SHACL shape IRIs (C-box).
1213
+ *
1214
+ * NOTE: substrate-spine runtime SHACL shapes live in their OWNING packages
1215
+ * per PD-19, NOT in this package. The shape IRIs below are only the ones
1216
+ * the ontology package itself ships (identity / core layer); for spine
1217
+ * shapes (intents, constraints, agreement, payment, fulfillment, credentials,
1218
+ * a2a-task), import from the owning package.
1219
+ */
60
1220
  export const SHAPE = {
61
1221
  CanonicalAgentId: `${NS.ap}CanonicalAgentIdShape`,
62
1222
  CredentialFacet: `${NS.apcr}CredentialFacetShape`,
1223
+ // Anonymous credentials (cbox/privacy-credential-shapes.shacl.ttl): a pairwise account names no person; a
1224
+ // presentation answers one request and carries no claim value; a nullifier is scoped and graded; a facet is an
1225
+ // org's or a service's and anchored; a mandate is bounded; evidence names what held. Structure, never permission.
1226
+ PairwiseAccount: `${NS.appc}PairwiseAccountShape`,
1227
+ PrivatePresentation: `${NS.appc}PrivatePresentationShape`,
1228
+ Nullifier: `${NS.appc}NullifierShape`,
1229
+ IssuerKeyFacet: `${NS.appc}IssuerKeyFacetShape`,
1230
+ PresentationMandate: `${NS.appc}PresentationMandateShape`,
1231
+ PredicateAdmissionEvidence: `${NS.appc}PredicateAdmissionEvidenceShape`,
1232
+ // Verifiable-content substrate (spec 266) — encodes ADR-0033 R3 (no inline text).
1233
+ ContentDescriptor: `${NS.apcnt}ContentDescriptorShape`,
1234
+ RegistryEntry: `${NS.apreg}RegistryEntryShape`,
1235
+ SignedAgentCard: `${NS.apreg}SignedAgentCardShape`,
1236
+ RegistryEntryBindingProof: `${NS.apreg}RegistryEntryBindingProofShape`,
1237
+ ExternalRegistryFacet: `${NS.apreg}ExternalRegistryFacetShape`,
1238
+ CandidateQuery: `${NS.apdisc}CandidateQueryShape`,
1239
+ MatchCandidate: `${NS.apdisc}MatchCandidateShape`,
1240
+ TrustDetermination: `${NS.apdisc}TrustDeterminationShape`,
1241
+ ExposureFinding: `${NS.apsec}ExposureFindingShape`,
1242
+ // Messaging / interaction substrate (spec 322 §3) — declared here, ENFORCED by fabric's TS
1243
+ // validators (golden-vectored); never a hot-path SHACL engine, never the on-chain term registry.
1244
+ MessageEnvelope: `${NS.apmsg}MessageEnvelopeShape`,
1245
+ MessageEvent: `${NS.apmsg}MessageEventShape`,
1246
+ Conversation: `${NS.apmsg}ConversationShape`,
1247
+ ChannelBoard: `${NS.apmsg}ChannelBoardShape`,
1248
+ DirectoryListing: `${NS.aporg}DirectoryListingShape`,
1249
+ OrganizationMembership: `${NS.aporg}OrganizationMembershipShape`,
1250
+ // ── Team affiliation / workspace / representation / responsibility
1251
+ // (spec 344 §4.6; cbox/org-team-shapes.shacl.ttl). Structure, never permission. ──
1252
+ TeamAffiliation: `${NS.aporg}TeamAffiliationShape`,
1253
+ WorkspaceParticipation: `${NS.aporg}WorkspaceParticipationShape`,
1254
+ Workspace: `${NS.aporg}WorkspaceShape`,
1255
+ /** A missing sharingPolicy is a VIOLATION — absence of a policy is never public. */
1256
+ WorkspaceRepresentation: `${NS.aporg}WorkspaceRepresentationShape`,
1257
+ Responsibility: `${NS.aporg}ResponsibilityShape`,
1258
+ // ── Typed names, contextual issuance, workspace agent + registry agents, receipts, lifecycle log
1259
+ // (spec 346 §11; cbox/naming-registry-shapes.shacl.ttl). ──
1260
+ /** Suffix ↔ target ap:agentType consistency; legacy (suffix-less) names are exempt. */
1261
+ TypedAgentName: `${NS.apnam}TypedAgentNameShape`,
1262
+ ContextualNameIssuance: `${NS.apnam}ContextualNameIssuanceShape`,
1263
+ WorkspaceAgent: `${NS.ap}WorkspaceAgentShape`,
1264
+ RegistryAgent: `${NS.ap}RegistryAgentShape`,
1265
+ /** Every AdmissionCheck in exactly one of verified / failed / notVerified. */
1266
+ RegistrationReceipt: `${NS.apreg}RegistrationReceiptShape`,
1267
+ /** previousEventDigest present for sequence > 0; kinds / digests / registry pinned. */
1268
+ RegistryLifecycleEvent: `${NS.apreg}RegistryLifecycleEventShape`,
1269
+ /** eventSequence unique per registry (its own shape: one sh:sparql per NodeShape). */
1270
+ RegistryLogSequence: `${NS.apreg}RegistryLogSequenceShape`,
1271
+ // ── Run provenance (spec 389 W2; cbox/run-provenance-shapes.shacl.ttl) — what makes a run's PROV
1272
+ // record EVIDENCE. Never permission: a refused step is fully shape-valid; no verifier reads these.
1273
+ ActivityTemporalOrder: `${NS.apexec}ActivityTemporalOrderShape`,
1274
+ RunTemporalOrder: `${NS.apexec}RunTemporalOrderShape`,
1275
+ StepUsageResolvable: `${NS.apexec}StepUsageResolvableShape`,
1276
+ CapabilityStepMandate: `${NS.apexec}CapabilityStepMandateShape`,
1277
+ CompletedStepReceipt: `${NS.apexec}CompletedStepReceiptShape`,
1278
+ ExecutionTraceBundleMembership: `${NS.apexec}ExecutionTraceBundleMembershipShape`,
1279
+ NoPlaintextInRunProvenance: `${NS.apexec}NoPlaintextInRunProvenanceShape`,
1280
+ // ── Agentic Interaction (spec 340; ADR-0058; cbox/interaction-shapes.shacl.ttl) ──
1281
+ // Structure, never permission: an UNAUTHORIZED act must stay recordable, so it must stay
1282
+ // shape-valid. What these forbid is a record that cannot later be interpreted.
1283
+ Interaction: `${NS.apix}InteractionShape`,
1284
+ InteractionProfile: `${NS.apix}InteractionProfileShape`,
1285
+ Exchange: `${NS.apix}ExchangeShape`,
1286
+ /** Was declared here pointing at a shape defined in no file until spec 340 wrote it. */
1287
+ CommunicativeAct: `${NS.apix}CommunicativeActShape`,
1288
+ AcceptAct: `${NS.apix}AcceptActShape`,
1289
+ CounterOfferAct: `${NS.apix}CounterOfferActShape`,
1290
+ CounteringExchange: `${NS.apix}CounteringExchangeShape`,
1291
+ Answer: `${NS.apix}AnswerShape`,
1292
+ ContextSnapshot: `${NS.apix}ContextSnapshotShape`,
1293
+ InteractionReceipt: `${NS.apix}ReceiptShape`,
1294
+ // Routed consultation (spec 329 §6; cbox/consultation-shapes.shacl.ttl) — declared here,
1295
+ // ENFORCED by fabric's TS validators (golden-vectored), like the messaging shapes above.
1296
+ ConsultationIntent: `${NS.apint}ConsultationIntentShape`,
1297
+ ConsultAnswer: `${NS.apmsg}ConsultAnswerShape`,
1298
+ // ── Public profile facet + trust fabric (spec 331; cbox/agent-facet-shapes.shacl.ttl) ──
1299
+ AgentProfile: `${NS.approf}AgentProfileShape`,
1300
+ NoEncodedFacetInSkills: `${NS.approf}NoEncodedFacetInSkillsShape`,
1301
+ TrustGraphEdge: `${NS.aptrust}TrustGraphEdgeShape`,
1302
+ Attestation: `${NS.apatt}AttestationShape`,
1303
+ AgentTrustFabric: `${NS.ap}AgentTrustFabricShape`,
1304
+ // ── Capability catalogs + realization contracts
1305
+ // (spec 330 W0 §7; cbox/capability-catalog-shapes.shacl.ttl) ──
1306
+ Capability: `${NS.aps}CapabilityShape`,
1307
+ CapabilityDefinition: `${NS.aps}CapabilityDefinitionShape`,
1308
+ DeferredContract: `${NS.aps}DeferredContractShape`,
1309
+ CapabilityCatalog: `${NS.aps}CapabilityCatalogShape`,
1310
+ CapabilityProtocolProjection: `${NS.aps}CapabilityProtocolProjectionShape`,
1311
+ /** The META-shape every realization contract conforms to (architecture §5). */
1312
+ CapabilityRealizationContract: `${NS.aps}CapabilityRealizationContractShape`,
1313
+ /** The two contracts this substrate can ENFORCE today; the rest of the advisory catalog
1314
+ * declares contractStatus 'deferred' with a rationale (spec 331). */
1315
+ MemberConsultationRealizationContract: `${NS.aps}MemberConsultationRealizationContract`,
1316
+ OrgConsultationSynthesisRealizationContract: `${NS.aps}OrgConsultationSynthesisRealizationContract`,
1317
+ /** The ONE parameterised advisory contract — serves every consult-realizable adv:* capability,
1318
+ * the capability id being DATA on the activity, not baked into the shape name. Ships
1319
+ * DEACTIVATED until spec 330 W1 emits apexec:routedOnCapability (see the shape's header). */
1320
+ AdvisoryConsultRealizationContract: `${NS.aps}AdvisoryConsultRealizationContract`,
1321
+ /** Crawled-offering well-formedness (cbox/discovery-graph-shapes.shacl.ttl; spec 286). */
1322
+ Offering: `${NS.apdisc}OfferingShape`,
1323
+ // ── FamilyOffice relationship archetypes (New City AI; cbox/familyoffice-shapes.shacl.ttl) — one
1324
+ // NodeShape per apfo relationship class validating its role bindings + typed body (the kind
1325
+ // pinned to a closed cbox SKOS scheme via sh:in). The New City portal derives a flat ShapeDef
1326
+ // from each to validate a relationship record before a vault-first write. ──
1327
+ Guardianship: `${NS.apfo}GuardianshipShape`,
1328
+ Trusteeship: `${NS.apfo}TrusteeshipShape`,
1329
+ Ownership: `${NS.apfo}OwnershipShape`,
1330
+ SpouseRelation: `${NS.apfo}SpouseRelationShape`,
1331
+ ParentChildRelation: `${NS.apfo}ParentChildRelationShape`,
1332
+ SiblingRelation: `${NS.apfo}SiblingRelationShape`,
1333
+ // ── Card projection (spec 347 §11; cbox/card-projection-shapes.shacl.ttl). Structure, never
1334
+ // permission — and never authority: a conformant binding is still only evidence. ──
1335
+ /** A2AAgentCard: name, ≥1 interface URL, protocolVersion. */
1336
+ PublicCardMetadata: `${NS.ap}PublicCardMetadataShape`,
1337
+ /** ProjectionArtifact: ALL eight digests, a loss report, and the agent it describes. */
1338
+ ProjectionProvenance: `${NS.ap}ProjectionProvenanceShape`,
1339
+ /** ProjectionLoss: a category from ap:lossCategoryScheme and an explanation. */
1340
+ ProjectionLoss: `${NS.ap}ProjectionLossShape`,
1341
+ /** ExternalIdentityBinding: canonical agent + target family + external id + verification state. */
1342
+ ExternalIdentityBinding: `${NS.ap}ExternalIdentityBindingShape`,
1343
+ /** A PUBLIC artifact carries no loopback / private / link-local endpoint and no vault reference. */
1344
+ PublicDisclosureBoundary: `${NS.ap}PublicDisclosureBoundaryShape`,
1345
+ /** Its own NodeShape (one sh:sparql per shape): no literal anywhere on a public artifact is a vault ref. */
1346
+ PublicArtifactNoVaultRef: `${NS.ap}PublicArtifactNoVaultRefShape`,
63
1347
  };
64
- // `ARTIFACTS` + `artifactPath` (Node-only, `node:url`) live in the
65
- // `@agenticprimitives/ontology/artifacts` subpath — keep this entry browser-safe.
1348
+ export { GROUNDED_VOCABULARY, groundedTerm } from './grounded-vocabulary.js';
1349
+ // Spec 355 — the capability↔ontology binding the Ask and the harness resolve parties with. LAST in this
1350
+ // file on purpose: party-roles imports NS from here, so re-exporting it earlier reads NS in TDZ.
1351
+ export * from './party-roles.js';
1352
+ // Spec 356 W1 — what a vault record key MEANS, bound by IRI to classes the T-box declares.
1353
+ export * from './vault-records.js';
1354
+ // Spec 358 W4 — which relations a plan may enumerate and fan out over. Bound by IRI, fail-closed.
1355
+ export * from './plan-shapes.js';
1356
+ // Spec 363 W3 — the R-box compiled: which relations are inverses, which are chains, and how to walk one.
1357
+ export * from './relations.js';
1358
+ // Spec 363 W2 — what an argument IS when it is not a party, and the one reader each type gets.
1359
+ export * from './arg-types.js';
1360
+ // Spec 363 W4 — the household's own vocabulary: the kin words the T-box declares, compiled.
1361
+ export * from './household.js';
1362
+ // Spec 363 W1 — the DECISION plane: what to do when the world underdetermines the act. Ordered rules
1363
+ // over modelled bases, first-match, fail-closed onto asking, and every answer carries its citation.
1364
+ export * from './decisions.js';
1365
+ export { CONTACT_FIELDS, CONTACT_FIELD_ARGS, CONTACT_PROFILE_PROPERTIES, contactField, precisionOf } from './contact-fields.js';
1366
+ // Spec 389 — the JSON-LD context a run's provenance record is written under (the same object as the
1367
+ // published `run-provenance.jsonld`; a Worker has no filesystem).
1368
+ export { RUN_PROVENANCE_CONTEXT } from './run-provenance-context.js';
1369
+ export { RUN_MEASURES_CONTEXT } from './run-measures-context.js';
1370
+ export { EVALUATION_CONTEXT } from './evaluation-context.js';
1371
+ export * from './participant-vocabulary.js';
1372
+ // Spec 410 §5 — the T-box version manifest a mandate binds (generated by scripts/build-ontology-manifest.ts).
1373
+ export { ONTOLOGY_MANIFEST, ONTOLOGY_MANIFEST_DIGEST } from './versions.generated.js';
1374
+ // Spec 410 §6 — what an open intent's stated outcome entails, bound by IRI.
1375
+ export { OUTCOME_CLASSES, OUTCOME_TERMS, outcomeClassOf } from './outcomes.js';
1376
+ export { PAYLOAD_CLASS, PAYLOAD_CLASS_IDS, PAYLOAD_CLASS_ROOT, payloadClassIri } from './payload-classes.js';
1377
+ // Spec 410 §10 — governance of the common model: adoption, local meanings, stewards.
1378
+ export { GOVERNANCE_TERMS, meaningRef, localMeaningRecordType, LOCAL_MEANING_PREFIX, validateLocalMeaning, STEWARD_TERM_DATATYPE, STEWARD_TERM_PREFIX, stewardTermCurie, encodeStewardTerm, decodeStewardTerm } from './governance.js';
1379
+ // Spec 413 — published works (public + owner-released shelf documents) as the discovery KB holds them.
1380
+ export { PUBLISHED_WORK_TERMS, SHELF_GRAPH } from './published-works.js';
1381
+ export { DOMAIN_PRINCIPLES } from './principles.generated.js';
1382
+ // Spec 420 §2 — capabilities as transitions between situations (goal regression plans over these).
1383
+ export { CAPABILITY_TRANSITIONS, SITUATION, transitionOf, establishersOf } from './transitions.js';
66
1384
  //# sourceMappingURL=index.js.map