xytara 2.0.0 → 2.2.0

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 (176) hide show
  1. package/.env.example +6 -0
  2. package/ADAPTER_START_HERE.md +56 -0
  3. package/BSV_TERANODE_SETUP.md +30 -1
  4. package/CARRIED_HANDOFF_DEMO.md +60 -0
  5. package/EXAMPLE_PATHS.md +53 -0
  6. package/FINAL_CONTRACT.md +6 -6
  7. package/OPERATIONS_RUNBOOK.md +65 -0
  8. package/OPERATOR_START_HERE.md +63 -0
  9. package/PARTNER_READY_PATH.md +71 -0
  10. package/PROGRAM_COMPLETE_RELEASE.md +63 -0
  11. package/PROGRAM_STATUS.md +57 -0
  12. package/PUBLIC_DEMO_SCRIPT.md +78 -0
  13. package/PUBLISH_PLAN.md +14 -0
  14. package/README.md +142 -6
  15. package/RELEASE_CHECKLIST.md +16 -0
  16. package/RELEASE_NOTES.md +28 -0
  17. package/SERVICE_CONTRACT.md +4 -4
  18. package/START_HERE.md +32 -0
  19. package/SUPABASE_RUNTIME_STATE_SETUP.md +61 -0
  20. package/WHY_XYTARA_XOONYA.md +63 -0
  21. package/adapters/examples/minimal-third-party-execution-adapter.js +61 -0
  22. package/adapters/examples/minimal-third-party-execution-adapter.manifest.json +79 -0
  23. package/adapters/examples/minimal-third-party-execution-registration.record.json +26 -0
  24. package/adapters/examples/minimal-third-party-execution.certification-pack.json +22 -0
  25. package/adapters/examples/minimal-third-party-execution.submission-bundle.json +126 -0
  26. package/bin/xytara-release.js +1419 -0
  27. package/bin/xytara-run.js +186 -0
  28. package/examples/adapter_review_walkthrough.js +53 -0
  29. package/examples/export_carried_handoff.js +80 -0
  30. package/examples/funded_runtime_walkthrough.js +70 -0
  31. package/examples/partner_launch_walkthrough.js +43 -0
  32. package/examples/quickstart.js +3255 -0
  33. package/index.js +87 -1
  34. package/lib/adapter_pack.js +118 -0
  35. package/lib/adapter_partner_pack.js +89 -0
  36. package/lib/adapter_promotion_pack.js +89 -0
  37. package/lib/announcement_pack.js +61 -0
  38. package/lib/commerce_artifacts.js +3 -0
  39. package/lib/commerce_economics.js +14 -0
  40. package/lib/commerce_reports.js +26 -1
  41. package/lib/commerce_shell.js +18 -2
  42. package/lib/ecosystem_entry.js +64 -0
  43. package/lib/launch_narrative.js +53 -0
  44. package/lib/outreach_copy_pack.js +51 -0
  45. package/lib/outreach_message_pack.js +71 -0
  46. package/lib/outreach_proof.js +71 -0
  47. package/lib/outreach_target_pack.js +60 -0
  48. package/lib/phase_10_closeout_pack.js +45 -0
  49. package/lib/phase_10_completion_pack.js +76 -0
  50. package/lib/phase_10_decision_record_pack.js +54 -0
  51. package/lib/phase_10_decision_resolution_pack.js +53 -0
  52. package/lib/phase_10_demand_signal_adapters_runtime_pack.js +74 -0
  53. package/lib/phase_10_ecosystem_backlog_triage_runtime_pack.js +74 -0
  54. package/lib/phase_10_freeze_baseline_pack.js +67 -0
  55. package/lib/phase_10_freeze_review_pack.js +64 -0
  56. package/lib/phase_10_gate_pack.js +57 -0
  57. package/lib/phase_10_long_tail_continuity_pack.js +80 -0
  58. package/lib/phase_10_long_tail_ecosystem_pack.js +66 -0
  59. package/lib/phase_10_niche_extension_registry_runtime_pack.js +74 -0
  60. package/lib/phase_1_claude_mcp_pack.js +60 -0
  61. package/lib/phase_1_claude_mcp_runtime_pack.js +52 -0
  62. package/lib/phase_1_ecosystem_pack.js +67 -0
  63. package/lib/phase_1_openai_codex_pack.js +60 -0
  64. package/lib/phase_1_openai_codex_runtime_pack.js +52 -0
  65. package/lib/phase_2_base_runtime_pack.js +71 -0
  66. package/lib/phase_2_base_usdc_runtime_pack.js +72 -0
  67. package/lib/phase_2_closeout_pack.js +65 -0
  68. package/lib/phase_2_completion_pack.js +113 -0
  69. package/lib/phase_2_decision_record_pack.js +66 -0
  70. package/lib/phase_2_decision_resolution_pack.js +69 -0
  71. package/lib/phase_2_eth_runtime_pack.js +70 -0
  72. package/lib/phase_2_evm_base_runtime_pack.js +73 -0
  73. package/lib/phase_2_evm_runtime_pack.js +71 -0
  74. package/lib/phase_2_flip_preview_pack.js +60 -0
  75. package/lib/phase_2_freeze_review_pack.js +99 -0
  76. package/lib/phase_2_gate_pack.js +77 -0
  77. package/lib/phase_2_payment_rails_pack.js +71 -0
  78. package/lib/phase_2_usdc_runtime_pack.js +71 -0
  79. package/lib/phase_3_brc_runtime_pack.js +81 -0
  80. package/lib/phase_3_bsv_teranode_runtime_pack.js +83 -0
  81. package/lib/phase_3_closeout_pack.js +62 -0
  82. package/lib/phase_3_completion_pack.js +94 -0
  83. package/lib/phase_3_decision_record_pack.js +64 -0
  84. package/lib/phase_3_decision_resolution_pack.js +69 -0
  85. package/lib/phase_3_freeze_baseline_pack.js +67 -0
  86. package/lib/phase_3_freeze_review_pack.js +80 -0
  87. package/lib/phase_3_gate_pack.js +76 -0
  88. package/lib/phase_3_metanet_runtime_pack.js +81 -0
  89. package/lib/phase_3_native_bsv_pack.js +91 -0
  90. package/lib/phase_3_native_continuity_pack.js +82 -0
  91. package/lib/phase_4_attestation_runtime_pack.js +75 -0
  92. package/lib/phase_4_closeout_pack.js +45 -0
  93. package/lib/phase_4_completion_pack.js +94 -0
  94. package/lib/phase_4_decision_record_pack.js +54 -0
  95. package/lib/phase_4_decision_resolution_pack.js +45 -0
  96. package/lib/phase_4_erc8004_runtime_pack.js +76 -0
  97. package/lib/phase_4_freeze_baseline_pack.js +67 -0
  98. package/lib/phase_4_freeze_review_pack.js +68 -0
  99. package/lib/phase_4_gate_pack.js +58 -0
  100. package/lib/phase_4_identity_registry_runtime_pack.js +75 -0
  101. package/lib/phase_4_identity_trust_pack.js +73 -0
  102. package/lib/phase_4_trust_continuity_pack.js +86 -0
  103. package/lib/phase_5_antelope_runtime_pack.js +76 -0
  104. package/lib/phase_5_closeout_pack.js +44 -0
  105. package/lib/phase_5_completion_pack.js +82 -0
  106. package/lib/phase_5_decision_record_pack.js +54 -0
  107. package/lib/phase_5_decision_resolution_pack.js +45 -0
  108. package/lib/phase_5_freeze_baseline_pack.js +67 -0
  109. package/lib/phase_5_freeze_review_pack.js +68 -0
  110. package/lib/phase_5_gate_pack.js +58 -0
  111. package/lib/phase_5_major_rails_continuity_pack.js +86 -0
  112. package/lib/phase_5_major_rails_pack.js +74 -0
  113. package/lib/phase_5_proton_xpr_runtime_pack.js +76 -0
  114. package/lib/phase_5_solana_runtime_pack.js +76 -0
  115. package/lib/phase_6_autogen_runtime_pack.js +72 -0
  116. package/lib/phase_6_closeout_pack.js +46 -0
  117. package/lib/phase_6_completion_pack.js +77 -0
  118. package/lib/phase_6_decision_record_pack.js +54 -0
  119. package/lib/phase_6_decision_resolution_pack.js +53 -0
  120. package/lib/phase_6_framework_continuity_pack.js +81 -0
  121. package/lib/phase_6_framework_runtime_pack.js +68 -0
  122. package/lib/phase_6_freeze_baseline_pack.js +68 -0
  123. package/lib/phase_6_freeze_review_pack.js +65 -0
  124. package/lib/phase_6_gate_pack.js +59 -0
  125. package/lib/phase_6_langchain_runtime_pack.js +72 -0
  126. package/lib/phase_6_langgraph_runtime_pack.js +72 -0
  127. package/lib/phase_6_semantic_kernel_runtime_pack.js +72 -0
  128. package/lib/phase_7_closeout_pack.js +45 -0
  129. package/lib/phase_7_completion_pack.js +85 -0
  130. package/lib/phase_7_decision_record_pack.js +53 -0
  131. package/lib/phase_7_decision_resolution_pack.js +53 -0
  132. package/lib/phase_7_event_system_continuity_pack.js +89 -0
  133. package/lib/phase_7_event_system_pack.js +76 -0
  134. package/lib/phase_7_freeze_baseline_pack.js +74 -0
  135. package/lib/phase_7_freeze_review_pack.js +65 -0
  136. package/lib/phase_7_gate_pack.js +58 -0
  137. package/lib/phase_7_kafka_runtime_pack.js +74 -0
  138. package/lib/phase_7_mqtt_runtime_pack.js +74 -0
  139. package/lib/phase_7_nats_runtime_pack.js +74 -0
  140. package/lib/phase_7_webhook_event_bus_runtime_pack.js +74 -0
  141. package/lib/phase_8_closeout_pack.js +46 -0
  142. package/lib/phase_8_completion_pack.js +82 -0
  143. package/lib/phase_8_decision_record_pack.js +54 -0
  144. package/lib/phase_8_decision_resolution_pack.js +53 -0
  145. package/lib/phase_8_external_receipt_import_runtime_pack.js +74 -0
  146. package/lib/phase_8_external_result_import_runtime_pack.js +74 -0
  147. package/lib/phase_8_freeze_baseline_pack.js +71 -0
  148. package/lib/phase_8_freeze_review_pack.js +64 -0
  149. package/lib/phase_8_gate_pack.js +58 -0
  150. package/lib/phase_8_proof_bridge_continuity_pack.js +86 -0
  151. package/lib/phase_8_proof_bridges_pack.js +72 -0
  152. package/lib/phase_8_proof_bundle_normalization_runtime_pack.js +74 -0
  153. package/lib/phase_9_closeout_pack.js +46 -0
  154. package/lib/phase_9_completion_pack.js +82 -0
  155. package/lib/phase_9_custody_refs_runtime_pack.js +74 -0
  156. package/lib/phase_9_decision_record_pack.js +54 -0
  157. package/lib/phase_9_decision_resolution_pack.js +53 -0
  158. package/lib/phase_9_freeze_baseline_pack.js +71 -0
  159. package/lib/phase_9_freeze_review_pack.js +64 -0
  160. package/lib/phase_9_gate_pack.js +58 -0
  161. package/lib/phase_9_operator_accounting_bridges_runtime_pack.js +74 -0
  162. package/lib/phase_9_treasury_connectivity_pack.js +72 -0
  163. package/lib/phase_9_treasury_continuity_pack.js +86 -0
  164. package/lib/phase_9_treasury_destinations_runtime_pack.js +74 -0
  165. package/lib/phase_program_pack.js +120 -0
  166. package/lib/publish_plan.js +51 -0
  167. package/lib/release_candidate.js +50 -0
  168. package/lib/release_center.js +1085 -0
  169. package/lib/release_history.js +72 -0
  170. package/lib/release_manifest.js +114 -0
  171. package/lib/release_pack.js +454 -0
  172. package/lib/runtime_state_store.js +354 -0
  173. package/lib/settlement_bsv_live.js +262 -13
  174. package/lib/soft_launch_pack.js +78 -0
  175. package/package.json +24 -2
  176. package/server.js +2562 -220
package/README.md CHANGED
@@ -16,6 +16,8 @@ It exists to let agents, developers, and systems:
16
16
 
17
17
  This repo is the hot-state commerce layer. It does not define base proof semantics. It references and emits proof-compatible facts, while `xoonya` owns canonical proof.
18
18
 
19
+ The 10-phase public program is now complete. `xytara` is in terminal closeout posture rather than active milestone build posture.
20
+
19
21
  ## Start Here
20
22
 
21
23
  If you are new to the public stack, use this order:
@@ -25,18 +27,51 @@ If you are new to the public stack, use this order:
25
27
  3. run `npm run verify:all`
26
28
  4. use [FINAL_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/FINAL_CONTRACT.md) and [SERVICE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/SERVICE_CONTRACT.md) as the durable public contract
27
29
 
30
+ If you are evaluating the post-program operating posture, read:
31
+
32
+ - [PROGRAM_STATUS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/PROGRAM_STATUS.md)
33
+ - [OPERATOR_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/OPERATOR_START_HERE.md)
34
+ - [OPERATIONS_RUNBOOK.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/OPERATIONS_RUNBOOK.md)
35
+ - [PROGRAM_COMPLETE_RELEASE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/PROGRAM_COMPLETE_RELEASE.md)
36
+ - [WHY_XYTARA_XOONYA.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/WHY_XYTARA_XOONYA.md)
37
+
38
+ If you want one concrete cross-repo adoption story, start with:
39
+
40
+ - [CARRIED_HANDOFF_DEMO.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/CARRIED_HANDOFF_DEMO.md)
41
+
42
+ If you want the shortest neutral external-adoption bundle, continue with:
43
+
44
+ - [PARTNER_READY_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/PARTNER_READY_PATH.md)
45
+ - [PUBLIC_DEMO_SCRIPT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/PUBLIC_DEMO_SCRIPT.md)
46
+ - [EXAMPLE_PATHS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/EXAMPLE_PATHS.md)
47
+ - `node examples/partner_launch_walkthrough.js`
48
+
28
49
  If you are building adapters, continue with:
29
50
 
51
+ - [ADAPTER_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/ADAPTER_START_HERE.md)
52
+ - [ADAPTER_PROMOTION_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/ADAPTER_PROMOTION_START_HERE.md)
53
+ - [ADAPTER_PARTNER_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/ADAPTER_PARTNER_PATH.md)
54
+ - [SOFT_LAUNCH_KIT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/SOFT_LAUNCH_KIT.md)
55
+ - [OUTREACH_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/OUTREACH_START_HERE.md)
56
+ - [OUTREACH_MESSAGES.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/OUTREACH_MESSAGES.md)
30
57
  - [adapters/AUTHORING_GUIDE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/adapters/AUTHORING_GUIDE.md)
31
58
  - [adapters/ONBOARDING_POSTURE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/adapters/ONBOARDING_POSTURE.md)
32
59
  - [adapters/THIRD_PARTY_SUBMISSION_PROCESS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md)
33
60
 
61
+ The fastest copy-and-adapt third-party starter now lives under:
62
+
63
+ - `adapters/examples/minimal-third-party-execution-adapter.manifest.json`
64
+ - `adapters/examples/minimal-third-party-execution-adapter.js`
65
+ - `adapters/examples/minimal-third-party-execution-registration.record.json`
66
+ - `adapters/examples/minimal-third-party-execution.certification-pack.json`
67
+ - `adapters/examples/minimal-third-party-execution.submission-bundle.json`
68
+
34
69
  If you are wiring the native BSV settlement base, continue with:
35
70
 
36
71
  - [BSV_TERANODE_SETUP.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/BSV_TERANODE_SETUP.md)
37
72
  - [REAL_PAYMENT_SETUP.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/REAL_PAYMENT_SETUP.md)
38
73
 
39
- If you are wiring the first human checkout path, continue with:
74
+ If you are wiring external checkout or hosted funding paths, continue with:
40
75
 
41
76
  - [HUMAN_CHECKOUT_AND_RUNTIME_BRIDGE_PATTERN.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/HUMAN_CHECKOUT_AND_RUNTIME_BRIDGE_PATTERN.md)
42
77
  - [RUNTIME_BRIDGE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/RUNTIME_BRIDGE_CONTRACT.md)
@@ -120,23 +155,23 @@ This keeps one-off usage and repeat usage on the same public spine:
120
155
  - credit balance when the caller is already funded and wants low-friction repeat execution
121
156
  - optional agent and budget controls can still bound that spend without changing the execution surface
122
157
 
123
- It also keeps the human checkout boundary clean:
158
+ It also keeps the external funding boundary clean:
124
159
 
125
160
  - an external merchant-facing system can verify a purchase and issue a bounded credit grant into `xytara`
126
161
  - `xytara` records the granted value and consumes it during later runtime operations
127
162
  - the runtime does not need to absorb provider-specific checkout semantics to support repeat usage
128
163
  - in production, `POST /v1/credit-bridge/grants` should normally be protected with `XYTARA_CREDIT_BRIDGE_BEARER_TOKEN`
129
164
 
130
- The first human-facing convenience path now follows a parallel narrow route:
165
+ The first external checkout convenience path now follows a parallel narrow route:
131
166
 
132
167
  1. create hosted purchase intent
133
168
  2. create checkout session
134
169
  3. normalize payment success
135
170
  4. issue credits or entitlement
136
- 5. dispatch through the runtime bridge when needed
171
+ 5. dispatch through the runtime path when needed
137
172
  6. converge back into the same `xytara` and `xoonya` spine
138
173
 
139
- The first direct hosted execution path now also has a public runtime bridge surface:
174
+ The first direct hosted execution path now also has a public runtime dispatch surface:
140
175
 
141
176
  - `POST /v1/runtime-bridge/dispatch`
142
177
  - `GET /v1/runtime-bridge/dispatches`
@@ -153,6 +188,82 @@ The operator shell now also carries hosted checkout visibility so purchase, disp
153
188
 
154
189
  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.
155
190
 
191
+ For release-grade adoption posture, inspect:
192
+
193
+ - `GET /v1/release-pack`
194
+ - `GET /v1/release-pack/summary`
195
+ - `GET /v1/release-pack/comparison`
196
+ - `GET /v1/release-pack/comparison/summary`
197
+ - `GET /v1/release-pack/adoption`
198
+ - `GET /v1/release-pack/adoption/summary`
199
+ - `GET /v1/release-pack/scenarios`
200
+ - `GET /v1/release-pack/scenarios/summary`
201
+ - `GET /v1/release-pack/launch`
202
+ - `GET /v1/release-pack/launch/summary`
203
+ - `GET /v1/release-manifest`
204
+ - `GET /v1/release-manifest/summary`
205
+ - `GET /v1/release-notes`
206
+ - `GET /v1/release-notes/summary`
207
+ - `GET /v1/release-center`
208
+ - `GET /v1/release-center/summary`
209
+ - `GET /v1/release-history`
210
+ - `GET /v1/release-history/summary`
211
+ - `GET /v1/adapter-pack`
212
+ - `GET /v1/adapter-pack/summary`
213
+ - `GET /v1/adapter-promotion`
214
+ - `GET /v1/adapter-promotion/summary`
215
+ - `GET /v1/adapter-partners`
216
+ - `GET /v1/adapter-partners/summary`
217
+ - `GET /v1/soft-launch`
218
+ - `GET /v1/soft-launch/summary`
219
+ - `GET /v1/outreach-copy`
220
+ - `GET /v1/outreach-copy/summary`
221
+ - `GET /v1/outreach-targets`
222
+ - `GET /v1/outreach-targets/summary`
223
+ - `GET /v1/outreach-messages`
224
+ - `GET /v1/outreach-messages/summary`
225
+ - `GET /v1/phases`
226
+ - `GET /v1/phases/summary`
227
+ - `GET /v1/phases/phase-1`
228
+ - `GET /v1/phases/phase-1/summary`
229
+ - `GET /v1/publish-plan`
230
+ - `GET /v1/publish-plan/summary`
231
+ - `GET /v1/ecosystem-entry`
232
+ - `GET /v1/ecosystem-entry/summary`
233
+ - `GET /v1/launch-narrative`
234
+ - `GET /v1/launch-narrative/summary`
235
+ - `GET /v1/outreach-proof`
236
+ - `GET /v1/outreach-proof/summary`
237
+ - `GET /v1/announcement-pack`
238
+ - `GET /v1/announcement-pack/summary`
239
+ - `GET /v1/release-candidate`
240
+ - `GET /v1/release-candidate/summary`
241
+ - `xytara-release --summary`
242
+ - `xytara-release --comparison --summary`
243
+ - `xytara-release --adoption --summary`
244
+ - `xytara-release --scenarios --summary`
245
+ - `xytara-release --launch --summary`
246
+ - `xytara-release --manifest --summary`
247
+ - `xytara-release --notes --summary`
248
+ - `xytara-release --center --summary`
249
+ - `xytara-release --history --summary`
250
+ - `xytara-release --adapters --summary`
251
+ - `xytara-release --adapter-promotion --summary`
252
+ - `xytara-release --adapter-partners --summary`
253
+ - `xytara-release --soft-launch --summary`
254
+ - `xytara-release --outreach-copy --summary`
255
+ - `xytara-release --outreach-targets --summary`
256
+ - `xytara-release --outreach-messages --summary`
257
+ - `xytara-release --phases --summary`
258
+ - `xytara-release --phase-1 --summary`
259
+ - `xytara-release --ecosystem --summary`
260
+ - `xytara-release --narrative --summary`
261
+ - `xytara-release --outreach-proof --summary`
262
+ - `xytara-release --announcement --summary`
263
+ - `xytara-release --candidate --summary`
264
+
265
+ 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.
266
+
156
267
  ## Commerce Loop
157
268
 
158
269
  The public product loop is:
@@ -589,6 +700,12 @@ Run:
589
700
  node examples/quickstart.js
590
701
  ```
591
702
 
703
+ For a direct one-line machine run against a live service, use the bundled CLI:
704
+
705
+ ```bash
706
+ xytara-run --url https://xytara.onrender.com --account acct_demo --command "cli-run" --task trust.verify --body-json '{"subject_id":"subject-1"}' --wallet-id merchant_wallet_main --wallet-secret YOUR_LOCAL_SIGNED_SECRET --txid YOUR_BSV_TXID
707
+ ```
708
+
592
709
  The quickstart exercises:
593
710
 
594
711
  - health and catalog
@@ -675,6 +792,9 @@ Production payment note:
675
792
  - provide buyer wallet verification material through `XYTARA_WALLET_REGISTRY_JSON` or `XYTARA_WALLET_REGISTRY_PATH`
676
793
  - 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
677
794
  - 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
795
+ - for native BSV/Teranode live follow-through, set `XYTARA_BSV_TERANODE_SETTLEMENT_RUNTIME_MODE` to `observe` or `arc`
796
+ - use `XYTARA_BSV_TERANODE_RPC_URL` plus optional ARC auth envs when the live runtime needs ARC submission
797
+ - use `XYTARA_BSV_TERANODE_OBSERVER_URL` if you want to override the default live observer base
678
798
 
679
799
  Primary service routes:
680
800
 
@@ -752,6 +872,7 @@ Primary service routes:
752
872
  - `GET /v1/receipts/:receipt_id`
753
873
  - `GET /v1/payment-ledger`
754
874
  - `GET /v1/payment-ledger/:payment_id`
875
+ - `GET /v1/payment-ledger/:payment_id/operator-pack`
755
876
  - `GET /v1/deliveries`
756
877
  - `GET /v1/deliveries/:delivery_id`
757
878
  - `GET /v1/disputes`
@@ -770,6 +891,7 @@ Primary service routes:
770
891
  - `GET /v1/operator-export-pack`
771
892
  - `GET /v1/operations/dashboard`
772
893
  - `GET /v1/operations/attention-records`
894
+ - `GET /v1/runtime/durability`
773
895
  - `GET /v1/operator-shell`
774
896
  - `GET /v1/operator-shell/summary`
775
897
  - `POST /v1/operator-shell/summary`
@@ -815,6 +937,8 @@ Primary service routes:
815
937
  - `GET /v1/economics/evidence/receipts/:receipt_ref`
816
938
  - `GET /v1/economics/evidence/jobs/:job_id`
817
939
  - `GET /v1/economics/integration/jobs/:job_id`
940
+ - `GET /v1/settlement/bsv-teranode/readiness`
941
+ - `GET /v1/settlement/bsv-teranode/:settlement_id/operator-pack`
818
942
 
819
943
  The Wave C coordination carry-over line adds a bounded coordination center on top of the public transaction spine:
820
944
 
@@ -834,9 +958,21 @@ The Wave F shell carry-over line adds a bounded operator shell inside public `xy
834
958
 
835
959
  - self-serve agent account issuance for the public runtime path
836
960
  - a unified operator shell summary across operations, economics, and coordination
961
+ - explicit runtime durability visibility for snapshot-backed recovery posture
962
+ - explicit native BSV/Teranode readiness visibility for merchant identity, transport, and verification posture
837
963
  - compact workflow/admin shell exports that point cleanly into proof-side follow-through when needed
838
964
 
839
- This keeps the public product centered on `naxytra` while recovering the useful operator-shell lineage as a built-in `xytara` capability instead of a separate branded surface.
965
+ 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.
966
+
967
+ The durability and native-settlement readiness surfaces are also intended to make the remaining production boundary explicit:
968
+
969
+ - `/v1/runtime/durability` exposes whether runtime snapshots are enabled, whether a recoverable snapshot exists yet, and any current durability blockers
970
+ - `/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
971
+ - `/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
972
+
973
+ 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.
974
+
975
+ 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_public/naxytra/xytara/SUPABASE_RUNTIME_STATE_SETUP.md).
840
976
 
841
977
  ## Verification
842
978
 
@@ -0,0 +1,16 @@
1
+ # xytara Release Checklist
2
+
3
+ 1. Run `npm run verify:release-candidate`.
4
+ 2. Confirm `npm pack --dry-run --json` includes the public docs and both CLI entrypoints.
5
+ 3. Run `node examples/partner_launch_walkthrough.js`.
6
+ 3. Redeploy the service and verify:
7
+ - `/v1/release-center/summary`
8
+ - `/v1/announcement-pack/summary`
9
+ - `/v1/outreach-proof/summary`
10
+ - `/v1/runtime/durability`
11
+ 4. Confirm the program-complete docs are packaged:
12
+ - `PROGRAM_COMPLETE_RELEASE.md`
13
+ - `WHY_XYTARA_XOONYA.md`
14
+ - `PARTNER_READY_PATH.md`
15
+ 5. Run the first public proof path.
16
+ 6. Only then publish the npm package.
@@ -0,0 +1,28 @@
1
+ # xytara 2.2.0 Release Notes
2
+
3
+ `xytara` 2.2.0 is the public machine-commerce program-complete line.
4
+
5
+ Highlights:
6
+
7
+ - direct one-line machine execution with `xytara-run`
8
+ - release, comparison, adoption, scenario, and launch packs over HTTP and CLI
9
+ - release-center, announcement-pack, and release-candidate surfaces for public launch readiness
10
+ - credits-first reusable spend posture
11
+ - native settlement-aware runtime inspection
12
+ - proof-compatible handoff into `xoonya`
13
+ - partner-ready onboarding and launch docs
14
+ - explicit runtime durability posture, including Supabase-backed persistence on hosts without persistent disk
15
+
16
+ Recommended first checks:
17
+
18
+ 1. `npm install xytara`
19
+ 2. `xytara-release --candidate --summary`
20
+ 3. `npm run verify:release-candidate`
21
+ 4. `node examples/partner_launch_walkthrough.js`
22
+ 5. inspect `/v1/release-candidate/summary` and `/v1/runtime/durability` on the deployed service
23
+
24
+ Recommended first docs:
25
+
26
+ - `PROGRAM_COMPLETE_RELEASE.md`
27
+ - `WHY_XYTARA_XOONYA.md`
28
+ - `PARTNER_READY_PATH.md`
@@ -237,7 +237,7 @@ Deterministic usage metering should use:
237
237
 
238
238
  External top-up and pack issuance should use:
239
239
 
240
- 1. verify the human-facing purchase outside the runtime
240
+ 1. verify the purchase outside the runtime
241
241
  2. issue a bounded grant through `POST /v1/credit-bridge/grants`
242
242
  3. inspect grants through `GET /v1/credit-bridge/grants`
243
243
  4. rely on the same account credit balance and credit-first execution path afterward
@@ -257,7 +257,7 @@ Delegated spend should use:
257
257
  5. use `payment_preference: "credits_first"` for the repeat-use path
258
258
  6. revoke the credential without affecting account ownership or payout posture
259
259
 
260
- The first human-facing hosted path now follows:
260
+ The first hosted purchase path now follows:
261
261
 
262
262
  1. create purchase intent
263
263
  2. create checkout session
@@ -269,7 +269,7 @@ Direct single-task hosted execution should use:
269
269
 
270
270
  1. hosted checkout purchase intent
271
271
  2. normalized `paid` event
272
- 3. runtime bridge dispatch
272
+ 3. runtime dispatch
273
273
  4. normal transaction, receipt, treasury, and proof follow-through
274
274
 
275
275
  Hosted checkout payout posture should use:
@@ -284,7 +284,7 @@ Provider or customer refund-shaped signals may be recorded, but they should not
284
284
  Operator-shell posture should now also expose hosted checkout visibility:
285
285
 
286
286
  - purchase intent counts
287
- - runtime bridge dispatch counts
287
+ - runtime dispatch counts
288
288
  - refund review queue counts
289
289
 
290
290
  so the human payment path remains operationally visible without introducing a second control plane.
package/START_HERE.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  This is the shortest reliable path for understanding and using the public `xytara` package in production-facing order.
4
4
 
5
+ The phase program is now complete, so this file is the right starting point for a closed and release-shaped runtime rather than an in-flight milestone build.
6
+
5
7
  ## 1. Understand The Role
6
8
 
7
9
  `xytara` is the transaction-side half of the public stack.
@@ -24,6 +26,17 @@ node examples/quickstart.js
24
26
 
25
27
  This is the fastest way to see the intended package story end-to-end.
26
28
 
29
+ If you want the clearest cross-repo adoption path instead of the broad package tour, continue with:
30
+
31
+ - [CARRIED_HANDOFF_DEMO.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/CARRIED_HANDOFF_DEMO.md)
32
+
33
+ If you want the shortest neutral external-adoption bundle, continue with:
34
+
35
+ - [PARTNER_READY_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/PARTNER_READY_PATH.md)
36
+ - [PUBLIC_DEMO_SCRIPT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/PUBLIC_DEMO_SCRIPT.md)
37
+ - [EXAMPLE_PATHS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/EXAMPLE_PATHS.md)
38
+ - `node examples/partner_launch_walkthrough.js`
39
+
27
40
  ## 3. Verify The Whole Package
28
41
 
29
42
  Run:
@@ -40,6 +53,13 @@ For long-term product understanding, read:
40
53
 
41
54
  - [FINAL_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/FINAL_CONTRACT.md)
42
55
  - [SERVICE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/SERVICE_CONTRACT.md)
56
+ - [PROGRAM_STATUS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/PROGRAM_STATUS.md)
57
+ - [OPERATOR_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/OPERATOR_START_HERE.md)
58
+ - [OPERATIONS_RUNBOOK.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/OPERATIONS_RUNBOOK.md)
59
+ - [PROGRAM_COMPLETE_RELEASE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/PROGRAM_COMPLETE_RELEASE.md)
60
+ - [WHY_XYTARA_XOONYA.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/WHY_XYTARA_XOONYA.md)
61
+ - [CARRIED_HANDOFF_DEMO.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/CARRIED_HANDOFF_DEMO.md)
62
+ - [PARTNER_READY_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/PARTNER_READY_PATH.md)
43
63
  - [BSV_TERANODE_SETUP.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/BSV_TERANODE_SETUP.md)
44
64
  - [REAL_PAYMENT_SETUP.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/REAL_PAYMENT_SETUP.md)
45
65
  - [TERMINOLOGY.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/TERMINOLOGY.md)
@@ -48,6 +68,7 @@ For long-term product understanding, read:
48
68
 
49
69
  Continue with:
50
70
 
71
+ - [ADAPTER_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/ADAPTER_START_HERE.md)
51
72
  - [adapters/AUTHORING_GUIDE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/adapters/AUTHORING_GUIDE.md)
52
73
  - [adapters/ONBOARDING_POSTURE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/adapters/ONBOARDING_POSTURE.md)
53
74
  - [adapters/THIRD_PARTY_SUBMISSION_PROCESS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/adapters/THIRD_PARTY_SUBMISSION_PROCESS.md)
@@ -61,3 +82,14 @@ The main public path is no longer "read every milestone layer."
61
82
  It is:
62
83
 
63
84
  discover -> preview/quote -> execute -> inspect -> hand off to `xoonya`
85
+
86
+ ## 7. If You Are Operating The Closed Program
87
+
88
+ Use:
89
+
90
+ - [PROGRAM_STATUS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/PROGRAM_STATUS.md)
91
+ - [OPERATOR_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/OPERATOR_START_HERE.md)
92
+
93
+ If you depend on hidden-account grants, credits, or usage meters in production, set `XYTARA_STATE_FILE` to a path on persistent disk before you trust restart durability.
94
+
95
+ If your host does not provide persistent disk, use [SUPABASE_RUNTIME_STATE_SETUP.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xytara/SUPABASE_RUNTIME_STATE_SETUP.md) instead.
@@ -0,0 +1,61 @@
1
+ # xytara Supabase Runtime State Setup
2
+
3
+ Use this when `xytara` runs on infrastructure without persistent disk, such as a free Render service.
4
+
5
+ ## What This Solves
6
+
7
+ This keeps runtime economics state durable across restart:
8
+
9
+ - external credit grants
10
+ - entitlements
11
+ - credit spends
12
+ - usage meters
13
+ - hidden-account economics carry
14
+
15
+ ## 1. Create The Table In Supabase
16
+
17
+ Run this SQL:
18
+
19
+ ```sql
20
+ create table if not exists public.xytara_runtime_state (
21
+ state_key text primary key,
22
+ snapshot jsonb not null,
23
+ persisted_at_iso timestamptz not null default now()
24
+ );
25
+ ```
26
+
27
+ ## 2. Configure xytara
28
+
29
+ Set these environment variables on the deployed service:
30
+
31
+ ```text
32
+ XYTARA_SUPABASE_URL=https://<project-ref>.supabase.co
33
+ XYTARA_SUPABASE_SERVICE_ROLE_KEY=<service-role-key>
34
+ XYTARA_SUPABASE_STATE_TABLE=xytara_runtime_state
35
+ XYTARA_SUPABASE_STATE_KEY=default
36
+ XYTARA_STATE_SNAPSHOT_INTERVAL_MS=5000
37
+ ```
38
+
39
+ If `XYTARA_SUPABASE_URL` and `XYTARA_SUPABASE_SERVICE_ROLE_KEY` are set, `xytara` will use Supabase-backed runtime persistence instead of local file snapshots.
40
+
41
+ ## 3. Verify Runtime Durability
42
+
43
+ Inspect:
44
+
45
+ - `GET /v1/runtime/durability`
46
+
47
+ Expected direction:
48
+
49
+ - `storage_mode: "supabase"`
50
+ - `remote_reachable: true`
51
+ - `remote_table_ready: true`
52
+ - `snapshot_exists: true` after the first persisted mutation
53
+
54
+ ## 4. Verify The Real Economics Path
55
+
56
+ 1. issue a hidden-account grant
57
+ 2. confirm balance and entitlements exist
58
+ 3. restart or redeploy `xytara`
59
+ 4. confirm the same hidden account still has balance and entitlements
60
+ 5. spend once
61
+ 6. confirm usage meter and spend history survive another restart
@@ -0,0 +1,63 @@
1
+ # Why xytara And xoonya
2
+
3
+ The public stack is intentionally split into two repos because runtime commerce and canonical proof have different operating constraints.
4
+
5
+ ## xytara
6
+
7
+ `xytara` owns the transaction-side path:
8
+
9
+ - discover
10
+ - preview or quote
11
+ - fund or spend
12
+ - execute
13
+ - inspect
14
+ - export carry
15
+
16
+ It is the right place for:
17
+
18
+ - payment posture
19
+ - credits and entitlements
20
+ - settlement visibility
21
+ - adapter registration and promotion
22
+ - operator-facing runtime state
23
+
24
+ ## xoonya
25
+
26
+ `xoonya` owns the proof-side path:
27
+
28
+ - receive handoff
29
+ - review preserved context
30
+ - emit proof-native completion
31
+ - verify the final bundle
32
+
33
+ It is the right place for:
34
+
35
+ - canonical event shape
36
+ - receipts
37
+ - proof bundles
38
+ - narrow proof-adjacent integrations
39
+ - reviewable proof followthrough
40
+
41
+ ## Why the split matters
42
+
43
+ If commerce and proof are collapsed together, one side usually becomes muddy:
44
+
45
+ - the runtime becomes too rigid
46
+ - or the proof layer absorbs workflow and settlement semantics it should not own
47
+
48
+ This split keeps both sides legible:
49
+
50
+ - `xytara` stays execution and economics aware
51
+ - `xoonya` stays canonical and proof aware
52
+
53
+ ## What builders get
54
+
55
+ Builders do not need to choose between “commerce first” and “proof first.”
56
+
57
+ They can:
58
+
59
+ 1. run the machine path in `xytara`
60
+ 2. export or carry the result
61
+ 3. complete the proof path in `xoonya`
62
+
63
+ That is the public stack story.
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+
6
+ const manifest = JSON.parse(
7
+ fs.readFileSync(path.resolve(__dirname, "minimal-third-party-execution-adapter.manifest.json"), "utf8")
8
+ );
9
+
10
+ async function getHealth() {
11
+ return {
12
+ status: "ok",
13
+ readiness: "ready",
14
+ adapter_id: manifest.adapter_id
15
+ };
16
+ }
17
+
18
+ function describeCapabilities() {
19
+ return {
20
+ adapter_id: manifest.adapter_id,
21
+ adapter_class: manifest.adapter_class,
22
+ capabilities: manifest.capabilities.slice(),
23
+ execution_modes: Array.isArray(manifest.execution_modes) ? manifest.execution_modes.slice() : []
24
+ };
25
+ }
26
+
27
+ async function preview(request) {
28
+ return {
29
+ adapter_id: manifest.adapter_id,
30
+ accepted: true,
31
+ preview: {
32
+ task_ref: request && request.task_ref ? request.task_ref : "example.task",
33
+ mode: "preview",
34
+ echoed_body: request && request.body ? request.body : {}
35
+ }
36
+ };
37
+ }
38
+
39
+ async function execute(request) {
40
+ return {
41
+ adapter_id: manifest.adapter_id,
42
+ status: "completed",
43
+ result: {
44
+ task_ref: request && request.task_ref ? request.task_ref : "example.task",
45
+ mode: "execute",
46
+ echoed_body: request && request.body ? request.body : {}
47
+ },
48
+ proof_facts: {
49
+ emits_proof_compatible_facts: manifest.proof_contract.emits_proof_compatible_facts,
50
+ proof_mode: manifest.proof_contract.proof_mode
51
+ }
52
+ };
53
+ }
54
+
55
+ module.exports = {
56
+ manifest,
57
+ getHealth,
58
+ describeCapabilities,
59
+ preview,
60
+ execute
61
+ };
@@ -0,0 +1,79 @@
1
+ {
2
+ "adapter_id": "partner.execution.minimal_echo",
3
+ "adapter_class": "execution_adapter",
4
+ "adapter_version": "0.1.0",
5
+ "interface_version": "commerce-adapter-interface/v1",
6
+ "display_name": "Minimal Third-Party Echo Adapter",
7
+ "description": "Minimal third-party execution adapter starter for external builders copying the public xytara contract.",
8
+ "capabilities": [
9
+ "task.execute",
10
+ "task.preview"
11
+ ],
12
+ "compatibility": {
13
+ "node": ">=18",
14
+ "commerce_contract": "xytara/v1",
15
+ "proof_contract": "xoonya/v1"
16
+ },
17
+ "health_contract": {
18
+ "check_kind": "self_reported",
19
+ "supports_readiness": true
20
+ },
21
+ "idempotency_contract": {
22
+ "strategy": "caller_supplied_key",
23
+ "scope": "task_execution"
24
+ },
25
+ "failure_contract": {
26
+ "categories": [
27
+ "invalid_input",
28
+ "timeout",
29
+ "upstream_unavailable"
30
+ ],
31
+ "retryable_categories": [
32
+ "timeout",
33
+ "upstream_unavailable"
34
+ ]
35
+ },
36
+ "proof_contract": {
37
+ "emits_proof_compatible_facts": true,
38
+ "proof_mode": "execution_facts_only"
39
+ },
40
+ "latency_class": "interactive",
41
+ "pricing_basis": "per_task",
42
+ "execution_modes": [
43
+ "sync"
44
+ ],
45
+ "required_secrets": [
46
+ "MINIMAL_EXECUTION_TOKEN"
47
+ ],
48
+ "required_permissions": [
49
+ "network:outbound"
50
+ ],
51
+ "supported_profiles": [
52
+ "partner"
53
+ ],
54
+ "supported_regions": [
55
+ "global"
56
+ ],
57
+ "supported_settlement_modes": [
58
+ "evm_payment"
59
+ ],
60
+ "registration_contract": {
61
+ "integration_id": "partner.execution.minimal_echo",
62
+ "integration_maturity": "reference_example",
63
+ "bundled": false,
64
+ "default_selection_enabled": false,
65
+ "selection_priority": 600,
66
+ "requires_explicit_selection": true
67
+ },
68
+ "certification_contract": {
69
+ "certification_state": "reference_example",
70
+ "certification_scope": [
71
+ "contract_shape",
72
+ "example_behavior"
73
+ ],
74
+ "verified_with": [
75
+ "npm run verify:adapters"
76
+ ],
77
+ "last_verified_contract_version": "commerce-adapter-interface/v1"
78
+ }
79
+ }