xoonya 3.0.0 → 3.1.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 (246) hide show
  1. package/.env.example +2 -2
  2. package/CARRIED_HANDOFF_DEMO.md +60 -60
  3. package/COMPATIBILITY_NOTE.md +27 -27
  4. package/CROSS_RUNTIME_POSTURE.md +77 -77
  5. package/EXAMPLE_PATHS.md +53 -53
  6. package/FINAL_CONTRACT.md +445 -445
  7. package/LICENSE +201 -201
  8. package/NOTICE +3 -3
  9. package/OPERATIONS_RUNBOOK.md +50 -0
  10. package/OPERATOR_START_HERE.md +67 -0
  11. package/PARTNER_READY_PATH.md +67 -67
  12. package/PROGRAM_COMPLETE_RELEASE.md +52 -0
  13. package/PROGRAM_STATUS.md +57 -0
  14. package/PUBLIC_DEMO_SCRIPT.md +79 -79
  15. package/PUBLISH_PLAN.md +25 -0
  16. package/README.md +807 -732
  17. package/RELEASE_CHECKLIST.md +16 -0
  18. package/RELEASE_NOTES.md +15 -15
  19. package/SERVICE_CONTRACT.md +207 -195
  20. package/START_HERE.md +159 -150
  21. package/TERMINOLOGY.md +55 -55
  22. package/WHY_XYTARA_XOONYA.md +43 -43
  23. package/XNYA_CONFORMANCE_MARK.md +78 -78
  24. package/XNYA_REFERENCE_IMPLEMENTATIONS.md +157 -157
  25. package/XOONYA_DEFAULT_PATH_MODEL.md +63 -63
  26. package/XOONYA_FOLLOWTHROUGH_TRUTH_MODEL.md +63 -63
  27. package/XOONYA_NATIVE_ATOM_SPEC.md +184 -184
  28. package/XOONYA_NATIVE_PROOF_FORMAT.md +527 -527
  29. package/XOONYA_NATIVE_STANDARD_GOVERNANCE.md +119 -119
  30. package/XOONYA_PROOF_TRUTH_MODEL.md +58 -58
  31. package/bin/xoonya-first-run.js +184 -184
  32. package/bin/xoonya-release.js +1367 -1367
  33. package/bin/xoonya-review.js +70 -70
  34. package/bin/xoonya.js +82 -82
  35. package/examples/integration_boundary_walkthrough.js +37 -37
  36. package/examples/package_quickstart.js +1007 -1007
  37. package/examples/partner_proof_walkthrough.js +68 -68
  38. package/examples/proof_review_walkthrough.js +66 -66
  39. package/examples/review_carried_handoff.js +72 -72
  40. package/index.js +31 -22
  41. package/integrations/PROOF_INTEGRATION_PROCESS.md +45 -45
  42. package/integrations/examples/example-third-party-verifier-registration.record.json +22 -22
  43. package/integrations/registration-record.schema.json +99 -99
  44. package/integrations/registry-snapshot.schema.json +36 -36
  45. package/integrations/registry.js +636 -636
  46. package/integrations/views.js +36 -36
  47. package/lib/adapter_certification_contract.js +90 -0
  48. package/lib/announcement_pack.js +61 -61
  49. package/lib/artifact_distribution_lane_contract.js +54 -54
  50. package/lib/asyncapi_contract.js +135 -135
  51. package/lib/auth_interop_contract.js +69 -69
  52. package/lib/authority_binding_lifecycle_contract.js +182 -0
  53. package/lib/bridge_intelligence.js +102 -102
  54. package/lib/cloudevents_contract.js +79 -79
  55. package/lib/crypto_agility_matrix.js +125 -0
  56. package/lib/default_path_contract.js +380 -380
  57. package/lib/ecosystem_entry.js +64 -64
  58. package/lib/erc8004_proof_lane_contract.js +64 -64
  59. package/lib/event_system_lane_contract.js +76 -76
  60. package/lib/external_proof_import_lane_contract.js +87 -87
  61. package/lib/feature_control_lane_contract.js +54 -54
  62. package/lib/followthrough_truth_contract.js +214 -214
  63. package/lib/framework_lane_contract.js +76 -76
  64. package/lib/governance_disputes_summary.js +36 -36
  65. package/lib/governance_intelligence.js +108 -108
  66. package/lib/identity_interop_contract.js +83 -83
  67. package/lib/integration_matrix_contract.js +81 -81
  68. package/lib/launch_narrative.js +53 -53
  69. package/lib/machine_identity_registry_contract.js +199 -0
  70. package/lib/major_rails_proof_lane_contract.js +87 -87
  71. package/lib/offline_verifiability_recovery_contract.js +155 -0
  72. package/lib/openapi_contract.js +227 -227
  73. package/lib/operational_receipt_contract.js +165 -0
  74. package/lib/outreach_proof.js +71 -71
  75. package/lib/phase_10_closeout_pack.js +45 -45
  76. package/lib/phase_10_completion_pack.js +76 -76
  77. package/lib/phase_10_decision_record_pack.js +54 -54
  78. package/lib/phase_10_decision_resolution_pack.js +53 -53
  79. package/lib/phase_10_demand_signal_adapters_proof_pack.js +74 -74
  80. package/lib/phase_10_ecosystem_backlog_triage_proof_pack.js +74 -74
  81. package/lib/phase_10_freeze_baseline_pack.js +67 -67
  82. package/lib/phase_10_freeze_review_pack.js +64 -64
  83. package/lib/phase_10_gate_pack.js +57 -57
  84. package/lib/phase_10_long_tail_continuity_pack.js +80 -80
  85. package/lib/phase_10_long_tail_ecosystem_pack.js +68 -68
  86. package/lib/phase_10_niche_extension_registry_proof_pack.js +74 -74
  87. package/lib/phase_1_claude_mcp_pack.js +60 -60
  88. package/lib/phase_1_claude_mcp_proof_pack.js +57 -57
  89. package/lib/phase_1_ecosystem_pack.js +51 -51
  90. package/lib/phase_1_openai_codex_pack.js +60 -60
  91. package/lib/phase_1_openai_codex_proof_pack.js +57 -57
  92. package/lib/phase_2_base_proof_pack.js +71 -71
  93. package/lib/phase_2_base_usdc_proof_pack.js +72 -72
  94. package/lib/phase_2_closeout_pack.js +65 -65
  95. package/lib/phase_2_completion_pack.js +113 -113
  96. package/lib/phase_2_decision_record_pack.js +66 -66
  97. package/lib/phase_2_decision_resolution_pack.js +69 -69
  98. package/lib/phase_2_eth_proof_pack.js +70 -70
  99. package/lib/phase_2_evm_base_proof_pack.js +73 -73
  100. package/lib/phase_2_evm_proof_pack.js +71 -71
  101. package/lib/phase_2_flip_preview_pack.js +60 -60
  102. package/lib/phase_2_freeze_review_pack.js +99 -99
  103. package/lib/phase_2_gate_pack.js +77 -77
  104. package/lib/phase_2_payment_rails_pack.js +71 -71
  105. package/lib/phase_2_usdc_proof_pack.js +71 -71
  106. package/lib/phase_3_brc_proof_pack.js +81 -81
  107. package/lib/phase_3_bsv_teranode_proof_pack.js +81 -81
  108. package/lib/phase_3_closeout_pack.js +62 -62
  109. package/lib/phase_3_completion_pack.js +92 -92
  110. package/lib/phase_3_decision_record_pack.js +64 -64
  111. package/lib/phase_3_decision_resolution_pack.js +69 -69
  112. package/lib/phase_3_freeze_baseline_pack.js +67 -67
  113. package/lib/phase_3_freeze_review_pack.js +80 -80
  114. package/lib/phase_3_gate_pack.js +76 -76
  115. package/lib/phase_3_metanet_proof_pack.js +81 -81
  116. package/lib/phase_3_native_bsv_pack.js +89 -89
  117. package/lib/phase_3_native_continuity_pack.js +82 -82
  118. package/lib/phase_4_attestation_proof_pack.js +75 -75
  119. package/lib/phase_4_closeout_pack.js +45 -45
  120. package/lib/phase_4_completion_pack.js +82 -82
  121. package/lib/phase_4_decision_record_pack.js +54 -54
  122. package/lib/phase_4_decision_resolution_pack.js +45 -45
  123. package/lib/phase_4_erc8004_proof_pack.js +76 -76
  124. package/lib/phase_4_freeze_baseline_pack.js +67 -67
  125. package/lib/phase_4_freeze_review_pack.js +68 -68
  126. package/lib/phase_4_gate_pack.js +58 -58
  127. package/lib/phase_4_identity_registry_proof_pack.js +75 -75
  128. package/lib/phase_4_identity_trust_pack.js +73 -73
  129. package/lib/phase_4_trust_continuity_pack.js +86 -86
  130. package/lib/phase_5_antelope_proof_pack.js +76 -76
  131. package/lib/phase_5_closeout_pack.js +44 -44
  132. package/lib/phase_5_completion_pack.js +82 -82
  133. package/lib/phase_5_decision_record_pack.js +54 -54
  134. package/lib/phase_5_decision_resolution_pack.js +45 -45
  135. package/lib/phase_5_freeze_baseline_pack.js +67 -67
  136. package/lib/phase_5_freeze_review_pack.js +68 -68
  137. package/lib/phase_5_gate_pack.js +58 -58
  138. package/lib/phase_5_major_rails_continuity_pack.js +86 -86
  139. package/lib/phase_5_major_rails_pack.js +74 -74
  140. package/lib/phase_5_proton_xpr_proof_pack.js +76 -76
  141. package/lib/phase_5_solana_proof_pack.js +76 -76
  142. package/lib/phase_6_autogen_proof_pack.js +74 -74
  143. package/lib/phase_6_closeout_pack.js +46 -46
  144. package/lib/phase_6_completion_pack.js +77 -77
  145. package/lib/phase_6_decision_record_pack.js +54 -54
  146. package/lib/phase_6_decision_resolution_pack.js +53 -53
  147. package/lib/phase_6_framework_continuity_pack.js +81 -81
  148. package/lib/phase_6_framework_runtime_pack.js +68 -68
  149. package/lib/phase_6_freeze_baseline_pack.js +68 -68
  150. package/lib/phase_6_freeze_review_pack.js +65 -65
  151. package/lib/phase_6_gate_pack.js +59 -59
  152. package/lib/phase_6_langchain_proof_pack.js +74 -74
  153. package/lib/phase_6_langgraph_proof_pack.js +74 -74
  154. package/lib/phase_6_semantic_kernel_proof_pack.js +74 -74
  155. package/lib/phase_7_closeout_pack.js +45 -45
  156. package/lib/phase_7_completion_pack.js +85 -85
  157. package/lib/phase_7_decision_record_pack.js +53 -53
  158. package/lib/phase_7_decision_resolution_pack.js +53 -53
  159. package/lib/phase_7_event_system_continuity_pack.js +89 -89
  160. package/lib/phase_7_event_system_pack.js +76 -76
  161. package/lib/phase_7_freeze_baseline_pack.js +74 -74
  162. package/lib/phase_7_freeze_review_pack.js +65 -65
  163. package/lib/phase_7_gate_pack.js +58 -58
  164. package/lib/phase_7_kafka_proof_pack.js +76 -76
  165. package/lib/phase_7_mqtt_proof_pack.js +76 -76
  166. package/lib/phase_7_nats_proof_pack.js +76 -76
  167. package/lib/phase_7_webhook_event_bus_proof_pack.js +76 -76
  168. package/lib/phase_8_closeout_pack.js +46 -46
  169. package/lib/phase_8_completion_pack.js +82 -82
  170. package/lib/phase_8_decision_record_pack.js +54 -54
  171. package/lib/phase_8_decision_resolution_pack.js +53 -53
  172. package/lib/phase_8_external_receipt_import_proof_pack.js +74 -74
  173. package/lib/phase_8_external_result_import_proof_pack.js +74 -74
  174. package/lib/phase_8_freeze_baseline_pack.js +71 -71
  175. package/lib/phase_8_freeze_review_pack.js +64 -64
  176. package/lib/phase_8_gate_pack.js +58 -58
  177. package/lib/phase_8_proof_bridge_continuity_pack.js +86 -86
  178. package/lib/phase_8_proof_bridges_pack.js +72 -72
  179. package/lib/phase_8_proof_bundle_normalization_proof_pack.js +74 -74
  180. package/lib/phase_9_closeout_pack.js +46 -46
  181. package/lib/phase_9_completion_pack.js +82 -82
  182. package/lib/phase_9_custody_refs_proof_pack.js +74 -74
  183. package/lib/phase_9_decision_record_pack.js +54 -54
  184. package/lib/phase_9_decision_resolution_pack.js +53 -53
  185. package/lib/phase_9_freeze_baseline_pack.js +71 -71
  186. package/lib/phase_9_freeze_review_pack.js +64 -64
  187. package/lib/phase_9_gate_pack.js +58 -58
  188. package/lib/phase_9_operator_accounting_bridges_proof_pack.js +74 -74
  189. package/lib/phase_9_treasury_connectivity_pack.js +72 -72
  190. package/lib/phase_9_treasury_continuity_pack.js +86 -86
  191. package/lib/phase_9_treasury_destinations_proof_pack.js +74 -74
  192. package/lib/phase_program_pack.js +47 -47
  193. package/lib/proof_bridge_lane_contract.js +82 -82
  194. package/lib/proof_truth_contract.js +224 -224
  195. package/lib/provenance_lane_contract.js +54 -54
  196. package/lib/provider_lane_contract.js +67 -67
  197. package/lib/public_surface_policy_contract.js +111 -0
  198. package/lib/publish_plan.js +51 -51
  199. package/lib/release_candidate.js +50 -50
  200. package/lib/release_center.js +1037 -1037
  201. package/lib/release_history.js +206 -206
  202. package/lib/release_manifest.js +114 -114
  203. package/lib/release_pack.js +391 -391
  204. package/lib/result_package_trust_lane_contract.js +74 -74
  205. package/lib/review_intelligence.js +100 -100
  206. package/lib/role_freeze.js +436 -436
  207. package/lib/shared_signals_lane_contract.js +54 -54
  208. package/lib/signed_audit_provenance_contract.js +93 -0
  209. package/lib/telemetry_lane_contract.js +54 -54
  210. package/lib/treasury_proof_lane_contract.js +83 -83
  211. package/lib/trust_intelligence.js +106 -106
  212. package/lib/trust_portability_boundary_contract.js +66 -0
  213. package/lib/trust_portability_pack.js +224 -224
  214. package/lib/verification_service_pack.js +149 -149
  215. package/package.json +97 -95
  216. package/proof_sdk.js +6265 -6265
  217. package/reference/python/README.md +35 -35
  218. package/reference/python/requirements-optional.txt +1 -1
  219. package/reference/python/verify_vectors.py +223 -223
  220. package/reference/python/xnya_reference.py +810 -810
  221. package/reference/rust/Cargo.toml +11 -11
  222. package/reference/rust/README.md +28 -28
  223. package/reference/rust/src/lib.rs +87 -87
  224. package/scripts/registry_cli.js +157 -157
  225. package/scripts/verify_all.js +603 -603
  226. package/scripts/verify_control_plane_contracts.js +34 -0
  227. package/scripts/verify_control_plane_routes.js +70 -0
  228. package/scripts/verify_examples.js +19 -19
  229. package/scripts/verify_external_proof_import_gate.js +84 -84
  230. package/scripts/verify_integrations.js +170 -170
  231. package/scripts/verify_native_hybrid_design_gate.js +114 -114
  232. package/scripts/verify_reference_promotion_gate.js +74 -74
  233. package/scripts/verify_reference_python.js +49 -49
  234. package/scripts/verify_reference_python_crypto.js +87 -87
  235. package/scripts/verify_reference_rust_scaffold.js +50 -50
  236. package/scripts/verify_release_candidate.js +131 -131
  237. package/scripts/verify_service.js +2940 -2940
  238. package/scripts/verify_tooling.js +1251 -1251
  239. package/scripts/verify_trust_portability.js +56 -56
  240. package/scripts/verify_vectors.js +192 -192
  241. package/scripts/verify_verification_services.js +56 -56
  242. package/server.js +4099 -3997
  243. package/vectors/adversarial-vectors.json +552 -552
  244. package/vectors/conformance-vectors.json +446 -446
  245. package/vectors/native-atom-vectors.json +101 -101
  246. package/vectors/native-payload-profile-vectors.json +50 -50
@@ -1,68 +1,68 @@
1
- "use strict";
2
-
3
- const assert = require("assert");
4
- const { createServer } = require("../server");
5
-
6
- async function fetchJson(url, options) {
7
- const response = await fetch(url, options);
8
- assert.strictEqual(response.ok, true, `request failed: ${url}`);
9
- return response.json();
10
- }
11
-
12
- async function postJson(url, body) {
13
- return fetchJson(url, {
14
- method: "POST",
15
- headers: {
16
- "content-type": "application/json"
17
- },
18
- body: JSON.stringify(body)
19
- });
20
- }
21
-
22
- async function main() {
23
- const server = createServer();
24
- await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
25
- const address = server.address();
26
- const baseUrl = `http://127.0.0.1:${address.port}`;
27
-
28
- try {
29
- const releaseCenterSummary = await fetchJson(`${baseUrl}/v1/release-center/summary`);
30
- assert.strictEqual(typeof releaseCenterSummary.category, "string", "release-center summary category missing");
31
-
32
- const proofCenterSummary = await fetchJson(`${baseUrl}/v1/proof-center/summary`);
33
- assert.strictEqual(typeof proofCenterSummary.proof_bundle_version, "string", "proof-center summary missing");
34
-
35
- const handoffReview = await postJson(`${baseUrl}/v1/proof-center/result-package-handoff/review/summary`, {
36
- handoff_bundle: {
37
- result_package_ref: "result.spine.job.commitment",
38
- source_ref: "spine.job.commitment",
39
- transaction_id: "txn-partner-proof-1",
40
- receipt_id: "rcpt-partner-proof-1",
41
- proof_ref: "memory://partner-proof-1",
42
- committed_ref: "transaction.job.commitment",
43
- precommit_pack_ref: "precommit.job.commitment.readiness",
44
- payment_protocol: "x402",
45
- settlement_mode: "evm_payment",
46
- treasury_destination_id: "treasury_acct_demo",
47
- task_refs: ["jobs.quote", "admission.preview", "jobs.reserve", "jobs.commit"],
48
- seam_layers: ["execution_consequence", "payment_settlement_treasury", "proof_handoff"]
49
- }
50
- });
51
- assert.strictEqual(typeof handoffReview.review_ref, "string", "handoff review ref missing");
52
- assert.strictEqual(handoffReview.run_ready, true, "handoff review run readiness missing");
53
-
54
- const integrationReadiness = await fetchJson(`${baseUrl}/v1/integrations/promotion-readiness`);
55
- assert.strictEqual(integrationReadiness.ok, true, "integration readiness summary missing");
56
-
57
- console.log("xoonya partner proof walkthrough passed");
58
- } finally {
59
- await new Promise((resolve, reject) => {
60
- server.close((error) => (error ? reject(error) : resolve()));
61
- });
62
- }
63
- }
64
-
65
- main().catch((error) => {
66
- console.error(error);
67
- process.exitCode = 1;
68
- });
1
+ "use strict";
2
+
3
+ const assert = require("assert");
4
+ const { createServer } = require("../server");
5
+
6
+ async function fetchJson(url, options) {
7
+ const response = await fetch(url, options);
8
+ assert.strictEqual(response.ok, true, `request failed: ${url}`);
9
+ return response.json();
10
+ }
11
+
12
+ async function postJson(url, body) {
13
+ return fetchJson(url, {
14
+ method: "POST",
15
+ headers: {
16
+ "content-type": "application/json"
17
+ },
18
+ body: JSON.stringify(body)
19
+ });
20
+ }
21
+
22
+ async function main() {
23
+ const server = createServer();
24
+ await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
25
+ const address = server.address();
26
+ const baseUrl = `http://127.0.0.1:${address.port}`;
27
+
28
+ try {
29
+ const releaseCenterSummary = await fetchJson(`${baseUrl}/v1/release-center/summary`);
30
+ assert.strictEqual(typeof releaseCenterSummary.category, "string", "release-center summary category missing");
31
+
32
+ const proofCenterSummary = await fetchJson(`${baseUrl}/v1/proof-center/summary`);
33
+ assert.strictEqual(typeof proofCenterSummary.proof_bundle_version, "string", "proof-center summary missing");
34
+
35
+ const handoffReview = await postJson(`${baseUrl}/v1/proof-center/result-package-handoff/review/summary`, {
36
+ handoff_bundle: {
37
+ result_package_ref: "result.spine.job.commitment",
38
+ source_ref: "spine.job.commitment",
39
+ transaction_id: "txn-partner-proof-1",
40
+ receipt_id: "rcpt-partner-proof-1",
41
+ proof_ref: "memory://partner-proof-1",
42
+ committed_ref: "transaction.job.commitment",
43
+ precommit_pack_ref: "precommit.job.commitment.readiness",
44
+ payment_protocol: "x402",
45
+ settlement_mode: "evm_payment",
46
+ treasury_destination_id: "treasury_acct_demo",
47
+ task_refs: ["jobs.quote", "admission.preview", "jobs.reserve", "jobs.commit"],
48
+ seam_layers: ["execution_consequence", "payment_settlement_treasury", "proof_handoff"]
49
+ }
50
+ });
51
+ assert.strictEqual(typeof handoffReview.review_ref, "string", "handoff review ref missing");
52
+ assert.strictEqual(handoffReview.run_ready, true, "handoff review run readiness missing");
53
+
54
+ const integrationReadiness = await fetchJson(`${baseUrl}/v1/integrations/promotion-readiness`);
55
+ assert.strictEqual(integrationReadiness.ok, true, "integration readiness summary missing");
56
+
57
+ console.log("xoonya partner proof walkthrough passed");
58
+ } finally {
59
+ await new Promise((resolve, reject) => {
60
+ server.close((error) => (error ? reject(error) : resolve()));
61
+ });
62
+ }
63
+ }
64
+
65
+ main().catch((error) => {
66
+ console.error(error);
67
+ process.exitCode = 1;
68
+ });
@@ -1,66 +1,66 @@
1
- "use strict";
2
-
3
- const assert = require("assert");
4
- const { createServer } = require("../server");
5
-
6
- async function fetchJson(url, options) {
7
- const response = await fetch(url, options);
8
- assert.strictEqual(response.ok, true, `request failed: ${url}`);
9
- return response.json();
10
- }
11
-
12
- async function postJson(url, body) {
13
- return fetchJson(url, {
14
- method: "POST",
15
- headers: {
16
- "content-type": "application/json"
17
- },
18
- body: JSON.stringify(body)
19
- });
20
- }
21
-
22
- function createHandoffBundle() {
23
- return {
24
- result_package_ref: "result.spine.job.commitment",
25
- source_ref: "spine.job.commitment",
26
- transaction_id: "txn-proof-review-demo-1",
27
- receipt_id: "rcpt-proof-review-demo-1",
28
- proof_ref: "memory://proof-review-demo-1",
29
- committed_ref: "transaction.job.commitment",
30
- precommit_pack_ref: "precommit.job.commitment.readiness",
31
- payment_protocol: "x402",
32
- settlement_mode: "evm_payment",
33
- treasury_destination_id: "treasury_acct_demo",
34
- task_refs: ["jobs.quote", "admission.preview", "jobs.reserve", "jobs.commit"],
35
- seam_layers: ["execution_consequence", "payment_settlement_treasury", "proof_handoff"]
36
- };
37
- }
38
-
39
- async function main() {
40
- const server = createServer();
41
- await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
42
- const { port } = server.address();
43
- const baseUrl = `http://127.0.0.1:${port}`;
44
-
45
- try {
46
- const review = await postJson(`${baseUrl}/v1/proof-center/result-package-handoff/review/summary`, {
47
- handoff_bundle: createHandoffBundle()
48
- });
49
- assert.strictEqual(typeof review.review_ref, "string", "review summary missing");
50
- assert.strictEqual(review.run_ready, true, "review should be run-ready");
51
-
52
- const bridgeSummary = await postJson(`${baseUrl}/v1/proof-center/result-package-handoff/review/bridge-summary`, {
53
- handoff_bundle: createHandoffBundle()
54
- });
55
- assert.strictEqual(typeof bridgeSummary.adapter_bridge_ref, "string", "bridge summary missing");
56
-
57
- console.log("xoonya proof review walkthrough passed");
58
- } finally {
59
- await new Promise((resolve, reject) => server.close((error) => (error ? reject(error) : resolve())));
60
- }
61
- }
62
-
63
- main().catch((error) => {
64
- console.error(error);
65
- process.exitCode = 1;
66
- });
1
+ "use strict";
2
+
3
+ const assert = require("assert");
4
+ const { createServer } = require("../server");
5
+
6
+ async function fetchJson(url, options) {
7
+ const response = await fetch(url, options);
8
+ assert.strictEqual(response.ok, true, `request failed: ${url}`);
9
+ return response.json();
10
+ }
11
+
12
+ async function postJson(url, body) {
13
+ return fetchJson(url, {
14
+ method: "POST",
15
+ headers: {
16
+ "content-type": "application/json"
17
+ },
18
+ body: JSON.stringify(body)
19
+ });
20
+ }
21
+
22
+ function createHandoffBundle() {
23
+ return {
24
+ result_package_ref: "result.spine.job.commitment",
25
+ source_ref: "spine.job.commitment",
26
+ transaction_id: "txn-proof-review-demo-1",
27
+ receipt_id: "rcpt-proof-review-demo-1",
28
+ proof_ref: "memory://proof-review-demo-1",
29
+ committed_ref: "transaction.job.commitment",
30
+ precommit_pack_ref: "precommit.job.commitment.readiness",
31
+ payment_protocol: "x402",
32
+ settlement_mode: "evm_payment",
33
+ treasury_destination_id: "treasury_acct_demo",
34
+ task_refs: ["jobs.quote", "admission.preview", "jobs.reserve", "jobs.commit"],
35
+ seam_layers: ["execution_consequence", "payment_settlement_treasury", "proof_handoff"]
36
+ };
37
+ }
38
+
39
+ async function main() {
40
+ const server = createServer();
41
+ await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
42
+ const { port } = server.address();
43
+ const baseUrl = `http://127.0.0.1:${port}`;
44
+
45
+ try {
46
+ const review = await postJson(`${baseUrl}/v1/proof-center/result-package-handoff/review/summary`, {
47
+ handoff_bundle: createHandoffBundle()
48
+ });
49
+ assert.strictEqual(typeof review.review_ref, "string", "review summary missing");
50
+ assert.strictEqual(review.run_ready, true, "review should be run-ready");
51
+
52
+ const bridgeSummary = await postJson(`${baseUrl}/v1/proof-center/result-package-handoff/review/bridge-summary`, {
53
+ handoff_bundle: createHandoffBundle()
54
+ });
55
+ assert.strictEqual(typeof bridgeSummary.adapter_bridge_ref, "string", "bridge summary missing");
56
+
57
+ console.log("xoonya proof review walkthrough passed");
58
+ } finally {
59
+ await new Promise((resolve, reject) => server.close((error) => (error ? reject(error) : resolve())));
60
+ }
61
+ }
62
+
63
+ main().catch((error) => {
64
+ console.error(error);
65
+ process.exitCode = 1;
66
+ });
@@ -1,72 +1,72 @@
1
- "use strict";
2
-
3
- const assert = require("assert");
4
- const fs = require("fs");
5
- const path = require("path");
6
- const proof = require("../index.js");
7
-
8
- function parseInputPath(argv) {
9
- const args = Array.isArray(argv) ? argv : [];
10
- for (let index = 0; index < args.length; index += 1) {
11
- if (args[index] === "--file" && args[index + 1]) {
12
- return path.resolve(process.cwd(), args[index + 1]);
13
- }
14
- }
15
- return null;
16
- }
17
-
18
- function buildDefaultInput() {
19
- return {
20
- handoff_bundle: {
21
- result_package_ref: "result.spine.job.commitment",
22
- source_ref: "spine.job.commitment",
23
- transaction_id: "txn-carried-handoff-demo-1",
24
- receipt_id: "txn-carried-handoff-demo-receipt-1",
25
- proof_ref: "memory://proof-demo/carried-handoff",
26
- committed_ref: "transaction.job.commitment",
27
- precommit_pack_ref: "precommit.job.commitment.readiness",
28
- payment_protocol: "x402",
29
- settlement_mode: "bsv_teranode",
30
- treasury_destination_id: "treasury_acct_demo",
31
- task_refs: ["jobs.quote", "admission.preview", "jobs.reserve", "jobs.commit"],
32
- seam_layers: ["execution_consequence", "payment_settlement_treasury", "proof_handoff"]
33
- }
34
- };
35
- }
36
-
37
- function loadInput(inputPath) {
38
- if (!inputPath) {
39
- return buildDefaultInput();
40
- }
41
- return JSON.parse(fs.readFileSync(inputPath, "utf8"));
42
- }
43
-
44
- function main() {
45
- const inputPath = parseInputPath(process.argv.slice(2));
46
- const input = loadInput(inputPath);
47
- const reviewSummary = proof.summarizeReviewedInteractionResultPackageHandoff(input);
48
- const runResult = proof.runInteractionResultPackageHandoff({
49
- ...input,
50
- options: {
51
- legacy_identity_material_hex: "aa11bb22cc33dd44"
52
- }
53
- });
54
-
55
- assert.strictEqual(reviewSummary.ok, true, "review summary missing");
56
- assert.strictEqual(reviewSummary.run_ready, true, "review summary should be run-ready");
57
- assert.strictEqual(runResult.ok, true, "proof run missing");
58
- assert.strictEqual(runResult.bundle_verification.valid, true, "proof bundle verification failed");
59
-
60
- process.stdout.write(JSON.stringify({
61
- ok: true,
62
- input_file: inputPath,
63
- result_package_ref: reviewSummary.result_package_ref,
64
- review_ref: reviewSummary.review_ref,
65
- run_ready: reviewSummary.run_ready,
66
- next_surface: reviewSummary.next_surface,
67
- proof_bundle_version: runResult.proof_bundle.proof_bundle_version,
68
- bundle_valid: runResult.bundle_verification.valid
69
- }, null, 2));
70
- }
71
-
72
- main();
1
+ "use strict";
2
+
3
+ const assert = require("assert");
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+ const proof = require("../index.js");
7
+
8
+ function parseInputPath(argv) {
9
+ const args = Array.isArray(argv) ? argv : [];
10
+ for (let index = 0; index < args.length; index += 1) {
11
+ if (args[index] === "--file" && args[index + 1]) {
12
+ return path.resolve(process.cwd(), args[index + 1]);
13
+ }
14
+ }
15
+ return null;
16
+ }
17
+
18
+ function buildDefaultInput() {
19
+ return {
20
+ handoff_bundle: {
21
+ result_package_ref: "result.spine.job.commitment",
22
+ source_ref: "spine.job.commitment",
23
+ transaction_id: "txn-carried-handoff-demo-1",
24
+ receipt_id: "txn-carried-handoff-demo-receipt-1",
25
+ proof_ref: "memory://proof-demo/carried-handoff",
26
+ committed_ref: "transaction.job.commitment",
27
+ precommit_pack_ref: "precommit.job.commitment.readiness",
28
+ payment_protocol: "x402",
29
+ settlement_mode: "bsv_teranode",
30
+ treasury_destination_id: "treasury_acct_demo",
31
+ task_refs: ["jobs.quote", "admission.preview", "jobs.reserve", "jobs.commit"],
32
+ seam_layers: ["execution_consequence", "payment_settlement_treasury", "proof_handoff"]
33
+ }
34
+ };
35
+ }
36
+
37
+ function loadInput(inputPath) {
38
+ if (!inputPath) {
39
+ return buildDefaultInput();
40
+ }
41
+ return JSON.parse(fs.readFileSync(inputPath, "utf8"));
42
+ }
43
+
44
+ function main() {
45
+ const inputPath = parseInputPath(process.argv.slice(2));
46
+ const input = loadInput(inputPath);
47
+ const reviewSummary = proof.summarizeReviewedInteractionResultPackageHandoff(input);
48
+ const runResult = proof.runInteractionResultPackageHandoff({
49
+ ...input,
50
+ options: {
51
+ legacy_identity_material_hex: "aa11bb22cc33dd44"
52
+ }
53
+ });
54
+
55
+ assert.strictEqual(reviewSummary.ok, true, "review summary missing");
56
+ assert.strictEqual(reviewSummary.run_ready, true, "review summary should be run-ready");
57
+ assert.strictEqual(runResult.ok, true, "proof run missing");
58
+ assert.strictEqual(runResult.bundle_verification.valid, true, "proof bundle verification failed");
59
+
60
+ process.stdout.write(JSON.stringify({
61
+ ok: true,
62
+ input_file: inputPath,
63
+ result_package_ref: reviewSummary.result_package_ref,
64
+ review_ref: reviewSummary.review_ref,
65
+ run_ready: reviewSummary.run_ready,
66
+ next_surface: reviewSummary.next_surface,
67
+ proof_bundle_version: runResult.proof_bundle.proof_bundle_version,
68
+ bundle_valid: runResult.bundle_verification.valid
69
+ }, null, 2));
70
+ }
71
+
72
+ main();
package/index.js CHANGED
@@ -1,22 +1,31 @@
1
- "use strict";
2
-
3
- module.exports = {
4
- ...require("./proof_sdk"),
5
- ...require("./integrations/registry"),
6
- ...require("./lib/verification_service_pack"),
7
- ...require("./lib/trust_portability_pack"),
8
- ...require("./lib/proof_truth_contract"),
9
- ...require("./lib/default_path_contract"),
10
- ...require("./lib/followthrough_truth_contract"),
11
- ...require("./lib/governance_disputes_summary"),
12
- ...require("./lib/release_pack"),
13
- ...require("./lib/release_manifest"),
14
- ...require("./lib/release_center"),
15
- ...require("./lib/release_history"),
16
- ...require("./lib/publish_plan"),
17
- ...require("./lib/ecosystem_entry"),
18
- ...require("./lib/launch_narrative"),
19
- ...require("./lib/outreach_proof"),
20
- ...require("./lib/announcement_pack"),
21
- ...require("./lib/release_candidate")
22
- };
1
+ "use strict";
2
+
3
+ module.exports = {
4
+ ...require("./proof_sdk"),
5
+ ...require("./integrations/registry"),
6
+ ...require("./lib/verification_service_pack"),
7
+ ...require("./lib/trust_portability_pack"),
8
+ ...require("./lib/proof_truth_contract"),
9
+ ...require("./lib/operational_receipt_contract"),
10
+ ...require("./lib/machine_identity_registry_contract"),
11
+ ...require("./lib/crypto_agility_matrix"),
12
+ ...require("./lib/authority_binding_lifecycle_contract"),
13
+ ...require("./lib/public_surface_policy_contract"),
14
+ ...require("./lib/offline_verifiability_recovery_contract"),
15
+ ...require("./lib/adapter_certification_contract"),
16
+ ...require("./lib/trust_portability_boundary_contract"),
17
+ ...require("./lib/signed_audit_provenance_contract"),
18
+ ...require("./lib/default_path_contract"),
19
+ ...require("./lib/followthrough_truth_contract"),
20
+ ...require("./lib/governance_disputes_summary"),
21
+ ...require("./lib/release_pack"),
22
+ ...require("./lib/release_manifest"),
23
+ ...require("./lib/release_center"),
24
+ ...require("./lib/release_history"),
25
+ ...require("./lib/publish_plan"),
26
+ ...require("./lib/ecosystem_entry"),
27
+ ...require("./lib/launch_narrative"),
28
+ ...require("./lib/outreach_proof"),
29
+ ...require("./lib/announcement_pack"),
30
+ ...require("./lib/release_candidate")
31
+ };
@@ -1,45 +1,45 @@
1
- # Proof Integration Process
2
-
3
- This note captures the lighter third-party path for `xoonya`.
4
-
5
- `xoonya` is not a commerce registry. Its integration model is intentionally narrower.
6
-
7
- ## Goal
8
-
9
- Allow proof-adjacent integrations to be registered, inspected, and exported without letting pricing, workflow, or settlement logic leak into the proof kernel.
10
-
11
- ## Typical proof-side integrations
12
-
13
- - identity-material providers
14
- - proof-bundle reference adapters
15
- - profile verification helpers
16
- - external verifier references
17
-
18
- ## Recommended flow
19
-
20
- 1. Define the proof-adjacent integration boundary.
21
- 2. Create the registration record.
22
- 3. Validate registration posture locally.
23
- 4. Export a filtered snapshot when you need a reviewable proof-side state view.
24
- 5. Treat promotion posture as explicit review data, not as an assumption.
25
-
26
- ## Local commands
27
-
28
- From a cloned `xoonya` repo:
29
-
30
- ```bash
31
- node scripts/registry_cli.js validate-registration --example verifier
32
- node scripts/registry_cli.js export-snapshot --registration_state staging_registered
33
- node scripts/registry_cli.js promotion-readiness --integration verifier.bundle.reference
34
- ```
35
-
36
- ## Posture rules
37
-
38
- - staged proof integrations can be visible
39
- - staged proof integrations can be review-ready
40
- - staged proof integrations should not become default by accident
41
- - blockers should be returned as data
42
-
43
- ## Boundary rule
44
-
45
- If a proposed proof-side integration needs workflow, pricing, payment, or settlement semantics to make sense, it probably belongs in `xytara`, not `xoonya`.
1
+ # Proof Integration Process
2
+
3
+ This note captures the lighter third-party path for `xoonya`.
4
+
5
+ `xoonya` is not a commerce registry. Its integration model is intentionally narrower.
6
+
7
+ ## Goal
8
+
9
+ Allow proof-adjacent integrations to be registered, inspected, and exported without letting pricing, workflow, or settlement logic leak into the proof kernel.
10
+
11
+ ## Typical proof-side integrations
12
+
13
+ - identity-material providers
14
+ - proof-bundle reference adapters
15
+ - profile verification helpers
16
+ - external verifier references
17
+
18
+ ## Recommended flow
19
+
20
+ 1. Define the proof-adjacent integration boundary.
21
+ 2. Create the registration record.
22
+ 3. Validate registration posture locally.
23
+ 4. Export a filtered snapshot when you need a reviewable proof-side state view.
24
+ 5. Treat promotion posture as explicit review data, not as an assumption.
25
+
26
+ ## Local commands
27
+
28
+ From a cloned `xoonya` repo:
29
+
30
+ ```bash
31
+ node scripts/registry_cli.js validate-registration --example verifier
32
+ node scripts/registry_cli.js export-snapshot --registration_state staging_registered
33
+ node scripts/registry_cli.js promotion-readiness --integration verifier.bundle.reference
34
+ ```
35
+
36
+ ## Posture rules
37
+
38
+ - staged proof integrations can be visible
39
+ - staged proof integrations can be review-ready
40
+ - staged proof integrations should not become default by accident
41
+ - blockers should be returned as data
42
+
43
+ ## Boundary rule
44
+
45
+ If a proposed proof-side integration needs workflow, pricing, payment, or settlement semantics to make sense, it probably belongs in `xytara`, not `xoonya`.
@@ -1,22 +1,22 @@
1
- {
2
- "integration_id": "partner.verifier.lattice_notary",
3
- "integration_class": "verification_helper_adapter",
4
- "proof_scope": "profile_verification",
5
- "registration_state": "staging_registered",
6
- "integration_maturity": "staging_candidate",
7
- "certification_state": "self_attested",
8
- "bundled": false,
9
- "default_selection_enabled": false,
10
- "requires_explicit_selection": true,
11
- "registered_at": "2026-03-20T00:00:00Z",
12
- "registered_by": "partner:lattice-labs",
13
- "verified_with": [
14
- "schema_conformance",
15
- "profile_verification_smoke"
16
- ],
17
- "certification_scope": [
18
- "self_attested_contract_shape",
19
- "staging_profile_smoke"
20
- ],
21
- "notes": "Reference staged verifier registration for proof-side import and discovery validation."
22
- }
1
+ {
2
+ "integration_id": "partner.verifier.lattice_notary",
3
+ "integration_class": "verification_helper_adapter",
4
+ "proof_scope": "profile_verification",
5
+ "registration_state": "staging_registered",
6
+ "integration_maturity": "staging_candidate",
7
+ "certification_state": "self_attested",
8
+ "bundled": false,
9
+ "default_selection_enabled": false,
10
+ "requires_explicit_selection": true,
11
+ "registered_at": "2026-03-20T00:00:00Z",
12
+ "registered_by": "partner:lattice-labs",
13
+ "verified_with": [
14
+ "schema_conformance",
15
+ "profile_verification_smoke"
16
+ ],
17
+ "certification_scope": [
18
+ "self_attested_contract_shape",
19
+ "staging_profile_smoke"
20
+ ],
21
+ "notes": "Reference staged verifier registration for proof-side import and discovery validation."
22
+ }