xoonya 3.1.17 → 3.2.1

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 (240) hide show
  1. package/README.md +97 -74
  2. package/RELEASE_NOTES.md +1 -1
  3. package/START_HERE.md +38 -134
  4. package/bin/xoonya-first-run.js +22 -10
  5. package/bin/xoonya.js +61 -29
  6. package/lib/native_verify.js +1918 -0
  7. package/package.json +19 -42
  8. package/scripts/verify_release_candidate.js +243 -116
  9. package/scripts/verify_vectors.js +351 -104
  10. package/verify.js +95 -0
  11. package/.env.example +0 -10
  12. package/CARRIED_HANDOFF_DEMO.md +0 -60
  13. package/COMPATIBILITY_NOTE.md +0 -27
  14. package/CROSS_RUNTIME_POSTURE.md +0 -77
  15. package/EXAMPLE_PATHS.md +0 -53
  16. package/FINAL_CONTRACT.md +0 -445
  17. package/PARTNER_READY_PATH.md +0 -67
  18. package/PUBLIC_DEMO_SCRIPT.md +0 -79
  19. package/SERVICE_CONTRACT.md +0 -207
  20. package/TERMINOLOGY.md +0 -55
  21. package/WHY_XYTARA_XOONYA.md +0 -43
  22. package/XNYA_CONFORMANCE_MARK.md +0 -78
  23. package/XNYA_REFERENCE_IMPLEMENTATIONS.md +0 -157
  24. package/XOONYA_DEFAULT_PATH_MODEL.md +0 -63
  25. package/XOONYA_FOLLOWTHROUGH_TRUTH_MODEL.md +0 -63
  26. package/XOONYA_NATIVE_ATOM_SPEC.md +0 -184
  27. package/XOONYA_NATIVE_PROOF_FORMAT.md +0 -570
  28. package/XOONYA_NATIVE_STANDARD_GOVERNANCE.md +0 -119
  29. package/XOONYA_PROOF_TRUTH_MODEL.md +0 -58
  30. package/bin/xoonya-release.js +0 -1367
  31. package/bin/xoonya-review.js +0 -70
  32. package/examples/integration_boundary_walkthrough.js +0 -37
  33. package/examples/package_quickstart.js +0 -1007
  34. package/examples/partner_proof_walkthrough.js +0 -68
  35. package/examples/proof_review_walkthrough.js +0 -66
  36. package/examples/review_carried_handoff.js +0 -72
  37. package/index.js +0 -31
  38. package/integrations/PROOF_INTEGRATION_PROCESS.md +0 -45
  39. package/integrations/examples/example-third-party-verifier-registration.record.json +0 -22
  40. package/integrations/registration-record.schema.json +0 -99
  41. package/integrations/registry-snapshot.schema.json +0 -36
  42. package/integrations/registry.js +0 -636
  43. package/integrations/views.js +0 -36
  44. package/lib/adapter_certification_contract.js +0 -90
  45. package/lib/announcement_pack.js +0 -61
  46. package/lib/artifact_distribution_lane_contract.js +0 -54
  47. package/lib/asyncapi_contract.js +0 -135
  48. package/lib/auth_interop_contract.js +0 -69
  49. package/lib/authority_binding_lifecycle_contract.js +0 -182
  50. package/lib/bridge_intelligence.js +0 -102
  51. package/lib/cloudevents_contract.js +0 -79
  52. package/lib/crypto_agility_matrix.js +0 -131
  53. package/lib/default_path_contract.js +0 -380
  54. package/lib/ecosystem_entry.js +0 -64
  55. package/lib/erc8004_proof_lane_contract.js +0 -64
  56. package/lib/event_system_lane_contract.js +0 -76
  57. package/lib/external_proof_import_lane_contract.js +0 -87
  58. package/lib/feature_control_lane_contract.js +0 -54
  59. package/lib/followthrough_truth_contract.js +0 -214
  60. package/lib/framework_lane_contract.js +0 -76
  61. package/lib/governance_disputes_summary.js +0 -36
  62. package/lib/governance_intelligence.js +0 -108
  63. package/lib/identity_interop_contract.js +0 -83
  64. package/lib/integration_matrix_contract.js +0 -81
  65. package/lib/launch_narrative.js +0 -53
  66. package/lib/machine_identity_registry_contract.js +0 -199
  67. package/lib/major_rails_proof_lane_contract.js +0 -87
  68. package/lib/offline_verifiability_recovery_contract.js +0 -155
  69. package/lib/openapi_contract.js +0 -227
  70. package/lib/operational_receipt_contract.js +0 -165
  71. package/lib/outreach_proof.js +0 -71
  72. package/lib/phase_10_closeout_pack.js +0 -45
  73. package/lib/phase_10_completion_pack.js +0 -76
  74. package/lib/phase_10_decision_record_pack.js +0 -54
  75. package/lib/phase_10_decision_resolution_pack.js +0 -53
  76. package/lib/phase_10_demand_signal_adapters_proof_pack.js +0 -74
  77. package/lib/phase_10_ecosystem_backlog_triage_proof_pack.js +0 -74
  78. package/lib/phase_10_freeze_baseline_pack.js +0 -67
  79. package/lib/phase_10_freeze_review_pack.js +0 -64
  80. package/lib/phase_10_gate_pack.js +0 -57
  81. package/lib/phase_10_long_tail_continuity_pack.js +0 -80
  82. package/lib/phase_10_long_tail_ecosystem_pack.js +0 -68
  83. package/lib/phase_10_niche_extension_registry_proof_pack.js +0 -74
  84. package/lib/phase_1_claude_mcp_pack.js +0 -60
  85. package/lib/phase_1_claude_mcp_proof_pack.js +0 -57
  86. package/lib/phase_1_ecosystem_pack.js +0 -51
  87. package/lib/phase_1_openai_codex_pack.js +0 -60
  88. package/lib/phase_1_openai_codex_proof_pack.js +0 -57
  89. package/lib/phase_2_base_proof_pack.js +0 -71
  90. package/lib/phase_2_base_usdc_proof_pack.js +0 -72
  91. package/lib/phase_2_closeout_pack.js +0 -65
  92. package/lib/phase_2_completion_pack.js +0 -113
  93. package/lib/phase_2_decision_record_pack.js +0 -66
  94. package/lib/phase_2_decision_resolution_pack.js +0 -69
  95. package/lib/phase_2_eth_proof_pack.js +0 -70
  96. package/lib/phase_2_evm_base_proof_pack.js +0 -73
  97. package/lib/phase_2_evm_proof_pack.js +0 -71
  98. package/lib/phase_2_flip_preview_pack.js +0 -60
  99. package/lib/phase_2_freeze_review_pack.js +0 -99
  100. package/lib/phase_2_gate_pack.js +0 -77
  101. package/lib/phase_2_payment_rails_pack.js +0 -71
  102. package/lib/phase_2_usdc_proof_pack.js +0 -71
  103. package/lib/phase_3_brc_proof_pack.js +0 -81
  104. package/lib/phase_3_bsv_teranode_proof_pack.js +0 -81
  105. package/lib/phase_3_closeout_pack.js +0 -62
  106. package/lib/phase_3_completion_pack.js +0 -92
  107. package/lib/phase_3_decision_record_pack.js +0 -64
  108. package/lib/phase_3_decision_resolution_pack.js +0 -69
  109. package/lib/phase_3_freeze_baseline_pack.js +0 -67
  110. package/lib/phase_3_freeze_review_pack.js +0 -80
  111. package/lib/phase_3_gate_pack.js +0 -76
  112. package/lib/phase_3_metanet_proof_pack.js +0 -81
  113. package/lib/phase_3_native_bsv_pack.js +0 -89
  114. package/lib/phase_3_native_continuity_pack.js +0 -82
  115. package/lib/phase_4_attestation_proof_pack.js +0 -75
  116. package/lib/phase_4_closeout_pack.js +0 -45
  117. package/lib/phase_4_completion_pack.js +0 -82
  118. package/lib/phase_4_decision_record_pack.js +0 -54
  119. package/lib/phase_4_decision_resolution_pack.js +0 -45
  120. package/lib/phase_4_erc8004_proof_pack.js +0 -76
  121. package/lib/phase_4_freeze_baseline_pack.js +0 -67
  122. package/lib/phase_4_freeze_review_pack.js +0 -68
  123. package/lib/phase_4_gate_pack.js +0 -58
  124. package/lib/phase_4_identity_registry_proof_pack.js +0 -75
  125. package/lib/phase_4_identity_trust_pack.js +0 -73
  126. package/lib/phase_4_trust_continuity_pack.js +0 -86
  127. package/lib/phase_5_antelope_proof_pack.js +0 -76
  128. package/lib/phase_5_closeout_pack.js +0 -44
  129. package/lib/phase_5_completion_pack.js +0 -82
  130. package/lib/phase_5_decision_record_pack.js +0 -54
  131. package/lib/phase_5_decision_resolution_pack.js +0 -45
  132. package/lib/phase_5_freeze_baseline_pack.js +0 -67
  133. package/lib/phase_5_freeze_review_pack.js +0 -68
  134. package/lib/phase_5_gate_pack.js +0 -58
  135. package/lib/phase_5_major_rails_continuity_pack.js +0 -86
  136. package/lib/phase_5_major_rails_pack.js +0 -74
  137. package/lib/phase_5_proton_xpr_proof_pack.js +0 -76
  138. package/lib/phase_5_solana_proof_pack.js +0 -76
  139. package/lib/phase_6_autogen_proof_pack.js +0 -74
  140. package/lib/phase_6_closeout_pack.js +0 -46
  141. package/lib/phase_6_completion_pack.js +0 -77
  142. package/lib/phase_6_decision_record_pack.js +0 -54
  143. package/lib/phase_6_decision_resolution_pack.js +0 -53
  144. package/lib/phase_6_framework_continuity_pack.js +0 -81
  145. package/lib/phase_6_framework_runtime_pack.js +0 -68
  146. package/lib/phase_6_freeze_baseline_pack.js +0 -68
  147. package/lib/phase_6_freeze_review_pack.js +0 -65
  148. package/lib/phase_6_gate_pack.js +0 -59
  149. package/lib/phase_6_langchain_proof_pack.js +0 -74
  150. package/lib/phase_6_langgraph_proof_pack.js +0 -74
  151. package/lib/phase_6_semantic_kernel_proof_pack.js +0 -74
  152. package/lib/phase_7_closeout_pack.js +0 -45
  153. package/lib/phase_7_completion_pack.js +0 -85
  154. package/lib/phase_7_decision_record_pack.js +0 -53
  155. package/lib/phase_7_decision_resolution_pack.js +0 -53
  156. package/lib/phase_7_event_system_continuity_pack.js +0 -89
  157. package/lib/phase_7_event_system_pack.js +0 -76
  158. package/lib/phase_7_freeze_baseline_pack.js +0 -74
  159. package/lib/phase_7_freeze_review_pack.js +0 -65
  160. package/lib/phase_7_gate_pack.js +0 -58
  161. package/lib/phase_7_kafka_proof_pack.js +0 -76
  162. package/lib/phase_7_mqtt_proof_pack.js +0 -76
  163. package/lib/phase_7_nats_proof_pack.js +0 -76
  164. package/lib/phase_7_webhook_event_bus_proof_pack.js +0 -76
  165. package/lib/phase_8_closeout_pack.js +0 -46
  166. package/lib/phase_8_completion_pack.js +0 -82
  167. package/lib/phase_8_decision_record_pack.js +0 -54
  168. package/lib/phase_8_decision_resolution_pack.js +0 -53
  169. package/lib/phase_8_external_receipt_import_proof_pack.js +0 -74
  170. package/lib/phase_8_external_result_import_proof_pack.js +0 -74
  171. package/lib/phase_8_freeze_baseline_pack.js +0 -71
  172. package/lib/phase_8_freeze_review_pack.js +0 -64
  173. package/lib/phase_8_gate_pack.js +0 -58
  174. package/lib/phase_8_proof_bridge_continuity_pack.js +0 -86
  175. package/lib/phase_8_proof_bridges_pack.js +0 -72
  176. package/lib/phase_8_proof_bundle_normalization_proof_pack.js +0 -74
  177. package/lib/phase_9_closeout_pack.js +0 -46
  178. package/lib/phase_9_completion_pack.js +0 -82
  179. package/lib/phase_9_custody_refs_proof_pack.js +0 -74
  180. package/lib/phase_9_decision_record_pack.js +0 -54
  181. package/lib/phase_9_decision_resolution_pack.js +0 -53
  182. package/lib/phase_9_freeze_baseline_pack.js +0 -71
  183. package/lib/phase_9_freeze_review_pack.js +0 -64
  184. package/lib/phase_9_gate_pack.js +0 -58
  185. package/lib/phase_9_operator_accounting_bridges_proof_pack.js +0 -74
  186. package/lib/phase_9_treasury_connectivity_pack.js +0 -72
  187. package/lib/phase_9_treasury_continuity_pack.js +0 -86
  188. package/lib/phase_9_treasury_destinations_proof_pack.js +0 -74
  189. package/lib/phase_program_pack.js +0 -47
  190. package/lib/proof_bridge_lane_contract.js +0 -82
  191. package/lib/proof_truth_contract.js +0 -224
  192. package/lib/provenance_lane_contract.js +0 -54
  193. package/lib/provider_lane_contract.js +0 -67
  194. package/lib/public_surface_policy_contract.js +0 -111
  195. package/lib/publish_plan.js +0 -51
  196. package/lib/release_candidate.js +0 -50
  197. package/lib/release_center.js +0 -1037
  198. package/lib/release_history.js +0 -206
  199. package/lib/release_manifest.js +0 -114
  200. package/lib/release_pack.js +0 -391
  201. package/lib/result_package_trust_lane_contract.js +0 -74
  202. package/lib/review_intelligence.js +0 -100
  203. package/lib/role_freeze.js +0 -436
  204. package/lib/shared_signals_lane_contract.js +0 -54
  205. package/lib/signed_audit_provenance_contract.js +0 -93
  206. package/lib/telemetry_lane_contract.js +0 -54
  207. package/lib/treasury_proof_lane_contract.js +0 -83
  208. package/lib/trust_intelligence.js +0 -106
  209. package/lib/trust_portability_boundary_contract.js +0 -66
  210. package/lib/trust_portability_pack.js +0 -224
  211. package/lib/verification_service_pack.js +0 -149
  212. package/proof_sdk.js +0 -6692
  213. package/reference/python/README.md +0 -35
  214. package/reference/python/requirements-optional.txt +0 -1
  215. package/reference/python/verify_vectors.py +0 -223
  216. package/reference/python/xnya_reference.py +0 -810
  217. package/reference/rust/Cargo.toml +0 -11
  218. package/reference/rust/README.md +0 -28
  219. package/reference/rust/src/lib.rs +0 -87
  220. package/scripts/registry_cli.js +0 -157
  221. package/scripts/verify_all.js +0 -603
  222. package/scripts/verify_control_plane_contracts.js +0 -34
  223. package/scripts/verify_control_plane_routes.js +0 -70
  224. package/scripts/verify_examples.js +0 -19
  225. package/scripts/verify_external_proof_import_gate.js +0 -84
  226. package/scripts/verify_external_proof_signature.js +0 -142
  227. package/scripts/verify_forgery_resistance.js +0 -281
  228. package/scripts/verify_integrations.js +0 -170
  229. package/scripts/verify_native_hybrid_design_gate.js +0 -114
  230. package/scripts/verify_paid_execute.js +0 -133
  231. package/scripts/verify_paywall_flag.js +0 -86
  232. package/scripts/verify_reference_promotion_gate.js +0 -74
  233. package/scripts/verify_reference_python.js +0 -49
  234. package/scripts/verify_reference_python_crypto.js +0 -87
  235. package/scripts/verify_reference_rust_scaffold.js +0 -50
  236. package/scripts/verify_service.js +0 -3038
  237. package/scripts/verify_tooling.js +0 -1251
  238. package/scripts/verify_trust_portability.js +0 -56
  239. package/scripts/verify_verification_services.js +0 -56
  240. package/server.js +0 -4430
@@ -1,60 +0,0 @@
1
- # xoonya Carried Handoff Demo
2
-
3
- This is the shortest proof-side adoption story after the program closed.
4
-
5
- The goal is to take a carried result-package handoff from `xytara`, inspect it, and prove it.
6
-
7
- ## 1. Generate The Handoff In xytara
8
-
9
- From the `xytara` repo root, run:
10
-
11
- ```bash
12
- node examples/export_carried_handoff.js
13
- ```
14
-
15
- That writes:
16
-
17
- ```text
18
- examples/generated.carried-handoff.json
19
- ```
20
-
21
- ## 2. Review It In xoonya
22
-
23
- From the `xoonya` repo root, run:
24
-
25
- ```bash
26
- xoonya-review --file ../xytara/examples/generated.carried-handoff.json --summary
27
- ```
28
-
29
- This is the compact operator review path.
30
-
31
- ## 3. Run The Proof-Side Example
32
-
33
- To run the same carried handoff through the proof SDK:
34
-
35
- ```bash
36
- node examples/review_carried_handoff.js --file ../xytara/examples/generated.carried-handoff.json
37
- ```
38
-
39
- ## 4. Why This Matters
40
-
41
- This is the highest-signal end-to-end adoption path now:
42
-
43
- - runtime-side work ends in a portable handoff bundle
44
- - proof-side review is explicit and inspectable
45
- - proof-side continuation is deterministic instead of implicit
46
-
47
- ## 5. Related Surfaces
48
-
49
- Review:
50
-
51
- - `POST /v1/proof-center/result-package-handoff/review`
52
- - `POST /v1/proof-center/result-package-handoff/review/summary`
53
-
54
- Run:
55
-
56
- - `POST /v1/proof-center/result-package-handoff/run`
57
-
58
- Guided CLI:
59
-
60
- - `xoonya-review --file ./handoff.json --summary`
@@ -1,27 +0,0 @@
1
- # xoonya Compatibility Note
2
-
3
- `xoonya` is a first public contract built from private lineage.
4
-
5
- That means the current public center of gravity is:
6
-
7
- - `Canonical Event Bundle`
8
- - `Receipt`
9
- - `Proof Bundle`
10
-
11
- Older compact receipt and profile helpers remain available because they are useful support breadth, not because the public contract is required to center on them.
12
-
13
- Current retained compatibility helpers include:
14
-
15
- - `createReceipt(...)`
16
- - `verifyReceipt(...)`
17
- - `createReceiptV2(...)`
18
- - `verifyReceiptV2(...)`
19
- - `createProofEnvelopeV1(...)`
20
- - `verifyProofEnvelopeV1(...)`
21
- - profile verification helpers
22
-
23
- Public guidance:
24
-
25
- - use the canonical event and proof-bundle flow first
26
- - treat retained compact helpers as compatibility/support utilities
27
- - do not model new integrations as if the older helper lineage were the only public proof contract
@@ -1,77 +0,0 @@
1
- # xoonya Cross-Runtime Posture
2
-
3
- `xoonya` is intended to be reproducible across runtimes.
4
-
5
- The current reference implementation is Node.js, but the proof contract is designed so that:
6
-
7
- - canonical event normalization is explicit
8
- - hashing is deterministic
9
- - receipt derivation is deterministic
10
- - proof-bundle verification is deterministic
11
-
12
- ## Current reference runtime
13
-
14
- - Node.js `>=18`
15
-
16
- ## What is already explicit
17
-
18
- - canonical object ordering is defined by the proof implementation
19
- - event commitment is derived from canonical serialized event content
20
- - receipt IDs are derived from canonical receipt-signing material
21
- - proof-bundle verification checks deterministic structural invariants
22
-
23
- ## Current publication artifacts
24
-
25
- - `vectors/conformance-vectors.json`
26
- - `vectors/adversarial-vectors.json`
27
-
28
- These vectors are intended to be reusable by future implementations in other runtimes.
29
-
30
- ## Python candidate scaffold
31
-
32
- This repo now ships a Python candidate scaffold in `reference/python`.
33
-
34
- It is independent from the JavaScript implementation and can replay the XNYA atom, native atom adversarial, native payload profile, line-rate frame, canonical event, receipt, and non-signed proof-bundle vectors:
35
-
36
- ```bash
37
- npm run verify:reference-python
38
- ```
39
-
40
- This is not yet a full second reference implementation. It can verify Ed25519 native signed vectors when Python's optional `cryptography` package is installed; otherwise it proves the deterministic `native_signature_crypto_dependency_missing` boundary. It does not claim always-on native signature-suite cryptographic verification, secp256k1/P-256 parity, external proof import, or all native signed proof-bundle round-trip behavior.
41
-
42
- The crypto-enabled optional check is:
43
-
44
- ```bash
45
- npm run verify:reference-python-crypto
46
- ```
47
-
48
- That command creates a temporary isolated Python virtual environment, installs `reference/python/requirements-optional.txt`, and requires the Ed25519 native signed vector to verify.
49
-
50
- ## Rust candidate scaffold
51
-
52
- This repo also ships a source-only Rust candidate scaffold in `reference/rust`.
53
-
54
- ```bash
55
- npm run verify:reference-rust-scaffold
56
- ```
57
-
58
- That check verifies packaged scaffold files, XNYA atom constants, deterministic parser error-code names, and the `publish = false` boundary. It does not compile Rust or claim vector parity yet.
59
-
60
- ## Current limitation
61
-
62
- So the current cross-runtime posture is:
63
-
64
- - contract and vectors are published
65
- - Node.js reference behavior is enforced
66
- - Python atom/payload/frame, non-signed proof-bundle vector parity, and optional Ed25519 crypto-gated verification are implemented as a candidate scaffold
67
- - Rust source scaffold is packaged and boundary-checked, but not vector-verified
68
- - additional runtime implementations can now target the same vector sets
69
-
70
- ## Final release expectation
71
-
72
- Before calling the proof product fully closed, future implementations should be able to replay the published vectors and reach the same outcomes for:
73
-
74
- - canonical event commitments
75
- - receipt IDs
76
- - proof-bundle verification
77
- - adversarial rejection reasons where contractually stable
package/EXAMPLE_PATHS.md DELETED
@@ -1,53 +0,0 @@
1
- # xoonya Example Paths
2
-
3
- These are the recommended public examples for `xoonya`.
4
-
5
- ## Broad package tour
6
-
7
- Run:
8
-
9
- ```bash
10
- node examples/package_quickstart.js
11
- ```
12
-
13
- Use this when you want the widest proof-package walkthrough.
14
-
15
- ## Cross-repo carried handoff review
16
-
17
- Run:
18
-
19
- ```bash
20
- node examples/review_carried_handoff.js
21
- ```
22
-
23
- Use this when you want the clearest carried runtime-to-proof path.
24
-
25
- ## Partner proof walkthrough
26
-
27
- Run:
28
-
29
- ```bash
30
- node examples/partner_proof_walkthrough.js
31
- ```
32
-
33
- Use this when you want the shortest launch oriented proof story.
34
-
35
- ## Proof review walkthrough
36
-
37
- Run:
38
-
39
- ```bash
40
- node examples/proof_review_walkthrough.js
41
- ```
42
-
43
- Use this when you want the compact result-package review path.
44
-
45
- ## Integration boundary walkthrough
46
-
47
- Run:
48
-
49
- ```bash
50
- node examples/integration_boundary_walkthrough.js
51
- ```
52
-
53
- Use this when you want the narrow proof-integration boundary rather than the full package tour.
package/FINAL_CONTRACT.md DELETED
@@ -1,445 +0,0 @@
1
- # xoonya Final Contract
2
-
3
- ## Purpose
4
-
5
- `xoonya` is the neutral proof foundation for machine actions.
6
-
7
- It exists to make machine-action evidence:
8
-
9
- - deterministic
10
- - portable
11
- - minimal
12
- - verifiable
13
- - replayable
14
- - independent of payment rails, settlement systems, and workflow engines
15
-
16
- `xoonya` is not a commerce system, policy engine, or execution runtime.
17
-
18
- ## Public Release Stance
19
-
20
- This product is being prepared as a first public release.
21
-
22
- That means:
23
-
24
- - prior proof formats are design history, not public obligations
25
- - useful earlier decisions may be preserved where they strengthen the final product
26
- - older helper shapes do not automatically become the public contract
27
-
28
- The public baseline should therefore be chosen for correctness, clarity, determinism, and extensibility, not for backward compatibility with prior private repos.
29
-
30
- ## Product Boundary
31
-
32
- `xoonya` owns:
33
-
34
- - canonical event commitment rules
35
- - canonical hashing rules
36
- - receipt construction
37
- - proof bundle construction
38
- - receipt verification
39
- - proof bundle verification
40
- - conformance vectors
41
- - versioned proof schemas
42
-
43
- `xoonya` does not own:
44
-
45
- - pricing
46
- - balances
47
- - refunds
48
- - treasury logic
49
- - workflow semantics
50
- - task catalogs
51
- - execution orchestration
52
- - settlement orchestration
53
- - market rules
54
- - governance policy
55
-
56
- ## Core Doctrine
57
-
58
- The proof model is layered.
59
-
60
- ### Layer 1: Canonical Event Bundle
61
-
62
- This is the machine fact being committed.
63
-
64
- It is the canonical, deterministic representation of an externally consequential machine event.
65
-
66
- ### Layer 2: Receipt
67
-
68
- This is the minimal commitment artifact.
69
-
70
- It proves that a specific identity committed to a specific canonical event commitment under a specific versioned receipt contract.
71
-
72
- ### Layer 3: Proof Bundle
73
-
74
- This carries the richer proof context around the receipt:
75
-
76
- - anchors
77
- - attestation references
78
- - evidence references
79
- - batch inclusion material
80
- - metadata
81
-
82
- ### Layer 4: Profiles
83
-
84
- Profiles are optional domain-specific overlays for things like:
85
-
86
- - economic handoff
87
- - registry lifecycle
88
- - compliance
89
- - industry-specific evidence rules
90
-
91
- Profiles must not mutate the base proof contract.
92
-
93
- ## Non-Negotiable Invariants
94
-
95
- The following invariants must hold for all final versions.
96
-
97
- ### 1. Deterministic canonicalization
98
-
99
- The same logical event must always produce the same canonical byte representation.
100
-
101
- No implementation may depend on:
102
-
103
- - locale
104
- - timezone
105
- - object insertion order
106
- - language-specific serializer behavior
107
- - non-canonical map ordering
108
-
109
- ### 2. Deterministic hashing
110
-
111
- The same canonical event bytes must always yield the same commitment hash.
112
-
113
- Hashing must use explicit domain separation.
114
-
115
- ### 3. Minimal receipt
116
-
117
- The receipt must stay small and stable.
118
-
119
- It must not absorb:
120
-
121
- - economics
122
- - payment semantics
123
- - execution transcript detail
124
- - attestation bodies
125
- - anchor proofs
126
-
127
- ### 4. Optional anchoring
128
-
129
- Anchoring is optional.
130
-
131
- Proof validity must not depend on anchoring.
132
-
133
- Anchoring strengthens external assurance and chronology, but does not define whether the receipt is well-formed or verifiable.
134
-
135
- ### 5. Single machine truth format
136
-
137
- There must be one machine-native proof contract.
138
-
139
- Human-readable renderings are views or encodings of the same proof objects, not separate proof protocols.
140
-
141
- ### 6. Versioned stability
142
-
143
- Versions are explicit and strict.
144
-
145
- Older versions remain historically valid.
146
-
147
- New versions must not silently reinterpret older receipts.
148
-
149
- ## Canonical Event Bundle v1
150
-
151
- The canonical event bundle is the fact layer.
152
-
153
- Its purpose is to represent an externally consequential machine event in a deterministic and portable way.
154
-
155
- ### Required fields
156
-
157
- - `version`
158
- - `domain_id`
159
- - `sequence`
160
- - `actor_id`
161
- - `adapter_source`
162
- - `event_type`
163
- - `event_hash`
164
-
165
- ### Optional fields
166
-
167
- - `timestamp_ns`
168
- - `parent_refs`
169
- - `capability_refs`
170
- - `attestation_ref`
171
- - `semantic_slots`
172
-
173
- ### Rules
174
-
175
- - ordering is determined by explicit replay-safe fields, not by timestamps
176
- - timestamps may exist, but must not define event ordering
177
- - semantic slots are interpretation hints and must not change the event commitment semantics
178
- - attestation references are optional and external
179
-
180
- ### Commitment rule
181
-
182
- The canonical event bundle commitment must be derived from the canonical serialized form of the full event bundle object, not from a hand-picked concatenation of selected fields.
183
-
184
- This is the preferred rule because it:
185
-
186
- - reduces hidden ambiguity
187
- - reduces implementation drift
188
- - makes conformance easier to test
189
- - makes schema evolution cleaner
190
-
191
- ## Receipt v1
192
-
193
- The receipt is the minimal commitment artifact.
194
-
195
- ### Purpose
196
-
197
- The receipt proves:
198
-
199
- - which proof contract version applies
200
- - which identity issued the commitment
201
- - which canonical event commitment is being committed
202
- - that the issuer signed or committed that event commitment
203
-
204
- ### Required fields
205
-
206
- - `version`
207
- - `receipt_id`
208
- - `agent_identity`
209
- - `domain_id`
210
- - `sequence`
211
- - `event_commitment`
212
- - `signature`
213
-
214
- ### Optional fields
215
-
216
- - `algorithm`
217
-
218
- ### Rules
219
-
220
- - `receipt_id` must be deterministic or derivable in a stable way
221
- - `agent_identity` must be a stable identity reference, not a commerce-specific account handle
222
- - `event_commitment` must equal the canonical event bundle commitment
223
- - `signature` must verify against the exact commitment material defined by the contract
224
-
225
- ### Explicit exclusions
226
-
227
- The receipt must not directly carry:
228
-
229
- - prices
230
- - balances
231
- - refunds
232
- - quote details
233
- - settlement details
234
- - anchor records
235
- - Merkle paths
236
- - attestation bodies
237
- - execution transcripts
238
-
239
- ## Proof Bundle v1
240
-
241
- The proof bundle is the portable richer proof container.
242
-
243
- ### Required fields
244
-
245
- - `ceb`
246
- - `receipt`
247
-
248
- ### Optional fields
249
-
250
- - `anchors`
251
- - `attestations`
252
- - `evidence_refs`
253
- - `batch_refs`
254
- - `metadata`
255
-
256
- ### Purpose
257
-
258
- The proof bundle is where richer proof and portability features live without bloating the receipt.
259
-
260
- This is the correct place for:
261
-
262
- - chain or ledger anchors
263
- - block references
264
- - batch roots
265
- - inclusion proofs
266
- - external evidence references
267
- - optional attestation references
268
-
269
- ### Rules
270
-
271
- - the receipt remains valid without a proof bundle
272
- - the proof bundle must never alter the meaning of the receipt
273
- - all optional fields must be additive, not redefining
274
-
275
- ## Attestation Relationship
276
-
277
- Attestation is separate from proof.
278
-
279
- `xoonya` may reference attestation material, commit to attestation hashes, and verify attestation-shaped adjuncts if needed, but attestation must remain conceptually separate from the receipt core.
280
-
281
- ### Rule
282
-
283
- Attestation may be consumed.
284
- It must not become the receipt.
285
-
286
- ## Profiles
287
-
288
- Profiles are optional structured overlays built on top of base proof primitives.
289
-
290
- Examples:
291
-
292
- - economic receipt profile
293
- - registry lifecycle profile
294
- - compliance profile
295
-
296
- ### Profile rule
297
-
298
- Profiles may:
299
-
300
- - reference receipts
301
- - reference proof bundles
302
- - define domain-specific payload semantics
303
- - define domain-specific verification logic
304
-
305
- Profiles may not:
306
-
307
- - redefine base receipt meaning
308
- - redefine canonical event bundle meaning
309
- - create hidden alternate proof cores
310
-
311
- ## Batching
312
-
313
- Batching is supported, but not part of the minimal receipt core.
314
-
315
- ### Rule
316
-
317
- Multiple proof commitments may be compressed into a deterministic batch root.
318
-
319
- Batch-related material belongs in:
320
-
321
- - proof bundle
322
- - batch metadata
323
- - inclusion proofs
324
- - anchor references
325
-
326
- not in the base receipt itself.
327
-
328
- ## Verification Contract
329
-
330
- Verification must produce deterministic outcomes.
331
-
332
- ### Verification result fields
333
-
334
- - `ok`
335
- - `code`
336
- - `message`
337
- - optional `details`
338
-
339
- ### Canonical failure classes
340
-
341
- - invalid schema
342
- - unsupported version
343
- - hash mismatch
344
- - signature mismatch
345
- - receipt mismatch
346
- - bundle mismatch
347
- - profile mismatch
348
-
349
- ### Rule
350
-
351
- The same invalid input must fail the same way across conformant implementations.
352
-
353
- ## Versioning Strategy
354
-
355
- ### v1
356
-
357
- Freeze:
358
-
359
- - canonical event bundle v1
360
- - receipt v1
361
- - proof bundle v1
362
- - verification result contract v1
363
-
364
- ### Future versions
365
-
366
- A new version is justified only when:
367
-
368
- - commitment semantics change
369
- - canonicalization semantics change
370
- - identity/signature semantics change in a breaking way
371
- - proof container semantics change in a breaking way
372
-
373
- New profiles do not require a new core proof version unless they change base semantics.
374
-
375
- ## Conformance Requirements
376
-
377
- Any implementation claiming compatibility must pass:
378
-
379
- - canonicalization vectors
380
- - hashing vectors
381
- - receipt creation vectors
382
- - receipt verification vectors
383
- - proof bundle verification vectors
384
- - adversarial vectors
385
-
386
- ### Adversarial vector classes
387
-
388
- - field ordering drift
389
- - null / absent field ambiguity
390
- - unicode normalization edge cases
391
- - timestamp representation drift
392
- - duplicate proof entries
393
- - wrong anchor references
394
- - wrong batch inclusion paths
395
- - signature mismatch
396
- - tampered metadata
397
- - version mismatch
398
-
399
- ## Public API Direction
400
-
401
- The public API of `xoonya` should center on:
402
-
403
- - `canonicalizeEvent`
404
- - `hashEvent`
405
- - `emitReceipt`
406
- - `verifyReceipt`
407
- - `buildProofBundle`
408
- - `verifyProofBundle`
409
-
410
- Optional profile helpers may be added separately.
411
-
412
- ## What Should Be Carried Forward From Earlier Proof Iterations
413
-
414
- Keep:
415
-
416
- - minimal commitment philosophy
417
- - strict domain separation
418
- - optional anchoring
419
- - proof envelope / bundle layering
420
- - additive profile concept
421
- - strong conformance vector discipline
422
-
423
- Do not freeze directly:
424
-
425
- - historical implementation names
426
- - historical version labels
427
- - exact old byte-count decisions as sacred
428
- - old rail-shaped assumptions
429
-
430
- ## Final Product Position
431
-
432
- `xoonya` should become:
433
-
434
- - the neutral machine truth layer
435
- - the portable proof layer
436
- - the deterministic evidence layer
437
-
438
- It should be usable:
439
-
440
- - independently of `xytara`
441
- - independently of any chain
442
- - independently of any specific payment rail
443
- - independently of any specific runtime
444
-
445
- That independence is the foundation of the whole stack.