xytara 3.1.7 → 3.1.9

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 (47) hide show
  1. package/README.md +1230 -1228
  2. package/RELEASE_NOTES.md +6 -8
  3. package/examples/generated.carried-handoff.json +3 -3
  4. package/lib/a2a_rpc.js +280 -0
  5. package/lib/account_auth.js +585 -518
  6. package/lib/agent_identity.js +162 -0
  7. package/lib/bolt_adapter.js +187 -0
  8. package/lib/bolt_payment_front.js +224 -172
  9. package/lib/checkout_processor_adapter.js +217 -0
  10. package/lib/command_flow.js +561 -411
  11. package/lib/commerce_artifacts.js +530 -503
  12. package/lib/commerce_bridge.js +274 -0
  13. package/lib/commerce_cases.js +399 -317
  14. package/lib/commerce_client.js +7694 -7687
  15. package/lib/commerce_runtime.js +322 -315
  16. package/lib/execution_dedupe.js +86 -0
  17. package/lib/external_credit_bridge.js +142 -142
  18. package/lib/external_execution_runtime.js +82 -34
  19. package/lib/http_transport.js +81 -73
  20. package/lib/l402_adapter.js +241 -0
  21. package/lib/l402_payment_front.js +265 -192
  22. package/lib/mpp_adapter.js +237 -0
  23. package/lib/payment_verification.js +52 -9
  24. package/lib/provider_network_contract.js +143 -0
  25. package/lib/provider_payout_execution.js +137 -0
  26. package/lib/provider_registry.js +666 -0
  27. package/lib/rate_limiter.js +81 -0
  28. package/lib/runtime_state_store.js +369 -354
  29. package/lib/stripe_mpp_payment_front.js +258 -158
  30. package/package.json +18 -3
  31. package/scripts/verify_a2a_rpc.js +105 -0
  32. package/scripts/verify_agent_identity.js +153 -0
  33. package/scripts/verify_bolt_adapter.js +128 -0
  34. package/scripts/verify_checkout_processor.js +109 -0
  35. package/scripts/verify_commerce_bridge.js +177 -0
  36. package/scripts/verify_execution_dedupe.js +189 -0
  37. package/scripts/verify_execution_surfacing.js +76 -0
  38. package/scripts/verify_external_execution_retry.js +113 -0
  39. package/scripts/verify_l402_adapter.js +86 -0
  40. package/scripts/verify_mpp_adapter.js +128 -0
  41. package/scripts/verify_provider_network.js +567 -0
  42. package/scripts/verify_rate_limiter.js +52 -0
  43. package/scripts/verify_refund_credit.js +106 -0
  44. package/scripts/verify_service.js +15421 -15410
  45. package/scripts/verify_settlement.js +116 -0
  46. package/scripts/verify_verify_execute_settle.js +208 -0
  47. package/server.js +684 -16
package/README.md CHANGED
@@ -1,1228 +1,1230 @@
1
- # xytara
2
-
3
- `xytara` is the runtime and payment layer for the public two-repo stack.
4
-
5
- > New to the code? Read [`ARCHITECTURE.md`](ARCHITECTURE.md) first. It separates
6
- > the small execution-and-settlement engine (~9,300 lines) from the large
7
- > machine-readable breadth catalog, so the real runtime is legible in one sitting.
8
-
9
- It exists to let agents, developers, and systems:
10
-
11
- - discover tasks and workflows
12
- - quote work before execution
13
- - pay through supported payment paths
14
- - fund reusable balances and credits
15
- - execute tasks and workflows
16
- - dispatch runtime work
17
- - receive deliverables
18
- - inspect usage, metering, and lifecycle state
19
- - reconcile payment and settlement outcomes
20
- - inspect lifecycle state
21
- - operate through summaries and dashboards
22
- - review disputes, refunds, and remediation flows
23
- - integrate third-party adapters
24
- - emit proof-compatible facts for `xoonya` verification
25
-
26
- This repo is the runtime layer. It does not define base proof semantics. It references and emits proof-compatible facts, while `xoonya` owns canonical proof.
27
-
28
- The 10-phase public program is now complete. `xytara` is in terminal closeout posture rather than active milestone build posture.
29
-
30
- ## Public Boundary
31
-
32
- The public adoption story is intentionally simple:
33
-
34
- - install
35
- - discover
36
- - quote
37
- - pay or spend credits
38
- - execute
39
- - receive deliverables
40
- - hand off to `xoonya` when proof or review is needed
41
-
42
- Public docs and package surfaces should help builders integrate and pay for useful work. Real treasury destinations, custody details, and operator-only controls belong in private runtime configuration and operator handling, not in public marketing surfaces.
43
-
44
- ## Universal Runtime Shape
45
-
46
- `xytara` is intended to be usable from:
47
-
48
- - CLI and terminal
49
- - direct API calls
50
- - chat and agent environments that can issue HTTP calls
51
- - browsers and hosted checkout flows
52
- - operating-system or service wrappers
53
- - partner systems that need to add adapters or registry integrations
54
-
55
- The shortest public runtime loop is:
56
-
57
- - discover
58
- - quote
59
- - pay or spend credits
60
- - execute
61
- - receive deliverables
62
- - inspect results and economic state
63
- - hand off into `xoonya` when proof or review is required
64
-
65
- The frozen runtime-side fact model for that loop is documented in:
66
-
67
- - [XYTARA_EXECUTION_TRUTH_MODEL.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XYTARA_EXECUTION_TRUTH_MODEL.md)
68
- - [XT1_EXECUTION_TRUTH_STANDARD.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XT1_EXECUTION_TRUTH_STANDARD.md)
69
- - [OPERATIONAL_RECEIPT_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/OPERATIONAL_RECEIPT_CONTRACT.md)
70
- - [MACHINE_IDENTITY_REGISTRY_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/MACHINE_IDENTITY_REGISTRY_CONTRACT.md)
71
- - [CRYPTO_AGILITY_MATRIX.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/CRYPTO_AGILITY_MATRIX.md)
72
- - [AUTHORITY_BINDING_LIFECYCLE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/AUTHORITY_BINDING_LIFECYCLE_CONTRACT.md)
73
- - [PUBLIC_SURFACE_POLICY_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/PUBLIC_SURFACE_POLICY_CONTRACT.md)
74
- - [OFFLINE_VERIFIABILITY_AND_RECOVERY_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/OFFLINE_VERIFIABILITY_AND_RECOVERY_CONTRACT.md)
75
- - [ADAPTER_CERTIFICATION_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/ADAPTER_CERTIFICATION_CONTRACT.md)
76
- - [TRUST_PORTABILITY_BOUNDARY_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/TRUST_PORTABILITY_BOUNDARY_CONTRACT.md)
77
- - [SIGNED_AUDIT_PROVENANCE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/SIGNED_AUDIT_PROVENANCE_CONTRACT.md)
78
-
79
- `XT1` is the coined public name for the `xytara` execution-truth standard, just as `XNYA` is the coined public name for the `xoonya` native proof primitive.
80
-
81
- Machine-readable execution-truth surfaces:
82
-
83
- - `GET /v1/xt1`
84
- - `GET /v1/xt1/summary`
85
- - `GET /v1/execution-truth`
86
- - `GET /v1/execution-truth/summary`
87
-
88
- The frozen multi-surface default-path model for `3.0.0` closeout is documented in:
89
-
90
- - [XYTARA_DEFAULT_PATH_MODEL.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XYTARA_DEFAULT_PATH_MODEL.md)
91
-
92
- Machine-readable default-path surfaces:
93
-
94
- - `GET /v1/default-path`
95
- - `GET /v1/default-path/summary`
96
- - `GET /v1/default-path/:surface_id`
97
-
98
- The frozen payment-and-rail claim model for `3.0.0` closeout is documented in:
99
-
100
- - [XYTARA_PAYMENT_RAIL_TRUTH_MODEL.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XYTARA_PAYMENT_RAIL_TRUTH_MODEL.md)
101
-
102
- Machine-readable payment-and-rail truth surfaces:
103
-
104
- - `GET /v1/payment-rail-truth`
105
- - `GET /v1/payment-rail-truth/summary`
106
- - `GET /v1/payment-rail-truth/:profile_id`
107
-
108
- The frozen adapter-and-protocol claim model for `3.0.0` closeout is documented in:
109
-
110
- - [XYTARA_ADAPTER_PROTOCOL_TRUTH_MODEL.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XYTARA_ADAPTER_PROTOCOL_TRUTH_MODEL.md)
111
-
112
- Machine-readable adapter-and-protocol truth surfaces:
113
-
114
- - `GET /v1/adapter-protocol-truth`
115
- - `GET /v1/adapter-protocol-truth/summary`
116
- - `GET /v1/adapter-protocol-truth/:profile_id`
117
-
118
- The public autonomous-entry model for outside agents is documented in:
119
-
120
- - [XYTARA_AUTONOMOUS_ENTRY_MODEL.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XYTARA_AUTONOMOUS_ENTRY_MODEL.md)
121
-
122
- Machine-readable autonomous-entry surfaces:
123
-
124
- - `GET /v1/autonomous-entry`
125
- - `GET /v1/autonomous-entry/summary`
126
- - `GET /v1/autonomous-entry/:profile_id`
127
-
128
- The current runtime breadth already includes:
129
-
130
- - discovery and workflow lookup
131
- - pricing and quote generation
132
- - direct machine payment
133
- - credits, grants, entitlements, and delegated spend
134
- - execution, result packages, and delivery
135
- - usage metering and account economics
136
- - hosted checkout and runtime-bridge dispatch surfaces
137
- - disputes, refunds, and remediation
138
- - activity ledger, reconciliation, and treasury-control visibility
139
- - adapter registration, review, and promotion surfaces
140
-
141
- It also already carries broader first-class runtime lanes for:
142
-
143
- - framework integrations such as `langchain`, `langgraph`, `semantic_kernel`, `autogen`, `crewai`, and `llamaindex`
144
- - machine and agent protocol fronts such as `mcp`, `a2a`, `a2c`, `acp`, `grpc`, `mqtt`, `kafka`, `nats`, `ros2`, and `webhook_event_bus`
145
- - identity and registry posture such as `erc8004`, registry identity, attestation refs, and anchor refs
146
- - operator and observability posture such as telemetry, provenance, artifact distribution, shared signals, feature control, pricing telemetry, and registry-side export surfaces
147
-
148
- If you want the broadest machine-readable census for these already-core runtime lanes, inspect:
149
-
150
- - `GET /v1/integration-matrix`
151
- - `GET /v1/telemetry`
152
- - `GET /v1/provenance`
153
- - `GET /v1/artifact-distribution`
154
- - `GET /v1/shared-signals`
155
- - `GET /v1/feature-control`
156
- - `GET /v1/adapter-certification`
157
- - `GET /v1/trust-portability-boundary`
158
- - `GET /v1/signed-audit-provenance`
159
-
160
- ## One-Line After Install
161
-
162
- If you only run two commands after install, use:
163
-
164
- - `xytara start-here`
165
- - `xytara first-run`
166
- - `xytara first-run --run-quote --account ACCOUNT_REF --pretty`
167
- - `xytara first-run --execute-with-credits --account ACCOUNT_REF --pretty`
168
- - `xytara release --summary`
169
-
170
- If you want the shortest machine-readable discovery path, inspect:
171
-
172
- - `GET /v1/providers`
173
- - `GET /v1/frameworks`
174
- - `GET /v1/protocols`
175
- - `GET /v1/integration-matrix`
176
- - `GET /v1/telemetry`
177
- - `GET /v1/provenance`
178
- - `GET /v1/adapter-certification`
179
- - `GET /v1/trust-portability-boundary`
180
- - `GET /v1/signed-audit-provenance`
181
-
182
- If you are working on shared evidence, inspect the operational receipt contract pack:
183
-
184
- - `buildOperationalReceiptContractPack()`
185
- - `summarizeOperationalReceiptContractPack()`
186
-
187
- If you are working on machine identity, inspect the registry contract pack:
188
-
189
- - `buildMachineIdentityRegistryContractPack()`
190
- - `summarizeMachineIdentityRegistryContractPack()`
191
-
192
- If you are working on crypto agility, inspect the matrix pack:
193
-
194
- - `buildCryptoAgilityMatrixPack()`
195
- - `summarizeCryptoAgilityMatrixPack()`
196
-
197
- If you are working on binding lifecycle, inspect the lifecycle pack:
198
-
199
- - `buildAuthorityBindingLifecycleContractPack()`
200
- - `summarizeAuthorityBindingLifecycleContractPack()`
201
-
202
- If you are working on public route policy, inspect the surface policy pack:
203
-
204
- - `buildPublicSurfacePolicyContractPack()`
205
- - `summarizePublicSurfacePolicyContractPack()`
206
-
207
- If you are working on offline recovery, inspect the recovery pack:
208
-
209
- - `buildOfflineVerifiabilityRecoveryContractPack()`
210
- - `summarizeOfflineVerifiabilityRecoveryContractPack()`
211
-
212
- If you are working on adapter certification, inspect the certification pack:
213
-
214
- - `buildAdapterCertificationContractPack()`
215
- - `summarizeAdapterCertificationContractPack()`
216
-
217
- If you are working on trust portability boundaries, inspect the boundary pack:
218
-
219
- - `buildTrustPortabilityBoundaryContractPack()`
220
- - `summarizeTrustPortabilityBoundaryContractPack()`
221
-
222
- If you are working on signed audit and provenance, inspect the audit/provenance pack:
223
-
224
- - `buildSignedAuditProvenanceContractPack()`
225
- - `summarizeSignedAuditProvenanceContractPack()`
226
-
227
- ## Start Here
228
-
229
- If you are new to the public stack, use this order:
230
-
231
- 1. read [START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/START_HERE.md)
232
- 2. run `node examples/quickstart.js`
233
- 3. run `npm run verify:all`
234
- 4. use [FINAL_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/FINAL_CONTRACT.md) and [SERVICE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/SERVICE_CONTRACT.md) as the durable public contract
235
-
236
- If you are reading the GitHub repo and want deeper product context beyond the npm starter path, continue with:
237
-
238
- - [WHY_XYTARA_XOONYA.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/WHY_XYTARA_XOONYA.md)
239
- - [PARTNER_READY_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/PARTNER_READY_PATH.md)
240
-
241
- If you want one concrete cross-repo adoption story, start with:
242
-
243
- - [CARRIED_HANDOFF_DEMO.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/CARRIED_HANDOFF_DEMO.md)
244
-
245
- If you want the shortest neutral external-adoption bundle, continue with:
246
-
247
- - [PARTNER_READY_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/PARTNER_READY_PATH.md)
248
- - [PUBLIC_DEMO_SCRIPT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/PUBLIC_DEMO_SCRIPT.md)
249
- - [EXAMPLE_PATHS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/EXAMPLE_PATHS.md)
250
- - `node examples/partner_launch_walkthrough.js`
251
-
252
- If you are building adapters, continue with:
253
-
254
- - [ADAPTER_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/ADAPTER_START_HERE.md)
255
- - [ADAPTER_PROMOTION_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/ADAPTER_PROMOTION_START_HERE.md)
256
- - [ADAPTER_PARTNER_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/ADAPTER_PARTNER_PATH.md)
257
- - [SOFT_LAUNCH_KIT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/SOFT_LAUNCH_KIT.md)
258
- - [OUTREACH_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/OUTREACH_START_HERE.md)
259
- - [OUTREACH_MESSAGES.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/OUTREACH_MESSAGES.md)
260
- - [adapters/AUTHORING_GUIDE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/AUTHORING_GUIDE.md)
261
- - [adapters/ONBOARDING_POSTURE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/ONBOARDING_POSTURE.md)
262
- - [adapters/THIRD_PARTY_SUBMISSION_PROCESS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md)
263
-
264
- The fastest copy-and-adapt third-party starter now lives under:
265
-
266
- - `adapters/examples/minimal-third-party-execution-adapter.manifest.json`
267
- - `adapters/examples/minimal-third-party-execution-adapter.js`
268
- - `adapters/examples/minimal-third-party-execution-registration.record.json`
269
- - `adapters/examples/minimal-third-party-execution.certification-pack.json`
270
- - `adapters/examples/minimal-third-party-execution.submission-bundle.json`
271
- - `adapters/examples/langgraph-reference-execution-adapter.manifest.json`
272
- - `adapters/examples/langgraph-reference-execution-adapter.js`
273
- - `adapters/examples/langchain-reference-execution-adapter.manifest.json`
274
- - `adapters/examples/langchain-reference-execution-adapter.js`
275
-
276
- If you are wiring treasury, settlement, or payment activation, continue with:
277
-
278
- - [REAL_PAYMENT_SETUP.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/REAL_PAYMENT_SETUP.md)
279
- - [BSV_TERANODE_PLATFORM_DISCONTINUITY_RUNBOOK.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/BSV_TERANODE_PLATFORM_DISCONTINUITY_RUNBOOK.md)
280
-
281
- Production treasury and multi-rail payment activation are now centralized in `REAL_PAYMENT_SETUP.md` plus your private treasury source of truth outside the repos.
282
-
283
- If you want one private operator page that rolls up release posture, treasury landing, runtime activity, delivery, settlement readiness, and linked proof-facing health, use:
284
-
285
- - `GET /v1/business-cockpit`
286
- - `GET /v1/business-cockpit/summary`
287
- - `GET /business-cockpit`
288
-
289
- Those surfaces are private and are intended to be opened with the same operator bearer token used for other protected runtime views.
290
-
291
- If you are wiring external checkout or hosted funding paths, continue with:
292
-
293
- - [HUMAN_CHECKOUT_AND_RUNTIME_BRIDGE_PATTERN.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/HUMAN_CHECKOUT_AND_RUNTIME_BRIDGE_PATTERN.md)
294
- - [RUNTIME_BRIDGE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/RUNTIME_BRIDGE_CONTRACT.md)
295
- - [HOSTED_CHECKOUT_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/HOSTED_CHECKOUT_CONTRACT.md)
296
- - [CHECKOUT_TO_CREDITS_AND_DISPATCH_PLAN.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/CHECKOUT_TO_CREDITS_AND_DISPATCH_PLAN.md)
297
-
298
- If you want the broader already-core runtime continuity layers, continue with:
299
-
300
- - [OPERATOR_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/OPERATOR_START_HERE.md)
301
- - [GO_LIVE_OPERATOR_PACK.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/GO_LIVE_OPERATOR_PACK.md)
302
- - [PRODUCTION_MANUAL_CLOSEOUT_SEQUENCE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/PRODUCTION_MANUAL_CLOSEOUT_SEQUENCE.md)
303
-
304
- ## Production Path
305
-
306
- The intended production-facing default path is now:
307
-
308
- 1. discover a capability
309
- 2. preview or quote the transaction path
310
- 3. spend existing credits first when the caller prefers the reusable account path
311
- 4. fall back to direct machine payment when credits are not available or not preferred
312
- 5. execute through the default machine path
313
- 6. inspect the transaction-side result and lifecycle state
314
- 7. hand the result into `xoonya`
315
- 8. review and run the proof-side completion path
316
-
317
- The machine-facing execution surface now also supports a first-class reusable balance posture:
318
-
319
- - set `payment_preference: "credits_first"` on `POST /v1/commands/execute` when the caller wants to spend existing account credits before requesting a fresh payment
320
- - default spend posture is `open_spend`: if the funded caller can pay, `xytara` should spend and execute without extra runtime ceremony
321
- - bounded spend posture is optional and only applies when the caller intentionally uses an `agent_id` and/or `budget_id`
322
- - inspect account credit state with `GET /v1/economics/accounts/:account_id/credit-balance`
323
- - inspect deterministic usage metering state with `GET /v1/economics/accounts/:account_id/metering-summary`, `GET /v1/economics/accounts/:account_id/usage-meters`, and `GET /v1/economics/accounts/:account_id/usage-meters/:usage_meter_id`
324
- - expect reconciliation and operator-export surfaces to carry the same metering trail for audit visibility
325
- - export a canonical cross-repo economic handoff bundle with `POST /v1/economics/handoff-bundles/economic-consequence`
326
- - expect `POST /v1/transaction-center/result-packages/export` and result-package continuation export/prepare surfaces to auto-carry that same canonical economic bundle whenever the execution path spent credits and produced a deterministic usage meter
327
- - inspect pack-backed entitlement pools with `GET /v1/economics/accounts/:account_id/entitlements` and `GET /v1/economics/accounts/:account_id/entitlements/summary`
328
- - inspect low-balance and replenishment posture with `GET /v1/economics/accounts/:account_id/entitlements/replenishment-summary`
329
- - inspect one pool's replenishment view with `GET /v1/economics/accounts/:account_id/entitlements/:entitlement_id/replenishment-view`
330
- - inspect effective account spend posture with `GET /v1/economics/accounts/:account_id/policy-pack`
331
- - inspect effective agent spend posture with `GET /v1/economics/accounts/:account_id/agents/:agent_id/policy-view`
332
- - preflight a proposed credit spend with `POST /v1/economics/rails/credits/preview-spend`
333
- - record explicit bounded credit consumption with `POST /v1/economics/rails/credits/consume`
334
- - issue externally verified top-up grants with `POST /v1/credit-bridge/grants`
335
- - inspect externally issued grants with `GET /v1/credit-bridge/grants` and `GET /v1/credit-bridge/grants/:grant_id`
336
- - discover reusable funding posture through `GET /v1/credit-packs`, `GET /v1/credit-packs/summary`, and `GET /v1/credit-pack?ref=<pack_id>`
337
- - external grant callers can now fund a named public pack such as `credits.agent`, and `xytara` will validate and record that pack identity directly
338
-
339
- The SDK now exposes the same posture directly for agent callers:
340
-
341
- - `client.getCreditPackSummary()`
342
- - `client.getCreditBalance(accountId)`
343
- - `client.previewUsageMetering({ account_id, task_ref?, workflow_ref?, units? })`
344
- - `client.getUsageMeteringSummary(accountId)`
345
- - `client.listUsageMeters(accountId)`
346
- - `client.getUsageMeter(usageMeterId, accountId?)`
347
- - `client.exportEconomicConsequenceHandoffBundle({ account_id, usage_meter_id, credit_spend_id, meter_profile_ref? })`
348
- - `client.listEntitlements(accountId)`
349
- - `client.getEntitlementSummary(accountId)`
350
- - `client.getEntitlement(entitlementId, accountId?)`
351
- - `client.getEntitlementReplenishmentSummary(accountId)`
352
- - `client.getEntitlementReplenishmentView(entitlementId, accountId?)`
353
- - `client.updateEntitlementReplenishmentPreference(entitlementId, payload, accountId?)`
354
- - `client.previewCreditSpend({ account_id, task_ref, units, agent_id?, budget_id? })`
355
- - `client.getCreditSpendPolicyPack(accountId)`
356
- - `client.getAgentCreditSpendPolicyView(agentId, accountId?)`
357
- - `client.executeWithCreditsFirst(payload, options?)`
358
-
359
- The runtime now also supports a bounded delegated spend path for repeat-use automation:
360
-
361
- - issue a spend credential through `POST /v1/account-auth/spend-credentials`
362
- - use that credential as `authorization: Bearer <spend_credential>`
363
- - optionally bind the credential to a `pack_id` or `entitlement_id` when spend should stay inside one value pool
364
- - execute through the same `credits_first` path without sharing broad operator secrets
365
- - revoke it through `POST /v1/account-auth/spend-credentials/:credential_id/revoke`
366
-
367
- SDK helpers now include:
368
-
369
- - `client.createSpendCredential(payload, { bearerToken })`
370
- - `client.listSpendCredentials(filters?, { bearerToken? })`
371
- - `client.getSpendCredential(credentialId, { bearerToken? })`
372
- - `client.revokeSpendCredential(credentialId, payload, { bearerToken })`
373
- - `client.executeWithSpendCredential(payload, { spendToken })`
374
-
375
- This keeps one-off usage and repeat usage on the same public spine:
376
-
377
- - direct pay when the caller is using the stack once
378
- - credit balance when the caller is already funded and wants low-friction repeat execution
379
- - optional agent and budget controls can still bound that spend without changing the execution surface
380
-
381
- It also keeps the external funding boundary clean:
382
-
383
- - an external merchant-facing system can verify a purchase and issue a bounded credit grant into `xytara`
384
- - `xytara` records the granted value and consumes it during later runtime operations
385
- - the runtime does not need to absorb provider-specific checkout semantics to support repeat usage
386
- - in production, `POST /v1/credit-bridge/grants` should normally be protected with `XYTARA_CREDIT_BRIDGE_BEARER_TOKEN`
387
-
388
- The first external checkout convenience path now follows a parallel narrow route:
389
-
390
- 1. create hosted purchase intent
391
- 2. create checkout session
392
- 3. normalize payment success
393
- 4. issue credits or entitlement
394
- 5. dispatch through the runtime path when needed
395
- 6. converge back into the same `xytara` and `xoonya` spine
396
-
397
- The first direct hosted execution path now also has a public runtime dispatch surface:
398
-
399
- - `POST /v1/runtime-bridge/dispatch`
400
- - `GET /v1/runtime-bridge/dispatches`
401
- - `GET /v1/runtime-bridge/dispatches/:request_id`
402
-
403
- The hosted payment side is intentionally asymmetric:
404
-
405
- - pay-in should be simple and fast
406
- - execution and delivery should follow immediately after valid payment
407
- - refund or reversal requests should enter review first
408
- - no autonomous payout path should exist outside explicit operator review and completion
409
-
410
- The operator shell now also carries hosted checkout visibility so purchase, dispatch, and refund-review load can be monitored from the same public control surface.
411
-
412
- The rest of this README explains the full surface area and milestone trail, but the public starting posture should now be understandable from that one default path.
413
-
414
- For release-grade adoption posture, inspect:
415
-
416
- - `GET /v1/release-pack`
417
- - `GET /v1/release-pack/summary`
418
- - `GET /v1/release-pack/comparison`
419
- - `GET /v1/release-pack/comparison/summary`
420
- - `GET /v1/release-pack/adoption`
421
- - `GET /v1/release-pack/adoption/summary`
422
- - `GET /v1/release-pack/scenarios`
423
- - `GET /v1/release-pack/scenarios/summary`
424
- - `GET /v1/release-pack/launch`
425
- - `GET /v1/release-pack/launch/summary`
426
- - `GET /v1/release-manifest`
427
- - `GET /v1/release-manifest/summary`
428
- - `GET /v1/release-notes`
429
- - `GET /v1/release-notes/summary`
430
- - `GET /v1/release-center`
431
- - `GET /v1/release-center/summary`
432
- - `GET /v1/release-history`
433
- - `GET /v1/release-history/summary`
434
- - `GET /v1/adapter-pack`
435
- - `GET /v1/adapter-pack/summary`
436
- - `GET /v1/adapter-promotion`
437
- - `GET /v1/adapter-promotion/summary`
438
- - `GET /v1/adapter-partners`
439
- - `GET /v1/adapter-partners/summary`
440
- - `GET /v1/soft-launch`
441
- - `GET /v1/soft-launch/summary`
442
- - `GET /v1/outreach-copy`
443
- - `GET /v1/outreach-copy/summary`
444
- - `GET /v1/outreach-targets`
445
- - `GET /v1/outreach-targets/summary`
446
- - `GET /v1/outreach-messages`
447
- - `GET /v1/outreach-messages/summary`
448
- - `GET /v1/phases`
449
- - `GET /v1/phases/summary`
450
- - `GET /v1/phases/phase-1`
451
- - `GET /v1/phases/phase-1/summary`
452
- - `GET /v1/publish-plan`
453
- - `GET /v1/publish-plan/summary`
454
- - `GET /v1/ecosystem-entry`
455
- - `GET /v1/ecosystem-entry/summary`
456
- - `GET /v1/launch-narrative`
457
- - `GET /v1/launch-narrative/summary`
458
- - `GET /v1/outreach-proof`
459
- - `GET /v1/outreach-proof/summary`
460
- - `GET /v1/announcement-pack`
461
- - `GET /v1/announcement-pack/summary`
462
- - `GET /v1/release-candidate`
463
- - `GET /v1/release-candidate/summary`
464
- - `xytara-release --summary`
465
- - `xytara-release --comparison --summary`
466
- - `xytara-release --adoption --summary`
467
- - `xytara-release --scenarios --summary`
468
- - `xytara-release --launch --summary`
469
- - `xytara-release --manifest --summary`
470
- - `xytara-release --notes --summary`
471
- - `xytara-release --center --summary`
472
- - `xytara-release --history --summary`
473
- - `xytara-release --adapters --summary`
474
- - `xytara-release --adapter-promotion --summary`
475
- - `xytara-release --adapter-partners --summary`
476
- - `xytara-release --soft-launch --summary`
477
- - `xytara-release --outreach-copy --summary`
478
- - `xytara-release --outreach-targets --summary`
479
- - `xytara-release --outreach-messages --summary`
480
- - `xytara-release --phases --summary`
481
- - `xytara-release --phase-1 --summary`
482
- - `xytara-release --ecosystem --summary`
483
- - `xytara-release --narrative --summary`
484
- - `xytara-release --outreach-proof --summary`
485
- - `xytara-release --announcement --summary`
486
- - `xytara-release --candidate --summary`
487
-
488
- These surfaces package the current machine-commerce value story, first-contact CLI path, default transaction posture, catalog/task-pack coverage, credit-pack posture, and integration/settlement breadth into one machine-readable launch boundary.
489
-
490
- ## Commerce Loop
491
-
492
- The public product loop is:
493
-
494
- 1. discover
495
- 2. quote
496
- 3. pay
497
- 4. execute
498
- 5. deliver
499
- 6. inspect
500
- 7. prove
501
-
502
- The package and service surfaces both follow that model.
503
-
504
- The current built-in catalog now covers a broader first-party `1.4.0` kernel than the original narrow seed, including:
505
-
506
- - trust and receipt validation/handoff tasks
507
- - runtime consequence tasks
508
- - jobs, credits, and policy tasks
509
- - first-party `a2a` negotiation and commit tasks
510
- - first-party `a2c` session and task-pack preview tasks
511
- - identity attestation and registry-link tasks
512
- - registry and anchoring tasks
513
- - discovery, admission, and settlement tasks
514
- - an initial built-in `mcp` adapter task
515
-
516
- The current restoration phase also starts carrying grouped public workflows for:
517
-
518
- - `a2a` settlement negotiation
519
- - `a2c` tooling/session flow
520
- - identity registry plus anchoring flow
521
- - registry pack bundling plus anchoring flow
522
-
523
- The current built-in settlement posture also now reflects the canonical first-party center of gravity across:
524
-
525
- - `ethereum_evm`
526
- - `bsv_teranode`
527
- - `solana`
528
- - `proton_xpr`
529
- - `antelope_eosio`
530
-
531
- The economic artifact posture is also now more explicit across the default machine loop:
532
-
533
- - quotes carry normalized `payment`, `settlement`, and `treasury` state
534
- - executed transactions and receipts carry the same normalized economic objects
535
- - payment-ledger entries preserve linked payment / settlement / treasury outcomes
536
- - the default first-party economic path is easier to inspect without provider-shaped logic
537
-
538
- The same artifacts now also expose a normalized `default_path` object so the bundled economic center of gravity is visible as data instead of being inferred indirectly.
539
-
540
- The package and service also expose a default transaction center surface so the out-of-the-box path is easier to inspect directly:
541
-
542
- - default protocol lane: `mcp`
543
- - default payment protocol: `x402`
544
- - default settlement center: built-in chain settlement with `bsv_teranode` as the native default across the canonical bundled settlement modes
545
- - default treasury landing posture: account treasury destination by settlement mode
546
-
547
- That same default center is also reflected in direct helper paths for default MCP usage, so the default path can be previewed or quoted without repeating the full integration-selection story each time.
548
-
549
- The `1.6.0` convergence line starts broadening that same default path into grouped first-party entry packs:
550
-
551
- - `default.mcp.tool.invoke`
552
- - `default.a2c.tooling.run`
553
- - `default.identity.anchor.run`
554
-
555
- These default packs are intended to make the public machine loop easier to consume as grouped first-party paths instead of only as low-level primitives.
556
-
557
- The package and service now also expose:
558
-
559
- - default transaction economics visibility
560
- - default transaction task-pack catalog, summary, and detail routes
561
- - direct SDK helpers for default task-pack preview, quote, and invoke
562
-
563
- The next `1.6.0` carry also adds guided default loops on top of those packs:
564
-
565
- - default loop catalog and detail routes
566
- - direct loop-run service surface
567
- - SDK helpers that return bundled result-set, linked-record, activity, and economics summaries together
568
-
569
- That means the first-party path is easier to both run and inspect without manually stitching together monitor, receipt, delivery, and payment-ledger helpers after execution.
570
-
571
- The current `1.7.0` line starts widening that surface into real grouped transaction classes:
572
-
573
- - transaction-class pack catalog, summary, and detail routes
574
- - grouped transaction-class run routes for first-party commerce classes
575
- - proof-handoff summaries that make the next step into `xoonya` more obvious from transaction outputs
576
-
577
- This is the first step beyond “clear default loop” toward “broader useful machine-commerce classes plus clearer commerce-to-proof follow-through.”
578
-
579
- The current `1.8.0` line starts filling a thinner part of the interaction spine before committed execution:
580
-
581
- - grouped pre-commit pack catalog, summary, and detail routes
582
- - grouped pre-commit run routes for negotiation, admission, and commit-readiness posture
583
- - readiness summaries that make the next committed transaction surface more explicit
584
-
585
- This is intended to make the protocol-entry to committed-transaction transition feel more like one composable machine spine instead of a set of disconnected route families.
586
-
587
- The same `1.8.0` line also starts exposing grouped interaction spine paths that compose:
588
-
589
- - pre-commit readiness
590
- - committed execution
591
- - proof-aware handoff posture
592
-
593
- as one clearer cross-layer machine path instead of making callers stitch the layers together manually.
594
-
595
- The current `1.9.0` line starts hardening the output side of that spine into cleaner extension seams:
596
-
597
- - interaction result-package catalog, summary, and detail routes
598
- - direct result-package run surfaces derived from grouped spine paths
599
- - seam summaries that classify execution/consequence, payment/settlement/treasury, and proof-handoff carry together
600
- - result-package export surfaces that produce a portable handoff bundle for proof-side follow-through
601
-
602
- This is intended to make grouped spine outputs easier to treat as stable artifacts and future adapter-ready boundaries instead of one-off route responses.
603
-
604
- The current `1.10.0` line starts building on that by exposing reusable continuation templates on top of result packages:
605
-
606
- - result-package continuation catalog, summary, and detail routes
607
- - direct continuation run surfaces that preserve the default next proof path
608
- - continuation preparation surfaces that emit proof-ready request templates
609
- - continuation preparation summary surfaces that expose the stable prepared-artifact view directly
610
- - continuation summaries that make the default transaction-to-proof bridge explicit instead of inferred
611
- - prepared continuation artifacts that classify the preserved execution, economic, and proof-facing context that survives into proof-native follow-through
612
- - extension-seam summaries that distinguish stable carry from future adapter-ready boundary points on that durable path
613
- - reusable-default summaries that expose the stable prepared artifact as a clearer default follow-through pattern
614
- - reusable-default template surfaces that package that same default path into a direct proof-side review request
615
- - extension-template surfaces that turn the durable transaction-side artifact into a reusable proof-side extension-review request
616
-
617
- This is intended to make the public stack easier to compose after grouped execution, not just easier to inspect.
618
-
619
- The current `1.14.0` line starts hardening that reusable path into a clearer public composition contract:
620
-
621
- - prepared-artifact composition-contract summaries
622
- - composition-contract template surfaces for proof-side contract review
623
- - compact composition-contract bundles for direct transaction-side contract reuse
624
- - clearer public contract ids across the reusable-default continuation path
625
-
626
- This is intended to make the transaction-side continuation path easier to treat as a stable public contract instead of only a strong reusable default.
627
-
628
- The current `1.15.0` line starts turning that same contract path into a clearer adapter-ready public bridge:
629
-
630
- - prepared-artifact bridge summaries on top of the composition-contract continuation path
631
- - bridge template surfaces that package the next proof-side review request directly
632
- - compact bridge bundles for direct transaction-side bridge reuse
633
- - compact bridge-carry surfaces for direct transaction-side bridge reuse
634
-
635
- This is intended to make the transaction-side continuation path easier to hand across a stable adapter-ready bridge instead of treating bridge preparation as an implicit follow-on concern.
636
-
637
- The current `1.16.0` line starts turning that bridge into a clearer stable public handoff contract:
638
-
639
- - prepared-artifact handoff summaries on top of the bridge path
640
- - direct handoff template surfaces for proof-side handoff continuity review
641
- - compact handoff bundles for direct transaction-side handoff reuse
642
- - compact handoff-carry surfaces for direct transaction-side handoff reuse
643
-
644
- This is intended to make the transaction-side continuation path easier to treat as a stable handoff contract instead of only a well-described bridge.
645
-
646
- The current `1.17.0` line starts turning that stable handoff contract into a clearer adapter-consumable handoff surface:
647
-
648
- - adapter-consumable handoff-surface summaries on top of prepared handoff artifacts
649
- - direct handoff-surface template routes for proof-side intake review
650
- - compact handoff-surface bundles for direct adapter-facing reuse
651
- - clearer adapter-facing handoff-surface ids and stable consumable carry
652
-
653
- This is intended to make the transaction-side continuation path easier to consume directly as a stable adapter-facing handoff surface instead of only a well-described handoff contract.
654
-
655
- The current `1.18.0` line starts turning that adapter-consumable handoff surface into a clearer adapter-usable handoff package:
656
-
657
- - adapter-usable handoff-package summaries on top of prepared handoff artifacts
658
- - compact handoff-package bundles for direct adapter-facing use
659
- - default handoff-package summaries for the next proof-side follow-through
660
- - clearer adapter-facing handoff-package ids and stable usable carry
661
-
662
- This is intended to make the transaction-side continuation path easier to use directly as a stable public handoff package instead of only a surface that still needs extra glue logic.
663
-
664
- The current `1.19.0` line starts turning that adapter-usable handoff package into a clearer adapter-ready execution package:
665
-
666
- - execution-package summaries on top of the default handoff-package path
667
- - compact execution-package bundles for direct adapter-facing execution posture
668
- - default execution-package summaries for the next proof-side execution run posture
669
- - clearer execution-package ids and stable execution-ready carry
670
-
671
- This is intended to make the transaction-side continuation path easier to execute against directly as a stable public package instead of only a package that still needs execution glue.
672
-
673
- The current `1.20.0` line starts turning that adapter-ready execution package into a clearer adapter-operable execution contract:
674
-
675
- - execution-contract summaries on top of the default execution-package path
676
- - compact execution-contract bundles for direct adapter-facing operation posture
677
- - default execution-contract summaries for the next proof-side execution-contract run posture
678
- - clearer execution-contract ids and stable operable carry
679
-
680
- This is intended to make the transaction-side continuation path easier to operate against repeatedly as a stable public contract instead of only a package that is execution-ready by posture.
681
-
682
- The current `1.21.0` line starts turning that adapter-operable execution contract into a clearer adapter-stable operating contract:
683
-
684
- - operating-contract summaries on top of the default execution-contract path
685
- - compact operating-contract bundles for direct adapter-facing stable operation posture
686
- - default operating-contract summaries for the next proof-side operating-contract run posture
687
- - clearer operating-contract ids and stable recurring operating carry
688
-
689
- This is intended to make the transaction-side continuation path easier to depend on repeatedly as a durable public operating contract instead of only a contract that is operable in the moment.
690
-
691
- The current `1.22.0` line starts turning that adapter-stable operating contract into a clearer adapter-reliable operating interface:
692
-
693
- - operating-interface summaries on top of the default operating-contract path
694
- - compact operating-interface bundles for direct adapter-facing reliable interface posture
695
- - default operating-interface summaries for the next proof-side operating-interface run posture
696
- - clearer operating-interface ids and stable reliable interface carry
697
-
698
- This is intended to make the transaction-side continuation path easier to rely on operationally as a durable public interface instead of only a stable operating contract shape.
699
-
700
- The current `1.23.0` line starts turning that adapter-reliable operating interface into a clearer adapter-integrable operating path:
701
-
702
- - operating-integration summaries on top of the default operating-interface path
703
- - compact operating-integration bundles for direct adapter-facing integration posture
704
- - default operating-integration summaries for the next proof-side operating-integration run posture
705
- - clearer operating-integration ids and stable integrable carry
706
-
707
- This is intended to make the transaction-side continuation path easier to plug into adapters directly as a durable public operating path instead of only a reliable interface shape.
708
-
709
- The current `1.24.0` line starts turning that adapter-integrable operating path into a clearer adapter-ready default path:
710
-
711
- - operating-path summaries on top of the default operating-integration path
712
- - compact operating-path bundles for direct adapter-facing default-path posture
713
- - default operating-path summaries for the next proof-side operating-path run posture
714
- - clearer operating-path ids and stable default-path carry
715
-
716
- This is intended to make the transaction-side continuation path easier to use as the obvious first public adapter path instead of only a path that is integrable with a little extra coordination.
717
-
718
- The current `1.25.0` line starts turning that adapter-ready default path into a clearer adapter-complete default path:
719
-
720
- - complete-default-path summaries on top of the default operating-path path
721
- - compact complete-default-path bundles for direct adapter-facing complete-path posture
722
- - default complete-default-path summaries for the next proof-side complete-default-path run posture
723
- - clearer complete-default-path ids and stable complete-path carry
724
-
725
- This is intended to make the transaction-side continuation path easier to adopt as the complete public default path an outside builder can use without needing private interpretation.
726
-
727
- The current `1.26.0` line finalizes that public shape into a cleaner production-ready package:
728
-
729
- - a publishable [START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/START_HERE.md) onboarding path
730
- - clearer top-level README entry points for the default production flow
731
- - publishable contract and terminology docs carried in the package tarball
732
- - naming cleanup that keeps the public story anchored to `xytara` and `xoonya`
733
-
734
- This is intended to make the public transaction-side package feel like a finished production-facing product instead of a strong stack that still assumes milestone-history context.
735
-
736
- ## Package Surface
737
-
738
- The SDK is broad, but it stays organized into a few repeatable families instead of one-off surfaces.
739
-
740
- The main families are:
741
-
742
- - discovery and catalog
743
- - schemas, templates, and validation
744
- - quotes, previews, execution, and wait flows
745
- - records, operations, and operator summaries
746
- - inspection, reconciliation, and export helpers
747
-
748
- The intended usage style is simple:
749
-
750
- - use raw getters when you need exact records
751
- - use summary/list helpers when you need compact high-signal state
752
-
753
- ## Adapter Model
754
-
755
- Adapter support is now a first-class public surface.
756
-
757
- Core contract files:
758
-
759
- - [adapter-manifest.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/adapter-manifest.schema.json)
760
- - [integration-registration-record.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-registration-record.schema.json)
761
- - [integration-certification-pack.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-certification-pack.schema.json)
762
- - [integration-submission-bundle.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-submission-bundle.schema.json)
763
- - [integration-submission-bundle-set.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-submission-bundle-set.schema.json)
764
- - [interfaces.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/interfaces.js)
765
-
766
- Builder-facing docs:
767
-
768
- - [AUTHORING_GUIDE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/AUTHORING_GUIDE.md)
769
- - [THIRD_PARTY_SUBMISSION_PROCESS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md)
770
- - [ONBOARDING_POSTURE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/ONBOARDING_POSTURE.md)
771
-
772
- Reference examples:
773
-
774
- - built-in class examples:
775
- [example-execution-adapter.manifest.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-execution-adapter.manifest.json),
776
- [example-execution-adapter.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-execution-adapter.js),
777
- [example-settlement-adapter.manifest.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-settlement-adapter.manifest.json),
778
- [example-settlement-adapter.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-settlement-adapter.js)
779
- - staged third-party artifact examples:
780
- protocol, identity, and settlement registration/certification/submission-bundle examples live under [adapters/examples](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples)
781
-
782
- Current adapter tooling exposes:
783
-
784
- - `ADAPTER_INTERFACE_VERSION`
785
- - `validateAdapterImplementation(...)`
786
-
787
- Initial certification starts with:
788
-
789
- ```bash
790
- npm run verify:adapters
791
- ```
792
-
793
- The LangGraph and LangChain reference adapters are local contract adapters. They normalize framework-style graph, chain, checkpoint, trace, and context payloads and emit proof-compatible execution facts. They do not claim live external framework-provider execution.
794
-
795
- The current seed freezes the starter contract for:
796
-
797
- - adapter identity
798
- - adapter class
799
- - registration posture
800
- - certification posture
801
- - compatibility
802
- - health contract
803
- - idempotency contract
804
- - failure contract
805
- - proof contract
806
-
807
- The current onboarding path is now documented for third parties:
808
-
809
- 1. choose adapter class
810
- 2. build manifest against the schema
811
- 3. implement the interface contract
812
- 4. certify locally with `npm run verify:adapters`
813
- 5. declare registration and certification posture
814
- 6. promote through explicit runtime registration
815
-
816
- Third-party integrations scale through one stable pattern:
817
-
818
- - manifest declares registration posture
819
- - manifest declares certification posture
820
- - certification runs locally first
821
- - promotion produces a normalized registration record
822
- - runtime registration remains an explicit product action
823
- - discovery can later surface maturity and trust without changing runtime contracts
824
-
825
- Discovery can represent non-bundled staged examples in the same normalized view:
826
-
827
- - built-in integrations can appear as `unregistered` but production-default
828
- - staged third-party integrations can appear as `staging_registered`
829
- - registration state stays separate from proof and commerce semantics
830
-
831
- The registry model now also has an explicit ingestion path:
832
-
833
- - adapter manifest defines the adapter contract
834
- - registration record defines promotion state
835
- - certification pack defines submitted verification evidence
836
- - submission bundle groups the reusable submission artifact
837
- - registry ingestion helper normalizes the runnable integration view
838
-
839
- The package surface also supports registry snapshot/export helpers, so multiple imported integrations can be packaged together without inventing a one-off format every time.
840
-
841
- Submission bundles can be exported back into a bundle set and then turned into a normalized registry snapshot.
842
-
843
- The same artifact model also produces thin review summaries:
844
-
845
- - submission bundles can be summarized for reviewer/operator inspection
846
- - submission bundle sets can be summarized as one staged review package
847
- - registry snapshots can be summarized as a review-ready state report
848
-
849
- That keeps inspection aligned with the real integration artifacts instead of inventing a parallel control-plane format.
850
-
851
- The intended posture is:
852
-
853
- - built-in certified integrations can be production-default
854
- - staged third-party integrations can be discoverable and reviewable
855
- - staged third-party integrations should normally require explicit selection
856
- - discoverable does not mean default
857
-
858
- The promotion-readiness layer now makes that posture explicit as review data:
859
-
860
- - review-ready means an integration is staged and inspectable
861
- - default-eligible means it is allowed to participate in default selection
862
- - production-default-ready means its certification, maturity, bundled posture, and selection posture all line up
863
- - blockers are returned as data instead of being left implicit
864
-
865
- That distinction matters as the registry grows.
866
-
867
- The promotion-action preview layer now builds on top of that readiness data without introducing mutation:
868
-
869
- - action previews stay read-only
870
- - current posture and resulting posture are both visible
871
- - requested action validity is explicit
872
- - blockers and blocker categories remain inspectable as data
873
- - the preview layer explains what would change before any future control-plane work exists
874
-
875
- There is also a small repo-local registry CLI for reviewer/operator use when working from a cloned `xytara` repository:
876
-
877
- - `node scripts/registry_cli.js validate-bundle --example protocol`
878
- - `node scripts/registry_cli.js validate-bundle --example identity`
879
- - `node scripts/registry_cli.js validate-bundle --example settlement`
880
- - `node scripts/registry_cli.js export-bundle-set`
881
- - `node scripts/registry_cli.js export-snapshot`
882
- - `node scripts/registry_cli.js review-bundle --example protocol`
883
- - `node scripts/registry_cli.js review-bundle --example identity`
884
- - `node scripts/registry_cli.js review-bundle-set`
885
- - `node scripts/registry_cli.js review-snapshot`
886
- - `node scripts/registry_cli.js promotion-readiness --integration partner.protocol.acme_mcp`
887
- - `node scripts/registry_cli.js promotion-action-preview --integration partner.protocol.acme_mcp --action complete_certification`
888
- - `node scripts/registry_cli.js promotion-action-set --integration partner.protocol.acme_mcp`
889
- - `node scripts/registry_cli.js promotion-action-set-summary --source third_party_example --bundled false`
890
-
891
- ## Integration Selection
892
-
893
- `xytara` now treats integration selection as an explicit part of the commerce contract.
894
-
895
- Callers can provide:
896
-
897
- - `integration_id`
898
- - `integration_ids`
899
- - `integration_context`
900
- - `protocol`
901
- - `payment_protocol`
902
- - settlement preferences
903
-
904
- Selection precedence is:
905
-
906
- 1. validate explicitly requested integrations
907
- 2. resolve protocol and payment protocol hints
908
- 3. resolve task-backed execution and identity integrations
909
- 4. resolve settlement integration from the requested settlement mode
910
- 5. reject the request if an explicit integration is unknown or incompatible
911
-
912
- This keeps the model stable as more integrations are added:
913
-
914
- - explicit overrides must be valid
915
- - defaults remain predictable
916
- - defaults only come from integrations that explicitly opt into default selection
917
- - explicit requests only constrain the relevant adapter class
918
- - protocol and settlement translation never redefine commerce semantics
919
-
920
- ## Quickstart
921
-
922
- Run:
923
-
924
- ```bash
925
- node examples/quickstart.js
926
- ```
927
-
928
- For a direct one-line machine run against a live service, use the bundled CLI:
929
-
930
- ```bash
931
- xytara first-run --run-quote --account ACCOUNT_REF --pretty
932
- ```
933
-
934
- The quickstart exercises:
935
-
936
- - health and catalog
937
- - discovery summaries and filters
938
- - restored `a2a`, `a2c`, and identity catalog families
939
- - staged-vs-default integration posture
940
- - submission bundle-set export
941
- - pricing, schema, and template access
942
- - validation
943
- - quote and execution flows
944
- - dedicated `mcp` invocation flow
945
- - named `a2a` negotiation and commit lanes
946
- - named `a2c` session and pack-preview lanes
947
- - named identity attestation preview and registry-link lanes
948
- - named registry-pack bundle and anchoring-pack preview lanes
949
- - grouped `a2a`, `a2c`, identity-anchor, and registry-pack-anchor convenience flows
950
- - named runtime, admission, registry, and anchoring task lanes
951
- - named trust and receipt-handoff lanes
952
- - lifecycle and operator helpers
953
- - service-backed client usage
954
-
955
- ## Service Surface
956
-
957
- Run:
958
-
959
- ```bash
960
- npm start
961
- ```
962
-
963
- Then in another shell:
964
-
965
- ```bash
966
- curl http://127.0.0.1:4320/v1/catalog/summary
967
- curl http://127.0.0.1:4320/v1/operations/dashboard
968
- curl http://127.0.0.1:4320/v1/operations/attention-records
969
- curl -X POST http://127.0.0.1:4320/v1/trust/handoffs/emit ^
970
- -H "content-type: application/json" ^
971
- -H "authorization: Bearer demo-api-key" ^
972
- -d "{\"subject_id\":\"subject-1\",\"execution_ref\":\"exec-1\"}"
973
- curl -X POST http://127.0.0.1:4320/v1/admission/preview ^
974
- -H "content-type: application/json" ^
975
- -H "authorization: Bearer demo-api-key" ^
976
- -d "{\"source_zone_id\":\"zone-a\",\"target_zone_id\":\"zone-b\"}"
977
- curl -X POST http://127.0.0.1:4320/v1/a2a/negotiate ^
978
- -H "content-type: application/json" ^
979
- -H "authorization: Bearer demo-api-key" ^
980
- -d "{\"counterparty_agent_id\":\"agent-counterparty-1\",\"task_pack_ref\":\"pack.a2a.demo\",\"negotiation_mode\":\"quote_then_commit\"}"
981
- curl -X POST http://127.0.0.1:4320/v1/a2c/packs/preview ^
982
- -H "content-type: application/json" ^
983
- -H "authorization: Bearer demo-api-key" ^
984
- -d "{\"agent_id\":\"agent-demo\",\"pack_ref\":\"pack.tools.research\"}"
985
- curl -X POST http://127.0.0.1:4320/v1/identity/attest/preview ^
986
- -H "content-type: application/json" ^
987
- -H "authorization: Bearer demo-api-key" ^
988
- -d "{\"subject_id\":\"subject-identity-1\",\"registry_scope\":\"registry.identity.default\"}"
989
- curl -X POST http://127.0.0.1:4320/v1/registry/packs/bundle ^
990
- -H "content-type: application/json" ^
991
- -H "authorization: Bearer demo-api-key" ^
992
- -d "{\"pack_ref\":\"pack.registry.identity\",\"subject_ids\":[\"subject-identity-1\",\"subject-identity-2\"]}"
993
- curl -X POST http://127.0.0.1:4320/v1/a2a/flows/settlement ^
994
- -H "content-type: application/json" ^
995
- -H "authorization: Bearer demo-api-key" ^
996
- -d "{\"counterparty_agent_id\":\"agent-counterparty-1\",\"task_pack_ref\":\"pack.a2a.demo\",\"negotiation_mode\":\"quote_then_commit\",\"negotiation_id\":\"negotiation-flow-1\",\"intent_id\":\"intent-a2a-flow-1\"}"
997
- curl -X POST http://127.0.0.1:4320/v1/identity/flows/anchor ^
998
- -H "content-type: application/json" ^
999
- -H "authorization: Bearer demo-api-key" ^
1000
- -d "{\"subject_id\":\"subject-identity-1\",\"registry_scope\":\"registry.identity.default\",\"record_type\":\"identity_attestation\",\"registry_record_id\":\"registry-record-identity-1\",\"commitment_hash\":\"commitment-identity-1\"}"
1001
- curl -X POST http://127.0.0.1:4320/v1/mcp/tools/invoke ^
1002
- -H "content-type: application/json" ^
1003
- -H "authorization: Bearer demo-api-key" ^
1004
- -d "{\"tool_name\":\"zones.lookup\",\"arguments\":{\"zone_id\":\"zone-1\"}}"
1005
- curl -X POST http://127.0.0.1:4320/v1/payment-quotes ^
1006
- -H "content-type: application/json" ^
1007
- -d "{\"command\":\"quickstart\",\"task_ref\":\"trust.verify\",\"body\":{\"subject_id\":\"subject-1\"}}"
1008
- ```
1009
-
1010
- Environment example:
1011
-
1012
- - [`.env.example`](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/.env.example)
1013
-
1014
- Production payment note:
1015
-
1016
- - `XYTARA_PAYMENT_VERIFICATION_MODE` defaults to `local_signed` (verifiable signed payment acceptance); `presence` must be opted into explicitly and only accepts plain header presence for local development
1017
- - operator write surfaces (`/v1/economics/*` ledger mutations, `/v1/agent-accounts`, `/v1/operator-shell/admin-pack`, `/v1/credit-bridge/grants`, business cockpit) fail closed with `operator_auth_not_configured` until `XYTARA_ACCOUNT_AUTH_BEARER_TOKEN` and `XYTARA_CREDIT_BRIDGE_BEARER_TOKEN` are set; send `Authorization: Bearer <token>`; query-string tokens are not accepted
1018
- - provide buyer wallet verification material through `XYTARA_WALLET_REGISTRY_JSON` or `XYTARA_WALLET_REGISTRY_PATH`
1019
- - set `XYTARA_TREASURY_DESTINATION_ID` and related treasury env vars so accepted payments land in your merchant treasury posture instead of the default local account placeholder
1020
- - built-in `x402` is the admission lane; real external payout/custody still depends on the payment rail and treasury destination you configure behind that lane
1021
- - for native BSV/Teranode live follow-through, set `XYTARA_BSV_TERANODE_SETTLEMENT_RUNTIME_MODE` to `observe` or `arc`
1022
- - use `XYTARA_BSV_ARC_RPC_URL` plus optional ARC RPC auth envs when the live runtime needs ARC submission; legacy `XYTARA_BSV_TERANODE_RPC_*` aliases remain accepted
1023
- - use `XYTARA_BSV_TERANODE_OBSERVER_URL` if you want to override the default live observer base
1024
-
1025
- Primary service routes:
1026
-
1027
- - `GET /health`
1028
- - `GET /v1/catalog`
1029
- - `GET /v1/catalog/summary`
1030
- - `GET /v1/catalog/task?ref=<task_ref_or_alias>`
1031
- - `GET /v1/catalog/workflows`
1032
- - `GET /v1/catalog/workflow?ref=<workflow_ref_or_alias>`
1033
- - `GET /v1/integrations`
1034
- - `GET /v1/integrations/summary`
1035
- - `GET /v1/integrations/classes`
1036
- - `GET /v1/integrations/protocols`
1037
- - `GET /v1/integrations/settlement-modes`
1038
- - `GET /v1/integrations/promotion-readiness`
1039
- - `GET /v1/integrations/:integration_id/promotion-readiness`
1040
- - `GET /v1/integrations/promotion-actions`
1041
- - `GET /v1/integrations/:integration_id/promotion-actions`
1042
- - `POST /v1/integrations/promotion-actions/preview`
1043
- - `POST /v1/integrations/review/submission-bundle`
1044
- - `POST /v1/integrations/review/submission-bundle-set`
1045
- - `POST /v1/integrations/review/registry-snapshot`
1046
- - `POST /v1/payment-quotes`
1047
- - `POST /v1/trust/handoffs/emit`
1048
- - `POST /v1/trust/handoffs/validate`
1049
- - `POST /v1/execution-receipts/handoffs/emit`
1050
- - `POST /v1/execution-receipts/handoffs/validate`
1051
- - `POST /v1/receipt-ledger/handoffs/emit`
1052
- - `POST /v1/receipt-ledger/handoffs/validate`
1053
- - `POST /v1/admission/preview`
1054
- - `POST /v1/a2a/negotiate`
1055
- - `POST /v1/a2a/commit`
1056
- - `POST /v1/a2a/flows/settlement`
1057
- - `POST /v1/a2c/sessions/open`
1058
- - `POST /v1/a2c/packs/preview`
1059
- - `POST /v1/a2c/flows/tooling`
1060
- - `POST /v1/identity/attest/preview`
1061
- - `POST /v1/identity/registry/link`
1062
- - `POST /v1/identity/flows/anchor`
1063
- - `POST /v1/runtime/emit`
1064
- - `POST /v1/runtime/anchor`
1065
- - `POST /v1/runtime/emit-anchor`
1066
- - `POST /v1/registry/register`
1067
- - `POST /v1/registry/packs/bundle`
1068
- - `POST /v1/registry/packs/anchor`
1069
- - `POST /v1/anchoring/submit`
1070
- - `POST /v1/anchoring/packs/preview`
1071
- - `GET /v1/coordination-center`
1072
- - `GET /v1/coordination-center/summary`
1073
- - `GET /v1/zones`
1074
- - `GET /v1/zones/compatibility-profiles`
1075
- - `GET /v1/zones/:zoneId/constitution`
1076
- - `POST /v1/coordination-center/interpretation-handoff/validate`
1077
- - `POST /v1/coordination-center/handshake-preview`
1078
- - `POST /v1/coordination-center/cross-zone-preview`
1079
- - `POST /v1/coordination-center/admission-case-projection`
1080
- - `POST /v1/coordination-center/admission-case-bundle`
1081
- - `POST /v1/coordination-center/operator-view`
1082
- - `POST /v1/coordination-center/admin-view`
1083
- - `POST /v1/coordination-center/admission-ops-pack`
1084
- - `POST /v1/coordination-center/admission-workflow-pack`
1085
- - `POST /v1/coordination-center/coordination-pack`
1086
- - `POST /v1/coordination-center/review-link`
1087
- - `GET /v1/coordination-center/zones-dashboard`
1088
- - `POST /v1/coordination-center/zones-dashboard-pack`
1089
- - `POST /v1/mcp/tools/invoke`
1090
- - `GET /v1/payment-quotes`
1091
- - `GET /v1/payment-quotes/:quote_id`
1092
- - `POST /v1/commands/execute`
1093
- - `POST /x402/commands/execute`
1094
- - `POST /x402/mcp/tools/invoke`
1095
- - `GET /v1/governed-transactions`
1096
- - `GET /v1/governed-transactions/:transaction_id`
1097
- - `GET /v1/receipts`
1098
- - `GET /v1/receipts/:receipt_id`
1099
- - `GET /v1/payment-ledger`
1100
- - `GET /v1/payment-ledger/:payment_id`
1101
- - `GET /v1/payment-ledger/:payment_id/operator-pack`
1102
- - `GET /v1/deliveries`
1103
- - `GET /v1/deliveries/:delivery_id`
1104
- - `GET /v1/disputes`
1105
- - `POST /v1/disputes`
1106
- - `GET /v1/disputes/:dispute_id`
1107
- - `POST /v1/disputes/:dispute_id/actions`
1108
- - `GET /v1/refunds`
1109
- - `POST /v1/refunds`
1110
- - `GET /v1/refunds/:refund_id`
1111
- - `POST /v1/refunds/:refund_id/actions`
1112
- - `POST /v1/remediation-tickets`
1113
- - `GET /v1/remediation-tickets`
1114
- - `GET /v1/remediation-tickets/:ticket_id`
1115
- - `POST /v1/remediation-tickets/:ticket_id/actions`
1116
- - `GET /v1/reconciliation-report`
1117
- - `GET /v1/operator-export-pack`
1118
- - `GET /v1/operations/dashboard`
1119
- - `GET /v1/operations/attention-records`
1120
- - `GET /v1/runtime/durability`
1121
- - `GET /v1/operator-shell`
1122
- - `GET /v1/operator-shell/summary`
1123
- - `POST /v1/operator-shell/summary`
1124
- - `POST /v1/operator-shell/workflow-pack`
1125
- - `POST /v1/operator-shell/admin-pack`
1126
- - `GET /v1/agent-accounts`
1127
- - `POST /v1/agent-accounts`
1128
- - `GET /v1/agent-accounts/:account_id`
1129
- - `POST /v1/economics/budgets`
1130
- - `POST /v1/economics/budgets/:budget_id/status`
1131
- - `POST /v1/economics/agents`
1132
- - `POST /v1/economics/agents/:agent_id/status`
1133
- - `POST /v1/economics/receipts`
1134
- - `POST /v1/economics/receipts/:receipt_id/lifecycle`
1135
- - `POST /v1/economics/receipts/:receipt_id/operator-action`
1136
- - `POST /v1/economics/allocations/mint`
1137
- - `POST /v1/economics/allocations/reverse`
1138
- - `POST /v1/economics/rails/credits/preview`
1139
- - `POST /v1/economics/rails/credits/apply`
1140
- - `POST /v1/economics/receipt-ledger/validate`
1141
- - `POST /v1/economics/interpretation-handoff`
1142
- - `POST /v1/economics/markets/preview`
1143
- - `POST /v1/economics/markets/workflow-pack`
1144
- - `POST /v1/economics/markets/signoff-pack`
1145
- - `POST /v1/economics/markets/coordination-pack`
1146
- - `GET /v1/economics/accounts/:account_id/budgets`
1147
- - `GET /v1/economics/accounts/:account_id/agents`
1148
- - `GET /v1/economics/accounts/:account_id/receipts`
1149
- - `GET /v1/economics/accounts/:account_id`
1150
- - `GET /v1/economics/accounts/:account_id/operator-view`
1151
- - `GET /v1/economics/accounts/:account_id/operator-dashboard`
1152
- - `GET /v1/economics/accounts/:account_id/treasury-summary`
1153
- - `GET /v1/economics/accounts/:account_id/ledger-export`
1154
- - `GET /v1/economics/accounts/:account_id/treasury-drilldown`
1155
- - `GET /v1/economics/accounts/:account_id/reconciliation-pack`
1156
- - `GET /v1/economics/accounts/:account_id/treasury-workflow-pack`
1157
- - `GET /v1/economics/accounts/:account_id/treasury-signoff-pack`
1158
- - `GET /v1/economics/accounts/:account_id/policy-summary`
1159
- - `GET /v1/economics/accounts/:account_id/rail-summary`
1160
- - `GET /v1/economics/accounts/:account_id/rail-workflow-pack`
1161
- - `GET /v1/economics/accounts/:account_id/rail-signoff-pack`
1162
- - `POST /v1/economics/jobs/:job_id/operator-action`
1163
- - `GET /v1/economics/evidence/receipts/:receipt_ref`
1164
- - `GET /v1/economics/evidence/jobs/:job_id`
1165
- - `GET /v1/economics/integration/jobs/:job_id`
1166
- - `GET /v1/settlement/bsv-teranode/readiness`
1167
- - `GET /v1/settlement/bsv-teranode/:settlement_id/operator-pack`
1168
-
1169
- The Wave C coordination carry-over line adds a bounded coordination center on top of the public transaction spine:
1170
-
1171
- - zone discovery, compatibility profiles, and constitution lookup
1172
- - interpretation-handoff validation and cross-zone handshake preview
1173
- - cross-zone admission-case projection and portable case-bundle export
1174
- - coordination operator/admin views plus explicit review-linkage into governance and proof follow-through
1175
- - admission ops/workflow packs, coordination packs, and zones dashboard packaging
1176
-
1177
- The Wave D adapter-breadth line broadens the bundled public integration surface as well:
1178
-
1179
- - additional built-in protocol surfaces for `a2a`, `acp`, `mqtt`, `grpc`, `kafka`, `nats`, and `ros2`
1180
- - additional built-in execution-front surfaces for `langchain`, `langgraph`, `semantic_kernel`, `autogen`, `crewai`, and `llamaindex`
1181
- - broader bundled payment and identity breadth through `mpp` and `erc8004`-oriented public integration surfaces
1182
-
1183
- The Wave F shell carry-over line adds a bounded operator shell inside public `xytara`:
1184
-
1185
- - self-serve agent account issuance for the public runtime path
1186
- - a unified operator shell summary across operations, economics, and coordination
1187
- - explicit runtime durability visibility for snapshot-backed recovery posture
1188
- - explicit native BSV/Teranode readiness visibility for merchant identity, transport, and verification posture
1189
- - compact workflow/admin shell exports that point cleanly into proof-side follow-through when needed
1190
-
1191
- This keeps the public product centered on `naxytra` while preserving the useful operator-shell capability directly inside `xytara` instead of splitting it into a separate surface.
1192
-
1193
- The durability and native-settlement readiness surfaces are also intended to make the remaining production boundary explicit:
1194
-
1195
- - `/v1/runtime/durability` exposes whether runtime snapshots are enabled, whether a recoverable snapshot exists yet, and any current durability blockers
1196
- - `/v1/settlement/bsv-teranode/readiness` exposes whether merchant identity, transport, verification mode, and runtime mode are production-ready, plus the next manual inputs still required
1197
- - `/v1/payment-ledger/:payment_id/operator-pack` and `/v1/settlement/bsv-teranode/:settlement_id/operator-pack` collapse payment, settlement, treasury, proof, and economic-consequence carry into one operator-facing pack so direct-pay and funded-runtime paths are easier to inspect without stitching raw records together
1198
-
1199
- If you use grants, entitlements, or usage metering in deployed `xytara`, `XYTARA_STATE_FILE` should point at persistent disk rather than ephemeral container storage. Otherwise those economics records will reset across restart.
1200
-
1201
- If your host does not provide persistent disk, use the Supabase-backed runtime state path documented in [SUPABASE_RUNTIME_STATE_SETUP.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/SUPABASE_RUNTIME_STATE_SETUP.md).
1202
-
1203
- ## Verification
1204
-
1205
- Local verification commands:
1206
-
1207
- - `npm run verify:package`
1208
- - `npm run verify:adapters`
1209
- - `npm run verify:tooling`
1210
- - `npm run verify:examples`
1211
- - `npm run verify:service`
1212
- - `npm run verify:all`
1213
-
1214
- The current verification covers:
1215
-
1216
- - package exports and helper breadth
1217
- - adapter manifest and implementation conformance
1218
- - registry bundle tooling behavior
1219
- - quickstart behavior
1220
- - service-route behavior
1221
- - preserved operator/reporting surfaces
1222
-
1223
- ## Control Files
1224
-
1225
- - `FINAL_CONTRACT.md`
1226
- - `TERMINOLOGY.md`
1227
- - `SERVICE_CONTRACT.md`
1228
-
1
+ # xytara
2
+
3
+ [![smithery badge](https://smithery.ai/badge/naxytra/xytara-mcp-executor)](https://smithery.ai/servers/naxytra/xytara-mcp-executor)
4
+
5
+ `xytara` is the runtime and payment layer for the public two-repo stack.
6
+
7
+ > New to the code? Read [`ARCHITECTURE.md`](ARCHITECTURE.md) first. It separates
8
+ > the small execution-and-settlement engine (~9,300 lines) from the large
9
+ > machine-readable breadth catalog, so the real runtime is legible in one sitting.
10
+
11
+ It exists to let agents, developers, and systems:
12
+
13
+ - discover tasks and workflows
14
+ - quote work before execution
15
+ - pay through supported payment paths
16
+ - fund reusable balances and credits
17
+ - execute tasks and workflows
18
+ - dispatch runtime work
19
+ - receive deliverables
20
+ - inspect usage, metering, and lifecycle state
21
+ - reconcile payment and settlement outcomes
22
+ - inspect lifecycle state
23
+ - operate through summaries and dashboards
24
+ - review disputes, refunds, and remediation flows
25
+ - integrate third-party adapters
26
+ - emit proof-compatible facts for `xoonya` verification
27
+
28
+ This repo is the runtime layer. It does not define base proof semantics. It references and emits proof-compatible facts, while `xoonya` owns canonical proof.
29
+
30
+ The 10-phase public program is now complete. `xytara` is in terminal closeout posture rather than active milestone build posture.
31
+
32
+ ## Public Boundary
33
+
34
+ The public adoption story is intentionally simple:
35
+
36
+ - install
37
+ - discover
38
+ - quote
39
+ - pay or spend credits
40
+ - execute
41
+ - receive deliverables
42
+ - hand off to `xoonya` when proof or review is needed
43
+
44
+ Public docs and package surfaces should help builders integrate and pay for useful work. Real treasury destinations, custody details, and operator-only controls belong in private runtime configuration and operator handling, not in public marketing surfaces.
45
+
46
+ ## Universal Runtime Shape
47
+
48
+ `xytara` is intended to be usable from:
49
+
50
+ - CLI and terminal
51
+ - direct API calls
52
+ - chat and agent environments that can issue HTTP calls
53
+ - browsers and hosted checkout flows
54
+ - operating-system or service wrappers
55
+ - partner systems that need to add adapters or registry integrations
56
+
57
+ The shortest public runtime loop is:
58
+
59
+ - discover
60
+ - quote
61
+ - pay or spend credits
62
+ - execute
63
+ - receive deliverables
64
+ - inspect results and economic state
65
+ - hand off into `xoonya` when proof or review is required
66
+
67
+ The frozen runtime-side fact model for that loop is documented in:
68
+
69
+ - [XYTARA_EXECUTION_TRUTH_MODEL.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XYTARA_EXECUTION_TRUTH_MODEL.md)
70
+ - [XT1_EXECUTION_TRUTH_STANDARD.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XT1_EXECUTION_TRUTH_STANDARD.md)
71
+ - [OPERATIONAL_RECEIPT_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/OPERATIONAL_RECEIPT_CONTRACT.md)
72
+ - [MACHINE_IDENTITY_REGISTRY_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/MACHINE_IDENTITY_REGISTRY_CONTRACT.md)
73
+ - [CRYPTO_AGILITY_MATRIX.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/CRYPTO_AGILITY_MATRIX.md)
74
+ - [AUTHORITY_BINDING_LIFECYCLE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/AUTHORITY_BINDING_LIFECYCLE_CONTRACT.md)
75
+ - [PUBLIC_SURFACE_POLICY_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/PUBLIC_SURFACE_POLICY_CONTRACT.md)
76
+ - [OFFLINE_VERIFIABILITY_AND_RECOVERY_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/OFFLINE_VERIFIABILITY_AND_RECOVERY_CONTRACT.md)
77
+ - [ADAPTER_CERTIFICATION_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/ADAPTER_CERTIFICATION_CONTRACT.md)
78
+ - [TRUST_PORTABILITY_BOUNDARY_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/TRUST_PORTABILITY_BOUNDARY_CONTRACT.md)
79
+ - [SIGNED_AUDIT_PROVENANCE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/docs/architecture/SIGNED_AUDIT_PROVENANCE_CONTRACT.md)
80
+
81
+ `XT1` is the coined public name for the `xytara` execution-truth standard, just as `XNYA` is the coined public name for the `xoonya` native proof primitive.
82
+
83
+ Machine-readable execution-truth surfaces:
84
+
85
+ - `GET /v1/xt1`
86
+ - `GET /v1/xt1/summary`
87
+ - `GET /v1/execution-truth`
88
+ - `GET /v1/execution-truth/summary`
89
+
90
+ The frozen multi-surface default-path model for `3.0.0` closeout is documented in:
91
+
92
+ - [XYTARA_DEFAULT_PATH_MODEL.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XYTARA_DEFAULT_PATH_MODEL.md)
93
+
94
+ Machine-readable default-path surfaces:
95
+
96
+ - `GET /v1/default-path`
97
+ - `GET /v1/default-path/summary`
98
+ - `GET /v1/default-path/:surface_id`
99
+
100
+ The frozen payment-and-rail claim model for `3.0.0` closeout is documented in:
101
+
102
+ - [XYTARA_PAYMENT_RAIL_TRUTH_MODEL.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XYTARA_PAYMENT_RAIL_TRUTH_MODEL.md)
103
+
104
+ Machine-readable payment-and-rail truth surfaces:
105
+
106
+ - `GET /v1/payment-rail-truth`
107
+ - `GET /v1/payment-rail-truth/summary`
108
+ - `GET /v1/payment-rail-truth/:profile_id`
109
+
110
+ The frozen adapter-and-protocol claim model for `3.0.0` closeout is documented in:
111
+
112
+ - [XYTARA_ADAPTER_PROTOCOL_TRUTH_MODEL.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XYTARA_ADAPTER_PROTOCOL_TRUTH_MODEL.md)
113
+
114
+ Machine-readable adapter-and-protocol truth surfaces:
115
+
116
+ - `GET /v1/adapter-protocol-truth`
117
+ - `GET /v1/adapter-protocol-truth/summary`
118
+ - `GET /v1/adapter-protocol-truth/:profile_id`
119
+
120
+ The public autonomous-entry model for outside agents is documented in:
121
+
122
+ - [XYTARA_AUTONOMOUS_ENTRY_MODEL.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/XYTARA_AUTONOMOUS_ENTRY_MODEL.md)
123
+
124
+ Machine-readable autonomous-entry surfaces:
125
+
126
+ - `GET /v1/autonomous-entry`
127
+ - `GET /v1/autonomous-entry/summary`
128
+ - `GET /v1/autonomous-entry/:profile_id`
129
+
130
+ The current runtime breadth already includes:
131
+
132
+ - discovery and workflow lookup
133
+ - pricing and quote generation
134
+ - direct machine payment
135
+ - credits, grants, entitlements, and delegated spend
136
+ - execution, result packages, and delivery
137
+ - usage metering and account economics
138
+ - hosted checkout and runtime-bridge dispatch surfaces
139
+ - disputes, refunds, and remediation
140
+ - activity ledger, reconciliation, and treasury-control visibility
141
+ - adapter registration, review, and promotion surfaces
142
+
143
+ It also already carries broader first-class runtime lanes for:
144
+
145
+ - framework integrations such as `langchain`, `langgraph`, `semantic_kernel`, `autogen`, `crewai`, and `llamaindex`
146
+ - machine and agent protocol fronts such as `mcp`, `a2a`, `a2c`, `acp`, `grpc`, `mqtt`, `kafka`, `nats`, `ros2`, and `webhook_event_bus`
147
+ - identity and registry posture such as `erc8004`, registry identity, attestation refs, and anchor refs
148
+ - operator and observability posture such as telemetry, provenance, artifact distribution, shared signals, feature control, pricing telemetry, and registry-side export surfaces
149
+
150
+ If you want the broadest machine-readable census for these already-core runtime lanes, inspect:
151
+
152
+ - `GET /v1/integration-matrix`
153
+ - `GET /v1/telemetry`
154
+ - `GET /v1/provenance`
155
+ - `GET /v1/artifact-distribution`
156
+ - `GET /v1/shared-signals`
157
+ - `GET /v1/feature-control`
158
+ - `GET /v1/adapter-certification`
159
+ - `GET /v1/trust-portability-boundary`
160
+ - `GET /v1/signed-audit-provenance`
161
+
162
+ ## One-Line After Install
163
+
164
+ If you only run two commands after install, use:
165
+
166
+ - `xytara start-here`
167
+ - `xytara first-run`
168
+ - `xytara first-run --run-quote --account ACCOUNT_REF --pretty`
169
+ - `xytara first-run --execute-with-credits --account ACCOUNT_REF --pretty`
170
+ - `xytara release --summary`
171
+
172
+ If you want the shortest machine-readable discovery path, inspect:
173
+
174
+ - `GET /v1/providers`
175
+ - `GET /v1/frameworks`
176
+ - `GET /v1/protocols`
177
+ - `GET /v1/integration-matrix`
178
+ - `GET /v1/telemetry`
179
+ - `GET /v1/provenance`
180
+ - `GET /v1/adapter-certification`
181
+ - `GET /v1/trust-portability-boundary`
182
+ - `GET /v1/signed-audit-provenance`
183
+
184
+ If you are working on shared evidence, inspect the operational receipt contract pack:
185
+
186
+ - `buildOperationalReceiptContractPack()`
187
+ - `summarizeOperationalReceiptContractPack()`
188
+
189
+ If you are working on machine identity, inspect the registry contract pack:
190
+
191
+ - `buildMachineIdentityRegistryContractPack()`
192
+ - `summarizeMachineIdentityRegistryContractPack()`
193
+
194
+ If you are working on crypto agility, inspect the matrix pack:
195
+
196
+ - `buildCryptoAgilityMatrixPack()`
197
+ - `summarizeCryptoAgilityMatrixPack()`
198
+
199
+ If you are working on binding lifecycle, inspect the lifecycle pack:
200
+
201
+ - `buildAuthorityBindingLifecycleContractPack()`
202
+ - `summarizeAuthorityBindingLifecycleContractPack()`
203
+
204
+ If you are working on public route policy, inspect the surface policy pack:
205
+
206
+ - `buildPublicSurfacePolicyContractPack()`
207
+ - `summarizePublicSurfacePolicyContractPack()`
208
+
209
+ If you are working on offline recovery, inspect the recovery pack:
210
+
211
+ - `buildOfflineVerifiabilityRecoveryContractPack()`
212
+ - `summarizeOfflineVerifiabilityRecoveryContractPack()`
213
+
214
+ If you are working on adapter certification, inspect the certification pack:
215
+
216
+ - `buildAdapterCertificationContractPack()`
217
+ - `summarizeAdapterCertificationContractPack()`
218
+
219
+ If you are working on trust portability boundaries, inspect the boundary pack:
220
+
221
+ - `buildTrustPortabilityBoundaryContractPack()`
222
+ - `summarizeTrustPortabilityBoundaryContractPack()`
223
+
224
+ If you are working on signed audit and provenance, inspect the audit/provenance pack:
225
+
226
+ - `buildSignedAuditProvenanceContractPack()`
227
+ - `summarizeSignedAuditProvenanceContractPack()`
228
+
229
+ ## Start Here
230
+
231
+ If you are new to the public stack, use this order:
232
+
233
+ 1. read [START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/START_HERE.md)
234
+ 2. run `node examples/quickstart.js`
235
+ 3. run `npm run verify:all`
236
+ 4. use [FINAL_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/FINAL_CONTRACT.md) and [SERVICE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/SERVICE_CONTRACT.md) as the durable public contract
237
+
238
+ If you are reading the GitHub repo and want deeper product context beyond the npm starter path, continue with:
239
+
240
+ - [WHY_XYTARA_XOONYA.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/WHY_XYTARA_XOONYA.md)
241
+ - [PARTNER_READY_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/PARTNER_READY_PATH.md)
242
+
243
+ If you want one concrete cross-repo adoption story, start with:
244
+
245
+ - [CARRIED_HANDOFF_DEMO.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/CARRIED_HANDOFF_DEMO.md)
246
+
247
+ If you want the shortest neutral external-adoption bundle, continue with:
248
+
249
+ - [PARTNER_READY_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/PARTNER_READY_PATH.md)
250
+ - [PUBLIC_DEMO_SCRIPT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/PUBLIC_DEMO_SCRIPT.md)
251
+ - [EXAMPLE_PATHS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/EXAMPLE_PATHS.md)
252
+ - `node examples/partner_launch_walkthrough.js`
253
+
254
+ If you are building adapters, continue with:
255
+
256
+ - [ADAPTER_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/ADAPTER_START_HERE.md)
257
+ - [ADAPTER_PROMOTION_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/ADAPTER_PROMOTION_START_HERE.md)
258
+ - [ADAPTER_PARTNER_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/ADAPTER_PARTNER_PATH.md)
259
+ - [SOFT_LAUNCH_KIT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/SOFT_LAUNCH_KIT.md)
260
+ - [OUTREACH_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/OUTREACH_START_HERE.md)
261
+ - [OUTREACH_MESSAGES.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/OUTREACH_MESSAGES.md)
262
+ - [adapters/AUTHORING_GUIDE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/AUTHORING_GUIDE.md)
263
+ - [adapters/ONBOARDING_POSTURE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/ONBOARDING_POSTURE.md)
264
+ - [adapters/THIRD_PARTY_SUBMISSION_PROCESS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md)
265
+
266
+ The fastest copy-and-adapt third-party starter now lives under:
267
+
268
+ - `adapters/examples/minimal-third-party-execution-adapter.manifest.json`
269
+ - `adapters/examples/minimal-third-party-execution-adapter.js`
270
+ - `adapters/examples/minimal-third-party-execution-registration.record.json`
271
+ - `adapters/examples/minimal-third-party-execution.certification-pack.json`
272
+ - `adapters/examples/minimal-third-party-execution.submission-bundle.json`
273
+ - `adapters/examples/langgraph-reference-execution-adapter.manifest.json`
274
+ - `adapters/examples/langgraph-reference-execution-adapter.js`
275
+ - `adapters/examples/langchain-reference-execution-adapter.manifest.json`
276
+ - `adapters/examples/langchain-reference-execution-adapter.js`
277
+
278
+ If you are wiring treasury, settlement, or payment activation, continue with:
279
+
280
+ - [REAL_PAYMENT_SETUP.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/REAL_PAYMENT_SETUP.md)
281
+ - [BSV_TERANODE_PLATFORM_DISCONTINUITY_RUNBOOK.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/BSV_TERANODE_PLATFORM_DISCONTINUITY_RUNBOOK.md)
282
+
283
+ Production treasury and multi-rail payment activation are now centralized in `REAL_PAYMENT_SETUP.md` plus your private treasury source of truth outside the repos.
284
+
285
+ If you want one private operator page that rolls up release posture, treasury landing, runtime activity, delivery, settlement readiness, and linked proof-facing health, use:
286
+
287
+ - `GET /v1/business-cockpit`
288
+ - `GET /v1/business-cockpit/summary`
289
+ - `GET /business-cockpit`
290
+
291
+ Those surfaces are private and are intended to be opened with the same operator bearer token used for other protected runtime views.
292
+
293
+ If you are wiring external checkout or hosted funding paths, continue with:
294
+
295
+ - [HUMAN_CHECKOUT_AND_RUNTIME_BRIDGE_PATTERN.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/HUMAN_CHECKOUT_AND_RUNTIME_BRIDGE_PATTERN.md)
296
+ - [RUNTIME_BRIDGE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/RUNTIME_BRIDGE_CONTRACT.md)
297
+ - [HOSTED_CHECKOUT_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/HOSTED_CHECKOUT_CONTRACT.md)
298
+ - [CHECKOUT_TO_CREDITS_AND_DISPATCH_PLAN.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/CHECKOUT_TO_CREDITS_AND_DISPATCH_PLAN.md)
299
+
300
+ If you want the broader already-core runtime continuity layers, continue with:
301
+
302
+ - [OPERATOR_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/OPERATOR_START_HERE.md)
303
+ - [GO_LIVE_OPERATOR_PACK.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/GO_LIVE_OPERATOR_PACK.md)
304
+ - [PRODUCTION_MANUAL_CLOSEOUT_SEQUENCE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/PRODUCTION_MANUAL_CLOSEOUT_SEQUENCE.md)
305
+
306
+ ## Production Path
307
+
308
+ The intended production-facing default path is now:
309
+
310
+ 1. discover a capability
311
+ 2. preview or quote the transaction path
312
+ 3. spend existing credits first when the caller prefers the reusable account path
313
+ 4. fall back to direct machine payment when credits are not available or not preferred
314
+ 5. execute through the default machine path
315
+ 6. inspect the transaction-side result and lifecycle state
316
+ 7. hand the result into `xoonya`
317
+ 8. review and run the proof-side completion path
318
+
319
+ The machine-facing execution surface now also supports a first-class reusable balance posture:
320
+
321
+ - set `payment_preference: "credits_first"` on `POST /v1/commands/execute` when the caller wants to spend existing account credits before requesting a fresh payment
322
+ - default spend posture is `open_spend`: if the funded caller can pay, `xytara` should spend and execute without extra runtime ceremony
323
+ - bounded spend posture is optional and only applies when the caller intentionally uses an `agent_id` and/or `budget_id`
324
+ - inspect account credit state with `GET /v1/economics/accounts/:account_id/credit-balance`
325
+ - inspect deterministic usage metering state with `GET /v1/economics/accounts/:account_id/metering-summary`, `GET /v1/economics/accounts/:account_id/usage-meters`, and `GET /v1/economics/accounts/:account_id/usage-meters/:usage_meter_id`
326
+ - expect reconciliation and operator-export surfaces to carry the same metering trail for audit visibility
327
+ - export a canonical cross-repo economic handoff bundle with `POST /v1/economics/handoff-bundles/economic-consequence`
328
+ - expect `POST /v1/transaction-center/result-packages/export` and result-package continuation export/prepare surfaces to auto-carry that same canonical economic bundle whenever the execution path spent credits and produced a deterministic usage meter
329
+ - inspect pack-backed entitlement pools with `GET /v1/economics/accounts/:account_id/entitlements` and `GET /v1/economics/accounts/:account_id/entitlements/summary`
330
+ - inspect low-balance and replenishment posture with `GET /v1/economics/accounts/:account_id/entitlements/replenishment-summary`
331
+ - inspect one pool's replenishment view with `GET /v1/economics/accounts/:account_id/entitlements/:entitlement_id/replenishment-view`
332
+ - inspect effective account spend posture with `GET /v1/economics/accounts/:account_id/policy-pack`
333
+ - inspect effective agent spend posture with `GET /v1/economics/accounts/:account_id/agents/:agent_id/policy-view`
334
+ - preflight a proposed credit spend with `POST /v1/economics/rails/credits/preview-spend`
335
+ - record explicit bounded credit consumption with `POST /v1/economics/rails/credits/consume`
336
+ - issue externally verified top-up grants with `POST /v1/credit-bridge/grants`
337
+ - inspect externally issued grants with `GET /v1/credit-bridge/grants` and `GET /v1/credit-bridge/grants/:grant_id`
338
+ - discover reusable funding posture through `GET /v1/credit-packs`, `GET /v1/credit-packs/summary`, and `GET /v1/credit-pack?ref=<pack_id>`
339
+ - external grant callers can now fund a named public pack such as `credits.agent`, and `xytara` will validate and record that pack identity directly
340
+
341
+ The SDK now exposes the same posture directly for agent callers:
342
+
343
+ - `client.getCreditPackSummary()`
344
+ - `client.getCreditBalance(accountId)`
345
+ - `client.previewUsageMetering({ account_id, task_ref?, workflow_ref?, units? })`
346
+ - `client.getUsageMeteringSummary(accountId)`
347
+ - `client.listUsageMeters(accountId)`
348
+ - `client.getUsageMeter(usageMeterId, accountId?)`
349
+ - `client.exportEconomicConsequenceHandoffBundle({ account_id, usage_meter_id, credit_spend_id, meter_profile_ref? })`
350
+ - `client.listEntitlements(accountId)`
351
+ - `client.getEntitlementSummary(accountId)`
352
+ - `client.getEntitlement(entitlementId, accountId?)`
353
+ - `client.getEntitlementReplenishmentSummary(accountId)`
354
+ - `client.getEntitlementReplenishmentView(entitlementId, accountId?)`
355
+ - `client.updateEntitlementReplenishmentPreference(entitlementId, payload, accountId?)`
356
+ - `client.previewCreditSpend({ account_id, task_ref, units, agent_id?, budget_id? })`
357
+ - `client.getCreditSpendPolicyPack(accountId)`
358
+ - `client.getAgentCreditSpendPolicyView(agentId, accountId?)`
359
+ - `client.executeWithCreditsFirst(payload, options?)`
360
+
361
+ The runtime now also supports a bounded delegated spend path for repeat-use automation:
362
+
363
+ - issue a spend credential through `POST /v1/account-auth/spend-credentials`
364
+ - use that credential as `authorization: Bearer <spend_credential>`
365
+ - optionally bind the credential to a `pack_id` or `entitlement_id` when spend should stay inside one value pool
366
+ - execute through the same `credits_first` path without sharing broad operator secrets
367
+ - revoke it through `POST /v1/account-auth/spend-credentials/:credential_id/revoke`
368
+
369
+ SDK helpers now include:
370
+
371
+ - `client.createSpendCredential(payload, { bearerToken })`
372
+ - `client.listSpendCredentials(filters?, { bearerToken? })`
373
+ - `client.getSpendCredential(credentialId, { bearerToken? })`
374
+ - `client.revokeSpendCredential(credentialId, payload, { bearerToken })`
375
+ - `client.executeWithSpendCredential(payload, { spendToken })`
376
+
377
+ This keeps one-off usage and repeat usage on the same public spine:
378
+
379
+ - direct pay when the caller is using the stack once
380
+ - credit balance when the caller is already funded and wants low-friction repeat execution
381
+ - optional agent and budget controls can still bound that spend without changing the execution surface
382
+
383
+ It also keeps the external funding boundary clean:
384
+
385
+ - an external merchant-facing system can verify a purchase and issue a bounded credit grant into `xytara`
386
+ - `xytara` records the granted value and consumes it during later runtime operations
387
+ - the runtime does not need to absorb provider-specific checkout semantics to support repeat usage
388
+ - in production, `POST /v1/credit-bridge/grants` should normally be protected with `XYTARA_CREDIT_BRIDGE_BEARER_TOKEN`
389
+
390
+ The first external checkout convenience path now follows a parallel narrow route:
391
+
392
+ 1. create hosted purchase intent
393
+ 2. create checkout session
394
+ 3. normalize payment success
395
+ 4. issue credits or entitlement
396
+ 5. dispatch through the runtime path when needed
397
+ 6. converge back into the same `xytara` and `xoonya` spine
398
+
399
+ The first direct hosted execution path now also has a public runtime dispatch surface:
400
+
401
+ - `POST /v1/runtime-bridge/dispatch`
402
+ - `GET /v1/runtime-bridge/dispatches`
403
+ - `GET /v1/runtime-bridge/dispatches/:request_id`
404
+
405
+ The hosted payment side is intentionally asymmetric:
406
+
407
+ - pay-in should be simple and fast
408
+ - execution and delivery should follow immediately after valid payment
409
+ - refund or reversal requests should enter review first
410
+ - no autonomous payout path should exist outside explicit operator review and completion
411
+
412
+ The operator shell now also carries hosted checkout visibility so purchase, dispatch, and refund-review load can be monitored from the same public control surface.
413
+
414
+ The rest of this README explains the full surface area and milestone trail, but the public starting posture should now be understandable from that one default path.
415
+
416
+ For release-grade adoption posture, inspect:
417
+
418
+ - `GET /v1/release-pack`
419
+ - `GET /v1/release-pack/summary`
420
+ - `GET /v1/release-pack/comparison`
421
+ - `GET /v1/release-pack/comparison/summary`
422
+ - `GET /v1/release-pack/adoption`
423
+ - `GET /v1/release-pack/adoption/summary`
424
+ - `GET /v1/release-pack/scenarios`
425
+ - `GET /v1/release-pack/scenarios/summary`
426
+ - `GET /v1/release-pack/launch`
427
+ - `GET /v1/release-pack/launch/summary`
428
+ - `GET /v1/release-manifest`
429
+ - `GET /v1/release-manifest/summary`
430
+ - `GET /v1/release-notes`
431
+ - `GET /v1/release-notes/summary`
432
+ - `GET /v1/release-center`
433
+ - `GET /v1/release-center/summary`
434
+ - `GET /v1/release-history`
435
+ - `GET /v1/release-history/summary`
436
+ - `GET /v1/adapter-pack`
437
+ - `GET /v1/adapter-pack/summary`
438
+ - `GET /v1/adapter-promotion`
439
+ - `GET /v1/adapter-promotion/summary`
440
+ - `GET /v1/adapter-partners`
441
+ - `GET /v1/adapter-partners/summary`
442
+ - `GET /v1/soft-launch`
443
+ - `GET /v1/soft-launch/summary`
444
+ - `GET /v1/outreach-copy`
445
+ - `GET /v1/outreach-copy/summary`
446
+ - `GET /v1/outreach-targets`
447
+ - `GET /v1/outreach-targets/summary`
448
+ - `GET /v1/outreach-messages`
449
+ - `GET /v1/outreach-messages/summary`
450
+ - `GET /v1/phases`
451
+ - `GET /v1/phases/summary`
452
+ - `GET /v1/phases/phase-1`
453
+ - `GET /v1/phases/phase-1/summary`
454
+ - `GET /v1/publish-plan`
455
+ - `GET /v1/publish-plan/summary`
456
+ - `GET /v1/ecosystem-entry`
457
+ - `GET /v1/ecosystem-entry/summary`
458
+ - `GET /v1/launch-narrative`
459
+ - `GET /v1/launch-narrative/summary`
460
+ - `GET /v1/outreach-proof`
461
+ - `GET /v1/outreach-proof/summary`
462
+ - `GET /v1/announcement-pack`
463
+ - `GET /v1/announcement-pack/summary`
464
+ - `GET /v1/release-candidate`
465
+ - `GET /v1/release-candidate/summary`
466
+ - `xytara-release --summary`
467
+ - `xytara-release --comparison --summary`
468
+ - `xytara-release --adoption --summary`
469
+ - `xytara-release --scenarios --summary`
470
+ - `xytara-release --launch --summary`
471
+ - `xytara-release --manifest --summary`
472
+ - `xytara-release --notes --summary`
473
+ - `xytara-release --center --summary`
474
+ - `xytara-release --history --summary`
475
+ - `xytara-release --adapters --summary`
476
+ - `xytara-release --adapter-promotion --summary`
477
+ - `xytara-release --adapter-partners --summary`
478
+ - `xytara-release --soft-launch --summary`
479
+ - `xytara-release --outreach-copy --summary`
480
+ - `xytara-release --outreach-targets --summary`
481
+ - `xytara-release --outreach-messages --summary`
482
+ - `xytara-release --phases --summary`
483
+ - `xytara-release --phase-1 --summary`
484
+ - `xytara-release --ecosystem --summary`
485
+ - `xytara-release --narrative --summary`
486
+ - `xytara-release --outreach-proof --summary`
487
+ - `xytara-release --announcement --summary`
488
+ - `xytara-release --candidate --summary`
489
+
490
+ These surfaces package the current machine-commerce value story, first-contact CLI path, default transaction posture, catalog/task-pack coverage, credit-pack posture, and integration/settlement breadth into one machine-readable launch boundary.
491
+
492
+ ## Commerce Loop
493
+
494
+ The public product loop is:
495
+
496
+ 1. discover
497
+ 2. quote
498
+ 3. pay
499
+ 4. execute
500
+ 5. deliver
501
+ 6. inspect
502
+ 7. prove
503
+
504
+ The package and service surfaces both follow that model.
505
+
506
+ The current built-in catalog now covers a broader first-party `1.4.0` kernel than the original narrow seed, including:
507
+
508
+ - trust and receipt validation/handoff tasks
509
+ - runtime consequence tasks
510
+ - jobs, credits, and policy tasks
511
+ - first-party `a2a` negotiation and commit tasks
512
+ - first-party `a2c` session and task-pack preview tasks
513
+ - identity attestation and registry-link tasks
514
+ - registry and anchoring tasks
515
+ - discovery, admission, and settlement tasks
516
+ - an initial built-in `mcp` adapter task
517
+
518
+ The current restoration phase also starts carrying grouped public workflows for:
519
+
520
+ - `a2a` settlement negotiation
521
+ - `a2c` tooling/session flow
522
+ - identity registry plus anchoring flow
523
+ - registry pack bundling plus anchoring flow
524
+
525
+ The current built-in settlement posture also now reflects the canonical first-party center of gravity across:
526
+
527
+ - `ethereum_evm`
528
+ - `bsv_teranode`
529
+ - `solana`
530
+ - `proton_xpr`
531
+ - `antelope_eosio`
532
+
533
+ The economic artifact posture is also now more explicit across the default machine loop:
534
+
535
+ - quotes carry normalized `payment`, `settlement`, and `treasury` state
536
+ - executed transactions and receipts carry the same normalized economic objects
537
+ - payment-ledger entries preserve linked payment / settlement / treasury outcomes
538
+ - the default first-party economic path is easier to inspect without provider-shaped logic
539
+
540
+ The same artifacts now also expose a normalized `default_path` object so the bundled economic center of gravity is visible as data instead of being inferred indirectly.
541
+
542
+ The package and service also expose a default transaction center surface so the out-of-the-box path is easier to inspect directly:
543
+
544
+ - default protocol lane: `mcp`
545
+ - default payment protocol: `x402`
546
+ - default settlement center: built-in chain settlement with `bsv_teranode` as the native default across the canonical bundled settlement modes
547
+ - default treasury landing posture: account treasury destination by settlement mode
548
+
549
+ That same default center is also reflected in direct helper paths for default MCP usage, so the default path can be previewed or quoted without repeating the full integration-selection story each time.
550
+
551
+ The `1.6.0` convergence line starts broadening that same default path into grouped first-party entry packs:
552
+
553
+ - `default.mcp.tool.invoke`
554
+ - `default.a2c.tooling.run`
555
+ - `default.identity.anchor.run`
556
+
557
+ These default packs are intended to make the public machine loop easier to consume as grouped first-party paths instead of only as low-level primitives.
558
+
559
+ The package and service now also expose:
560
+
561
+ - default transaction economics visibility
562
+ - default transaction task-pack catalog, summary, and detail routes
563
+ - direct SDK helpers for default task-pack preview, quote, and invoke
564
+
565
+ The next `1.6.0` carry also adds guided default loops on top of those packs:
566
+
567
+ - default loop catalog and detail routes
568
+ - direct loop-run service surface
569
+ - SDK helpers that return bundled result-set, linked-record, activity, and economics summaries together
570
+
571
+ That means the first-party path is easier to both run and inspect without manually stitching together monitor, receipt, delivery, and payment-ledger helpers after execution.
572
+
573
+ The current `1.7.0` line starts widening that surface into real grouped transaction classes:
574
+
575
+ - transaction-class pack catalog, summary, and detail routes
576
+ - grouped transaction-class run routes for first-party commerce classes
577
+ - proof-handoff summaries that make the next step into `xoonya` more obvious from transaction outputs
578
+
579
+ This is the first step beyond “clear default loop” toward “broader useful machine-commerce classes plus clearer commerce-to-proof follow-through.”
580
+
581
+ The current `1.8.0` line starts filling a thinner part of the interaction spine before committed execution:
582
+
583
+ - grouped pre-commit pack catalog, summary, and detail routes
584
+ - grouped pre-commit run routes for negotiation, admission, and commit-readiness posture
585
+ - readiness summaries that make the next committed transaction surface more explicit
586
+
587
+ This is intended to make the protocol-entry to committed-transaction transition feel more like one composable machine spine instead of a set of disconnected route families.
588
+
589
+ The same `1.8.0` line also starts exposing grouped interaction spine paths that compose:
590
+
591
+ - pre-commit readiness
592
+ - committed execution
593
+ - proof-aware handoff posture
594
+
595
+ as one clearer cross-layer machine path instead of making callers stitch the layers together manually.
596
+
597
+ The current `1.9.0` line starts hardening the output side of that spine into cleaner extension seams:
598
+
599
+ - interaction result-package catalog, summary, and detail routes
600
+ - direct result-package run surfaces derived from grouped spine paths
601
+ - seam summaries that classify execution/consequence, payment/settlement/treasury, and proof-handoff carry together
602
+ - result-package export surfaces that produce a portable handoff bundle for proof-side follow-through
603
+
604
+ This is intended to make grouped spine outputs easier to treat as stable artifacts and future adapter-ready boundaries instead of one-off route responses.
605
+
606
+ The current `1.10.0` line starts building on that by exposing reusable continuation templates on top of result packages:
607
+
608
+ - result-package continuation catalog, summary, and detail routes
609
+ - direct continuation run surfaces that preserve the default next proof path
610
+ - continuation preparation surfaces that emit proof-ready request templates
611
+ - continuation preparation summary surfaces that expose the stable prepared-artifact view directly
612
+ - continuation summaries that make the default transaction-to-proof bridge explicit instead of inferred
613
+ - prepared continuation artifacts that classify the preserved execution, economic, and proof-facing context that survives into proof-native follow-through
614
+ - extension-seam summaries that distinguish stable carry from future adapter-ready boundary points on that durable path
615
+ - reusable-default summaries that expose the stable prepared artifact as a clearer default follow-through pattern
616
+ - reusable-default template surfaces that package that same default path into a direct proof-side review request
617
+ - extension-template surfaces that turn the durable transaction-side artifact into a reusable proof-side extension-review request
618
+
619
+ This is intended to make the public stack easier to compose after grouped execution, not just easier to inspect.
620
+
621
+ The current `1.14.0` line starts hardening that reusable path into a clearer public composition contract:
622
+
623
+ - prepared-artifact composition-contract summaries
624
+ - composition-contract template surfaces for proof-side contract review
625
+ - compact composition-contract bundles for direct transaction-side contract reuse
626
+ - clearer public contract ids across the reusable-default continuation path
627
+
628
+ This is intended to make the transaction-side continuation path easier to treat as a stable public contract instead of only a strong reusable default.
629
+
630
+ The current `1.15.0` line starts turning that same contract path into a clearer adapter-ready public bridge:
631
+
632
+ - prepared-artifact bridge summaries on top of the composition-contract continuation path
633
+ - bridge template surfaces that package the next proof-side review request directly
634
+ - compact bridge bundles for direct transaction-side bridge reuse
635
+ - compact bridge-carry surfaces for direct transaction-side bridge reuse
636
+
637
+ This is intended to make the transaction-side continuation path easier to hand across a stable adapter-ready bridge instead of treating bridge preparation as an implicit follow-on concern.
638
+
639
+ The current `1.16.0` line starts turning that bridge into a clearer stable public handoff contract:
640
+
641
+ - prepared-artifact handoff summaries on top of the bridge path
642
+ - direct handoff template surfaces for proof-side handoff continuity review
643
+ - compact handoff bundles for direct transaction-side handoff reuse
644
+ - compact handoff-carry surfaces for direct transaction-side handoff reuse
645
+
646
+ This is intended to make the transaction-side continuation path easier to treat as a stable handoff contract instead of only a well-described bridge.
647
+
648
+ The current `1.17.0` line starts turning that stable handoff contract into a clearer adapter-consumable handoff surface:
649
+
650
+ - adapter-consumable handoff-surface summaries on top of prepared handoff artifacts
651
+ - direct handoff-surface template routes for proof-side intake review
652
+ - compact handoff-surface bundles for direct adapter-facing reuse
653
+ - clearer adapter-facing handoff-surface ids and stable consumable carry
654
+
655
+ This is intended to make the transaction-side continuation path easier to consume directly as a stable adapter-facing handoff surface instead of only a well-described handoff contract.
656
+
657
+ The current `1.18.0` line starts turning that adapter-consumable handoff surface into a clearer adapter-usable handoff package:
658
+
659
+ - adapter-usable handoff-package summaries on top of prepared handoff artifacts
660
+ - compact handoff-package bundles for direct adapter-facing use
661
+ - default handoff-package summaries for the next proof-side follow-through
662
+ - clearer adapter-facing handoff-package ids and stable usable carry
663
+
664
+ This is intended to make the transaction-side continuation path easier to use directly as a stable public handoff package instead of only a surface that still needs extra glue logic.
665
+
666
+ The current `1.19.0` line starts turning that adapter-usable handoff package into a clearer adapter-ready execution package:
667
+
668
+ - execution-package summaries on top of the default handoff-package path
669
+ - compact execution-package bundles for direct adapter-facing execution posture
670
+ - default execution-package summaries for the next proof-side execution run posture
671
+ - clearer execution-package ids and stable execution-ready carry
672
+
673
+ This is intended to make the transaction-side continuation path easier to execute against directly as a stable public package instead of only a package that still needs execution glue.
674
+
675
+ The current `1.20.0` line starts turning that adapter-ready execution package into a clearer adapter-operable execution contract:
676
+
677
+ - execution-contract summaries on top of the default execution-package path
678
+ - compact execution-contract bundles for direct adapter-facing operation posture
679
+ - default execution-contract summaries for the next proof-side execution-contract run posture
680
+ - clearer execution-contract ids and stable operable carry
681
+
682
+ This is intended to make the transaction-side continuation path easier to operate against repeatedly as a stable public contract instead of only a package that is execution-ready by posture.
683
+
684
+ The current `1.21.0` line starts turning that adapter-operable execution contract into a clearer adapter-stable operating contract:
685
+
686
+ - operating-contract summaries on top of the default execution-contract path
687
+ - compact operating-contract bundles for direct adapter-facing stable operation posture
688
+ - default operating-contract summaries for the next proof-side operating-contract run posture
689
+ - clearer operating-contract ids and stable recurring operating carry
690
+
691
+ This is intended to make the transaction-side continuation path easier to depend on repeatedly as a durable public operating contract instead of only a contract that is operable in the moment.
692
+
693
+ The current `1.22.0` line starts turning that adapter-stable operating contract into a clearer adapter-reliable operating interface:
694
+
695
+ - operating-interface summaries on top of the default operating-contract path
696
+ - compact operating-interface bundles for direct adapter-facing reliable interface posture
697
+ - default operating-interface summaries for the next proof-side operating-interface run posture
698
+ - clearer operating-interface ids and stable reliable interface carry
699
+
700
+ This is intended to make the transaction-side continuation path easier to rely on operationally as a durable public interface instead of only a stable operating contract shape.
701
+
702
+ The current `1.23.0` line starts turning that adapter-reliable operating interface into a clearer adapter-integrable operating path:
703
+
704
+ - operating-integration summaries on top of the default operating-interface path
705
+ - compact operating-integration bundles for direct adapter-facing integration posture
706
+ - default operating-integration summaries for the next proof-side operating-integration run posture
707
+ - clearer operating-integration ids and stable integrable carry
708
+
709
+ This is intended to make the transaction-side continuation path easier to plug into adapters directly as a durable public operating path instead of only a reliable interface shape.
710
+
711
+ The current `1.24.0` line starts turning that adapter-integrable operating path into a clearer adapter-ready default path:
712
+
713
+ - operating-path summaries on top of the default operating-integration path
714
+ - compact operating-path bundles for direct adapter-facing default-path posture
715
+ - default operating-path summaries for the next proof-side operating-path run posture
716
+ - clearer operating-path ids and stable default-path carry
717
+
718
+ This is intended to make the transaction-side continuation path easier to use as the obvious first public adapter path instead of only a path that is integrable with a little extra coordination.
719
+
720
+ The current `1.25.0` line starts turning that adapter-ready default path into a clearer adapter-complete default path:
721
+
722
+ - complete-default-path summaries on top of the default operating-path path
723
+ - compact complete-default-path bundles for direct adapter-facing complete-path posture
724
+ - default complete-default-path summaries for the next proof-side complete-default-path run posture
725
+ - clearer complete-default-path ids and stable complete-path carry
726
+
727
+ This is intended to make the transaction-side continuation path easier to adopt as the complete public default path an outside builder can use without needing private interpretation.
728
+
729
+ The current `1.26.0` line finalizes that public shape into a cleaner production-ready package:
730
+
731
+ - a publishable [START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/START_HERE.md) onboarding path
732
+ - clearer top-level README entry points for the default production flow
733
+ - publishable contract and terminology docs carried in the package tarball
734
+ - naming cleanup that keeps the public story anchored to `xytara` and `xoonya`
735
+
736
+ This is intended to make the public transaction-side package feel like a finished production-facing product instead of a strong stack that still assumes milestone-history context.
737
+
738
+ ## Package Surface
739
+
740
+ The SDK is broad, but it stays organized into a few repeatable families instead of one-off surfaces.
741
+
742
+ The main families are:
743
+
744
+ - discovery and catalog
745
+ - schemas, templates, and validation
746
+ - quotes, previews, execution, and wait flows
747
+ - records, operations, and operator summaries
748
+ - inspection, reconciliation, and export helpers
749
+
750
+ The intended usage style is simple:
751
+
752
+ - use raw getters when you need exact records
753
+ - use summary/list helpers when you need compact high-signal state
754
+
755
+ ## Adapter Model
756
+
757
+ Adapter support is now a first-class public surface.
758
+
759
+ Core contract files:
760
+
761
+ - [adapter-manifest.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/adapter-manifest.schema.json)
762
+ - [integration-registration-record.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-registration-record.schema.json)
763
+ - [integration-certification-pack.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-certification-pack.schema.json)
764
+ - [integration-submission-bundle.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-submission-bundle.schema.json)
765
+ - [integration-submission-bundle-set.schema.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/integration-submission-bundle-set.schema.json)
766
+ - [interfaces.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/interfaces.js)
767
+
768
+ Builder-facing docs:
769
+
770
+ - [AUTHORING_GUIDE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/AUTHORING_GUIDE.md)
771
+ - [THIRD_PARTY_SUBMISSION_PROCESS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md)
772
+ - [ONBOARDING_POSTURE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/ONBOARDING_POSTURE.md)
773
+
774
+ Reference examples:
775
+
776
+ - built-in class examples:
777
+ [example-execution-adapter.manifest.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-execution-adapter.manifest.json),
778
+ [example-execution-adapter.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-execution-adapter.js),
779
+ [example-settlement-adapter.manifest.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-settlement-adapter.manifest.json),
780
+ [example-settlement-adapter.js](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples/example-settlement-adapter.js)
781
+ - staged third-party artifact examples:
782
+ protocol, identity, and settlement registration/certification/submission-bundle examples live under [adapters/examples](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/adapters/examples)
783
+
784
+ Current adapter tooling exposes:
785
+
786
+ - `ADAPTER_INTERFACE_VERSION`
787
+ - `validateAdapterImplementation(...)`
788
+
789
+ Initial certification starts with:
790
+
791
+ ```bash
792
+ npm run verify:adapters
793
+ ```
794
+
795
+ The LangGraph and LangChain reference adapters are local contract adapters. They normalize framework-style graph, chain, checkpoint, trace, and context payloads and emit proof-compatible execution facts. They do not claim live external framework-provider execution.
796
+
797
+ The current seed freezes the starter contract for:
798
+
799
+ - adapter identity
800
+ - adapter class
801
+ - registration posture
802
+ - certification posture
803
+ - compatibility
804
+ - health contract
805
+ - idempotency contract
806
+ - failure contract
807
+ - proof contract
808
+
809
+ The current onboarding path is now documented for third parties:
810
+
811
+ 1. choose adapter class
812
+ 2. build manifest against the schema
813
+ 3. implement the interface contract
814
+ 4. certify locally with `npm run verify:adapters`
815
+ 5. declare registration and certification posture
816
+ 6. promote through explicit runtime registration
817
+
818
+ Third-party integrations scale through one stable pattern:
819
+
820
+ - manifest declares registration posture
821
+ - manifest declares certification posture
822
+ - certification runs locally first
823
+ - promotion produces a normalized registration record
824
+ - runtime registration remains an explicit product action
825
+ - discovery can later surface maturity and trust without changing runtime contracts
826
+
827
+ Discovery can represent non-bundled staged examples in the same normalized view:
828
+
829
+ - built-in integrations can appear as `unregistered` but production-default
830
+ - staged third-party integrations can appear as `staging_registered`
831
+ - registration state stays separate from proof and commerce semantics
832
+
833
+ The registry model now also has an explicit ingestion path:
834
+
835
+ - adapter manifest defines the adapter contract
836
+ - registration record defines promotion state
837
+ - certification pack defines submitted verification evidence
838
+ - submission bundle groups the reusable submission artifact
839
+ - registry ingestion helper normalizes the runnable integration view
840
+
841
+ The package surface also supports registry snapshot/export helpers, so multiple imported integrations can be packaged together without inventing a one-off format every time.
842
+
843
+ Submission bundles can be exported back into a bundle set and then turned into a normalized registry snapshot.
844
+
845
+ The same artifact model also produces thin review summaries:
846
+
847
+ - submission bundles can be summarized for reviewer/operator inspection
848
+ - submission bundle sets can be summarized as one staged review package
849
+ - registry snapshots can be summarized as a review-ready state report
850
+
851
+ That keeps inspection aligned with the real integration artifacts instead of inventing a parallel control-plane format.
852
+
853
+ The intended posture is:
854
+
855
+ - built-in certified integrations can be production-default
856
+ - staged third-party integrations can be discoverable and reviewable
857
+ - staged third-party integrations should normally require explicit selection
858
+ - discoverable does not mean default
859
+
860
+ The promotion-readiness layer now makes that posture explicit as review data:
861
+
862
+ - review-ready means an integration is staged and inspectable
863
+ - default-eligible means it is allowed to participate in default selection
864
+ - production-default-ready means its certification, maturity, bundled posture, and selection posture all line up
865
+ - blockers are returned as data instead of being left implicit
866
+
867
+ That distinction matters as the registry grows.
868
+
869
+ The promotion-action preview layer now builds on top of that readiness data without introducing mutation:
870
+
871
+ - action previews stay read-only
872
+ - current posture and resulting posture are both visible
873
+ - requested action validity is explicit
874
+ - blockers and blocker categories remain inspectable as data
875
+ - the preview layer explains what would change before any future control-plane work exists
876
+
877
+ There is also a small repo-local registry CLI for reviewer/operator use when working from a cloned `xytara` repository:
878
+
879
+ - `node scripts/registry_cli.js validate-bundle --example protocol`
880
+ - `node scripts/registry_cli.js validate-bundle --example identity`
881
+ - `node scripts/registry_cli.js validate-bundle --example settlement`
882
+ - `node scripts/registry_cli.js export-bundle-set`
883
+ - `node scripts/registry_cli.js export-snapshot`
884
+ - `node scripts/registry_cli.js review-bundle --example protocol`
885
+ - `node scripts/registry_cli.js review-bundle --example identity`
886
+ - `node scripts/registry_cli.js review-bundle-set`
887
+ - `node scripts/registry_cli.js review-snapshot`
888
+ - `node scripts/registry_cli.js promotion-readiness --integration partner.protocol.acme_mcp`
889
+ - `node scripts/registry_cli.js promotion-action-preview --integration partner.protocol.acme_mcp --action complete_certification`
890
+ - `node scripts/registry_cli.js promotion-action-set --integration partner.protocol.acme_mcp`
891
+ - `node scripts/registry_cli.js promotion-action-set-summary --source third_party_example --bundled false`
892
+
893
+ ## Integration Selection
894
+
895
+ `xytara` now treats integration selection as an explicit part of the commerce contract.
896
+
897
+ Callers can provide:
898
+
899
+ - `integration_id`
900
+ - `integration_ids`
901
+ - `integration_context`
902
+ - `protocol`
903
+ - `payment_protocol`
904
+ - settlement preferences
905
+
906
+ Selection precedence is:
907
+
908
+ 1. validate explicitly requested integrations
909
+ 2. resolve protocol and payment protocol hints
910
+ 3. resolve task-backed execution and identity integrations
911
+ 4. resolve settlement integration from the requested settlement mode
912
+ 5. reject the request if an explicit integration is unknown or incompatible
913
+
914
+ This keeps the model stable as more integrations are added:
915
+
916
+ - explicit overrides must be valid
917
+ - defaults remain predictable
918
+ - defaults only come from integrations that explicitly opt into default selection
919
+ - explicit requests only constrain the relevant adapter class
920
+ - protocol and settlement translation never redefine commerce semantics
921
+
922
+ ## Quickstart
923
+
924
+ Run:
925
+
926
+ ```bash
927
+ node examples/quickstart.js
928
+ ```
929
+
930
+ For a direct one-line machine run against a live service, use the bundled CLI:
931
+
932
+ ```bash
933
+ xytara first-run --run-quote --account ACCOUNT_REF --pretty
934
+ ```
935
+
936
+ The quickstart exercises:
937
+
938
+ - health and catalog
939
+ - discovery summaries and filters
940
+ - restored `a2a`, `a2c`, and identity catalog families
941
+ - staged-vs-default integration posture
942
+ - submission bundle-set export
943
+ - pricing, schema, and template access
944
+ - validation
945
+ - quote and execution flows
946
+ - dedicated `mcp` invocation flow
947
+ - named `a2a` negotiation and commit lanes
948
+ - named `a2c` session and pack-preview lanes
949
+ - named identity attestation preview and registry-link lanes
950
+ - named registry-pack bundle and anchoring-pack preview lanes
951
+ - grouped `a2a`, `a2c`, identity-anchor, and registry-pack-anchor convenience flows
952
+ - named runtime, admission, registry, and anchoring task lanes
953
+ - named trust and receipt-handoff lanes
954
+ - lifecycle and operator helpers
955
+ - service-backed client usage
956
+
957
+ ## Service Surface
958
+
959
+ Run:
960
+
961
+ ```bash
962
+ npm start
963
+ ```
964
+
965
+ Then in another shell:
966
+
967
+ ```bash
968
+ curl http://127.0.0.1:4320/v1/catalog/summary
969
+ curl http://127.0.0.1:4320/v1/operations/dashboard
970
+ curl http://127.0.0.1:4320/v1/operations/attention-records
971
+ curl -X POST http://127.0.0.1:4320/v1/trust/handoffs/emit ^
972
+ -H "content-type: application/json" ^
973
+ -H "authorization: Bearer demo-api-key" ^
974
+ -d "{\"subject_id\":\"subject-1\",\"execution_ref\":\"exec-1\"}"
975
+ curl -X POST http://127.0.0.1:4320/v1/admission/preview ^
976
+ -H "content-type: application/json" ^
977
+ -H "authorization: Bearer demo-api-key" ^
978
+ -d "{\"source_zone_id\":\"zone-a\",\"target_zone_id\":\"zone-b\"}"
979
+ curl -X POST http://127.0.0.1:4320/v1/a2a/negotiate ^
980
+ -H "content-type: application/json" ^
981
+ -H "authorization: Bearer demo-api-key" ^
982
+ -d "{\"counterparty_agent_id\":\"agent-counterparty-1\",\"task_pack_ref\":\"pack.a2a.demo\",\"negotiation_mode\":\"quote_then_commit\"}"
983
+ curl -X POST http://127.0.0.1:4320/v1/a2c/packs/preview ^
984
+ -H "content-type: application/json" ^
985
+ -H "authorization: Bearer demo-api-key" ^
986
+ -d "{\"agent_id\":\"agent-demo\",\"pack_ref\":\"pack.tools.research\"}"
987
+ curl -X POST http://127.0.0.1:4320/v1/identity/attest/preview ^
988
+ -H "content-type: application/json" ^
989
+ -H "authorization: Bearer demo-api-key" ^
990
+ -d "{\"subject_id\":\"subject-identity-1\",\"registry_scope\":\"registry.identity.default\"}"
991
+ curl -X POST http://127.0.0.1:4320/v1/registry/packs/bundle ^
992
+ -H "content-type: application/json" ^
993
+ -H "authorization: Bearer demo-api-key" ^
994
+ -d "{\"pack_ref\":\"pack.registry.identity\",\"subject_ids\":[\"subject-identity-1\",\"subject-identity-2\"]}"
995
+ curl -X POST http://127.0.0.1:4320/v1/a2a/flows/settlement ^
996
+ -H "content-type: application/json" ^
997
+ -H "authorization: Bearer demo-api-key" ^
998
+ -d "{\"counterparty_agent_id\":\"agent-counterparty-1\",\"task_pack_ref\":\"pack.a2a.demo\",\"negotiation_mode\":\"quote_then_commit\",\"negotiation_id\":\"negotiation-flow-1\",\"intent_id\":\"intent-a2a-flow-1\"}"
999
+ curl -X POST http://127.0.0.1:4320/v1/identity/flows/anchor ^
1000
+ -H "content-type: application/json" ^
1001
+ -H "authorization: Bearer demo-api-key" ^
1002
+ -d "{\"subject_id\":\"subject-identity-1\",\"registry_scope\":\"registry.identity.default\",\"record_type\":\"identity_attestation\",\"registry_record_id\":\"registry-record-identity-1\",\"commitment_hash\":\"commitment-identity-1\"}"
1003
+ curl -X POST http://127.0.0.1:4320/v1/mcp/tools/invoke ^
1004
+ -H "content-type: application/json" ^
1005
+ -H "authorization: Bearer demo-api-key" ^
1006
+ -d "{\"tool_name\":\"zones.lookup\",\"arguments\":{\"zone_id\":\"zone-1\"}}"
1007
+ curl -X POST http://127.0.0.1:4320/v1/payment-quotes ^
1008
+ -H "content-type: application/json" ^
1009
+ -d "{\"command\":\"quickstart\",\"task_ref\":\"trust.verify\",\"body\":{\"subject_id\":\"subject-1\"}}"
1010
+ ```
1011
+
1012
+ Environment example:
1013
+
1014
+ - [`.env.example`](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/.env.example)
1015
+
1016
+ Production payment note:
1017
+
1018
+ - `XYTARA_PAYMENT_VERIFICATION_MODE` defaults to `local_signed` (verifiable signed payment acceptance); `presence` must be opted into explicitly and only accepts plain header presence for local development
1019
+ - operator write surfaces (`/v1/economics/*` ledger mutations, `/v1/agent-accounts`, `/v1/operator-shell/admin-pack`, `/v1/credit-bridge/grants`, business cockpit) fail closed with `operator_auth_not_configured` until `XYTARA_ACCOUNT_AUTH_BEARER_TOKEN` and `XYTARA_CREDIT_BRIDGE_BEARER_TOKEN` are set; send `Authorization: Bearer <token>`; query-string tokens are not accepted
1020
+ - provide buyer wallet verification material through `XYTARA_WALLET_REGISTRY_JSON` or `XYTARA_WALLET_REGISTRY_PATH`
1021
+ - set `XYTARA_TREASURY_DESTINATION_ID` and related treasury env vars so accepted payments land in your merchant treasury posture instead of the default local account placeholder
1022
+ - built-in `x402` is the admission lane; real external payout/custody still depends on the payment rail and treasury destination you configure behind that lane
1023
+ - for native BSV/Teranode live follow-through, set `XYTARA_BSV_TERANODE_SETTLEMENT_RUNTIME_MODE` to `observe` or `arc`
1024
+ - use `XYTARA_BSV_ARC_RPC_URL` plus optional ARC RPC auth envs when the live runtime needs ARC submission; legacy `XYTARA_BSV_TERANODE_RPC_*` aliases remain accepted
1025
+ - use `XYTARA_BSV_TERANODE_OBSERVER_URL` if you want to override the default live observer base
1026
+
1027
+ Primary service routes:
1028
+
1029
+ - `GET /health`
1030
+ - `GET /v1/catalog`
1031
+ - `GET /v1/catalog/summary`
1032
+ - `GET /v1/catalog/task?ref=<task_ref_or_alias>`
1033
+ - `GET /v1/catalog/workflows`
1034
+ - `GET /v1/catalog/workflow?ref=<workflow_ref_or_alias>`
1035
+ - `GET /v1/integrations`
1036
+ - `GET /v1/integrations/summary`
1037
+ - `GET /v1/integrations/classes`
1038
+ - `GET /v1/integrations/protocols`
1039
+ - `GET /v1/integrations/settlement-modes`
1040
+ - `GET /v1/integrations/promotion-readiness`
1041
+ - `GET /v1/integrations/:integration_id/promotion-readiness`
1042
+ - `GET /v1/integrations/promotion-actions`
1043
+ - `GET /v1/integrations/:integration_id/promotion-actions`
1044
+ - `POST /v1/integrations/promotion-actions/preview`
1045
+ - `POST /v1/integrations/review/submission-bundle`
1046
+ - `POST /v1/integrations/review/submission-bundle-set`
1047
+ - `POST /v1/integrations/review/registry-snapshot`
1048
+ - `POST /v1/payment-quotes`
1049
+ - `POST /v1/trust/handoffs/emit`
1050
+ - `POST /v1/trust/handoffs/validate`
1051
+ - `POST /v1/execution-receipts/handoffs/emit`
1052
+ - `POST /v1/execution-receipts/handoffs/validate`
1053
+ - `POST /v1/receipt-ledger/handoffs/emit`
1054
+ - `POST /v1/receipt-ledger/handoffs/validate`
1055
+ - `POST /v1/admission/preview`
1056
+ - `POST /v1/a2a/negotiate`
1057
+ - `POST /v1/a2a/commit`
1058
+ - `POST /v1/a2a/flows/settlement`
1059
+ - `POST /v1/a2c/sessions/open`
1060
+ - `POST /v1/a2c/packs/preview`
1061
+ - `POST /v1/a2c/flows/tooling`
1062
+ - `POST /v1/identity/attest/preview`
1063
+ - `POST /v1/identity/registry/link`
1064
+ - `POST /v1/identity/flows/anchor`
1065
+ - `POST /v1/runtime/emit`
1066
+ - `POST /v1/runtime/anchor`
1067
+ - `POST /v1/runtime/emit-anchor`
1068
+ - `POST /v1/registry/register`
1069
+ - `POST /v1/registry/packs/bundle`
1070
+ - `POST /v1/registry/packs/anchor`
1071
+ - `POST /v1/anchoring/submit`
1072
+ - `POST /v1/anchoring/packs/preview`
1073
+ - `GET /v1/coordination-center`
1074
+ - `GET /v1/coordination-center/summary`
1075
+ - `GET /v1/zones`
1076
+ - `GET /v1/zones/compatibility-profiles`
1077
+ - `GET /v1/zones/:zoneId/constitution`
1078
+ - `POST /v1/coordination-center/interpretation-handoff/validate`
1079
+ - `POST /v1/coordination-center/handshake-preview`
1080
+ - `POST /v1/coordination-center/cross-zone-preview`
1081
+ - `POST /v1/coordination-center/admission-case-projection`
1082
+ - `POST /v1/coordination-center/admission-case-bundle`
1083
+ - `POST /v1/coordination-center/operator-view`
1084
+ - `POST /v1/coordination-center/admin-view`
1085
+ - `POST /v1/coordination-center/admission-ops-pack`
1086
+ - `POST /v1/coordination-center/admission-workflow-pack`
1087
+ - `POST /v1/coordination-center/coordination-pack`
1088
+ - `POST /v1/coordination-center/review-link`
1089
+ - `GET /v1/coordination-center/zones-dashboard`
1090
+ - `POST /v1/coordination-center/zones-dashboard-pack`
1091
+ - `POST /v1/mcp/tools/invoke`
1092
+ - `GET /v1/payment-quotes`
1093
+ - `GET /v1/payment-quotes/:quote_id`
1094
+ - `POST /v1/commands/execute`
1095
+ - `POST /x402/commands/execute`
1096
+ - `POST /x402/mcp/tools/invoke`
1097
+ - `GET /v1/governed-transactions`
1098
+ - `GET /v1/governed-transactions/:transaction_id`
1099
+ - `GET /v1/receipts`
1100
+ - `GET /v1/receipts/:receipt_id`
1101
+ - `GET /v1/payment-ledger`
1102
+ - `GET /v1/payment-ledger/:payment_id`
1103
+ - `GET /v1/payment-ledger/:payment_id/operator-pack`
1104
+ - `GET /v1/deliveries`
1105
+ - `GET /v1/deliveries/:delivery_id`
1106
+ - `GET /v1/disputes`
1107
+ - `POST /v1/disputes`
1108
+ - `GET /v1/disputes/:dispute_id`
1109
+ - `POST /v1/disputes/:dispute_id/actions`
1110
+ - `GET /v1/refunds`
1111
+ - `POST /v1/refunds`
1112
+ - `GET /v1/refunds/:refund_id`
1113
+ - `POST /v1/refunds/:refund_id/actions`
1114
+ - `POST /v1/remediation-tickets`
1115
+ - `GET /v1/remediation-tickets`
1116
+ - `GET /v1/remediation-tickets/:ticket_id`
1117
+ - `POST /v1/remediation-tickets/:ticket_id/actions`
1118
+ - `GET /v1/reconciliation-report`
1119
+ - `GET /v1/operator-export-pack`
1120
+ - `GET /v1/operations/dashboard`
1121
+ - `GET /v1/operations/attention-records`
1122
+ - `GET /v1/runtime/durability`
1123
+ - `GET /v1/operator-shell`
1124
+ - `GET /v1/operator-shell/summary`
1125
+ - `POST /v1/operator-shell/summary`
1126
+ - `POST /v1/operator-shell/workflow-pack`
1127
+ - `POST /v1/operator-shell/admin-pack`
1128
+ - `GET /v1/agent-accounts`
1129
+ - `POST /v1/agent-accounts`
1130
+ - `GET /v1/agent-accounts/:account_id`
1131
+ - `POST /v1/economics/budgets`
1132
+ - `POST /v1/economics/budgets/:budget_id/status`
1133
+ - `POST /v1/economics/agents`
1134
+ - `POST /v1/economics/agents/:agent_id/status`
1135
+ - `POST /v1/economics/receipts`
1136
+ - `POST /v1/economics/receipts/:receipt_id/lifecycle`
1137
+ - `POST /v1/economics/receipts/:receipt_id/operator-action`
1138
+ - `POST /v1/economics/allocations/mint`
1139
+ - `POST /v1/economics/allocations/reverse`
1140
+ - `POST /v1/economics/rails/credits/preview`
1141
+ - `POST /v1/economics/rails/credits/apply`
1142
+ - `POST /v1/economics/receipt-ledger/validate`
1143
+ - `POST /v1/economics/interpretation-handoff`
1144
+ - `POST /v1/economics/markets/preview`
1145
+ - `POST /v1/economics/markets/workflow-pack`
1146
+ - `POST /v1/economics/markets/signoff-pack`
1147
+ - `POST /v1/economics/markets/coordination-pack`
1148
+ - `GET /v1/economics/accounts/:account_id/budgets`
1149
+ - `GET /v1/economics/accounts/:account_id/agents`
1150
+ - `GET /v1/economics/accounts/:account_id/receipts`
1151
+ - `GET /v1/economics/accounts/:account_id`
1152
+ - `GET /v1/economics/accounts/:account_id/operator-view`
1153
+ - `GET /v1/economics/accounts/:account_id/operator-dashboard`
1154
+ - `GET /v1/economics/accounts/:account_id/treasury-summary`
1155
+ - `GET /v1/economics/accounts/:account_id/ledger-export`
1156
+ - `GET /v1/economics/accounts/:account_id/treasury-drilldown`
1157
+ - `GET /v1/economics/accounts/:account_id/reconciliation-pack`
1158
+ - `GET /v1/economics/accounts/:account_id/treasury-workflow-pack`
1159
+ - `GET /v1/economics/accounts/:account_id/treasury-signoff-pack`
1160
+ - `GET /v1/economics/accounts/:account_id/policy-summary`
1161
+ - `GET /v1/economics/accounts/:account_id/rail-summary`
1162
+ - `GET /v1/economics/accounts/:account_id/rail-workflow-pack`
1163
+ - `GET /v1/economics/accounts/:account_id/rail-signoff-pack`
1164
+ - `POST /v1/economics/jobs/:job_id/operator-action`
1165
+ - `GET /v1/economics/evidence/receipts/:receipt_ref`
1166
+ - `GET /v1/economics/evidence/jobs/:job_id`
1167
+ - `GET /v1/economics/integration/jobs/:job_id`
1168
+ - `GET /v1/settlement/bsv-teranode/readiness`
1169
+ - `GET /v1/settlement/bsv-teranode/:settlement_id/operator-pack`
1170
+
1171
+ The Wave C coordination carry-over line adds a bounded coordination center on top of the public transaction spine:
1172
+
1173
+ - zone discovery, compatibility profiles, and constitution lookup
1174
+ - interpretation-handoff validation and cross-zone handshake preview
1175
+ - cross-zone admission-case projection and portable case-bundle export
1176
+ - coordination operator/admin views plus explicit review-linkage into governance and proof follow-through
1177
+ - admission ops/workflow packs, coordination packs, and zones dashboard packaging
1178
+
1179
+ The Wave D adapter-breadth line broadens the bundled public integration surface as well:
1180
+
1181
+ - additional built-in protocol surfaces for `a2a`, `acp`, `mqtt`, `grpc`, `kafka`, `nats`, and `ros2`
1182
+ - additional built-in execution-front surfaces for `langchain`, `langgraph`, `semantic_kernel`, `autogen`, `crewai`, and `llamaindex`
1183
+ - broader bundled payment and identity breadth through `mpp` and `erc8004`-oriented public integration surfaces
1184
+
1185
+ The Wave F shell carry-over line adds a bounded operator shell inside public `xytara`:
1186
+
1187
+ - self-serve agent account issuance for the public runtime path
1188
+ - a unified operator shell summary across operations, economics, and coordination
1189
+ - explicit runtime durability visibility for snapshot-backed recovery posture
1190
+ - explicit native BSV/Teranode readiness visibility for merchant identity, transport, and verification posture
1191
+ - compact workflow/admin shell exports that point cleanly into proof-side follow-through when needed
1192
+
1193
+ This keeps the public product centered on `naxytra` while preserving the useful operator-shell capability directly inside `xytara` instead of splitting it into a separate surface.
1194
+
1195
+ The durability and native-settlement readiness surfaces are also intended to make the remaining production boundary explicit:
1196
+
1197
+ - `/v1/runtime/durability` exposes whether runtime snapshots are enabled, whether a recoverable snapshot exists yet, and any current durability blockers
1198
+ - `/v1/settlement/bsv-teranode/readiness` exposes whether merchant identity, transport, verification mode, and runtime mode are production-ready, plus the next manual inputs still required
1199
+ - `/v1/payment-ledger/:payment_id/operator-pack` and `/v1/settlement/bsv-teranode/:settlement_id/operator-pack` collapse payment, settlement, treasury, proof, and economic-consequence carry into one operator-facing pack so direct-pay and funded-runtime paths are easier to inspect without stitching raw records together
1200
+
1201
+ If you use grants, entitlements, or usage metering in deployed `xytara`, `XYTARA_STATE_FILE` should point at persistent disk rather than ephemeral container storage. Otherwise those economics records will reset across restart.
1202
+
1203
+ If your host does not provide persistent disk, use the Supabase-backed runtime state path documented in [SUPABASE_RUNTIME_STATE_SETUP.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_naxytra/naxytra/xytara/SUPABASE_RUNTIME_STATE_SETUP.md).
1204
+
1205
+ ## Verification
1206
+
1207
+ Local verification commands:
1208
+
1209
+ - `npm run verify:package`
1210
+ - `npm run verify:adapters`
1211
+ - `npm run verify:tooling`
1212
+ - `npm run verify:examples`
1213
+ - `npm run verify:service`
1214
+ - `npm run verify:all`
1215
+
1216
+ The current verification covers:
1217
+
1218
+ - package exports and helper breadth
1219
+ - adapter manifest and implementation conformance
1220
+ - registry bundle tooling behavior
1221
+ - quickstart behavior
1222
+ - service-route behavior
1223
+ - preserved operator/reporting surfaces
1224
+
1225
+ ## Control Files
1226
+
1227
+ - `FINAL_CONTRACT.md`
1228
+ - `TERMINOLOGY.md`
1229
+ - `SERVICE_CONTRACT.md`
1230
+