xoonya 2.4.0 → 2.6.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.
- package/README.md +135 -7
- package/RELEASE_NOTES.md +27 -18
- package/SERVICE_CONTRACT.md +86 -0
- package/START_HERE.md +39 -0
- package/XOONYA_NATIVE_ATOM_SPEC.md +184 -0
- package/XOONYA_NATIVE_PROOF_FORMAT.md +502 -0
- package/XOONYA_NATIVE_STANDARD_GOVERNANCE.md +116 -0
- package/bin/xoonya-first-run.js +184 -0
- package/bin/xoonya.js +81 -0
- package/lib/artifact_distribution_lane_contract.js +54 -0
- package/lib/asyncapi_contract.js +135 -0
- package/lib/auth_interop_contract.js +69 -0
- package/lib/cloudevents_contract.js +79 -0
- package/lib/erc8004_proof_lane_contract.js +64 -0
- package/lib/event_system_lane_contract.js +76 -0
- package/lib/external_proof_import_lane_contract.js +87 -0
- package/lib/feature_control_lane_contract.js +54 -0
- package/lib/framework_lane_contract.js +76 -0
- package/lib/identity_interop_contract.js +83 -0
- package/lib/integration_matrix_contract.js +81 -0
- package/lib/major_rails_proof_lane_contract.js +87 -0
- package/lib/openapi_contract.js +227 -0
- package/lib/proof_bridge_lane_contract.js +82 -0
- package/lib/provenance_lane_contract.js +54 -0
- package/lib/provider_lane_contract.js +67 -0
- package/lib/release_history.js +32 -0
- package/lib/result_package_trust_lane_contract.js +74 -0
- package/lib/shared_signals_lane_contract.js +54 -0
- package/lib/telemetry_lane_contract.js +54 -0
- package/lib/treasury_proof_lane_contract.js +83 -0
- package/package.json +13 -17
- package/proof_sdk.js +2391 -44
- package/server.js +406 -2
- package/vectors/adversarial-vectors.json +373 -2
- package/vectors/conformance-vectors.json +342 -1
- package/vectors/native-atom-vectors.json +101 -0
- package/vectors/native-payload-profile-vectors.json +50 -0
- package/OPERATIONS_RUNBOOK.md +0 -50
- package/OPERATOR_START_HERE.md +0 -67
- package/PROGRAM_COMPLETE_RELEASE.md +0 -52
- package/PROGRAM_STATUS.md +0 -57
- package/PUBLISH_PLAN.md +0 -14
- package/RELEASE_CHECKLIST.md +0 -16
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# xoonya
|
|
2
2
|
|
|
3
|
-
`xoonya` is the proof foundation for machine actions.
|
|
3
|
+
`xoonya` is the proof and review foundation for machine actions.
|
|
4
4
|
|
|
5
5
|
It exists to make machine evidence:
|
|
6
6
|
|
|
@@ -14,6 +14,63 @@ This repo is the proof-side half of the final two-repo public stack. It focuses
|
|
|
14
14
|
|
|
15
15
|
The 10-phase public program is now complete. `xoonya` is in terminal closeout posture rather than active milestone build posture.
|
|
16
16
|
|
|
17
|
+
## Public Boundary
|
|
18
|
+
|
|
19
|
+
The public adoption story is intentionally narrow:
|
|
20
|
+
|
|
21
|
+
- receive a handoff or event bundle
|
|
22
|
+
- review it
|
|
23
|
+
- verify it
|
|
24
|
+
- emit a durable proof bundle
|
|
25
|
+
|
|
26
|
+
`xoonya` should expose proof, review, and continuity. It should not force outside builders to learn runtime treasury or operator internals just to use the proof layer correctly.
|
|
27
|
+
|
|
28
|
+
## Universal Proof Shape
|
|
29
|
+
|
|
30
|
+
`xoonya` is intended to be usable from:
|
|
31
|
+
|
|
32
|
+
- CLI and terminal
|
|
33
|
+
- direct API calls
|
|
34
|
+
- chat and agent environments that can submit handoff bundles
|
|
35
|
+
- hosted or embedded review flows
|
|
36
|
+
- partner systems that need deterministic proof verification
|
|
37
|
+
|
|
38
|
+
The shortest public proof loop is:
|
|
39
|
+
|
|
40
|
+
- receive a handoff or event bundle
|
|
41
|
+
- review it
|
|
42
|
+
- verify it
|
|
43
|
+
- emit a durable proof bundle
|
|
44
|
+
- preserve governance and continuity context when needed
|
|
45
|
+
|
|
46
|
+
The current proof breadth already includes:
|
|
47
|
+
|
|
48
|
+
- canonical events, receipts, and proof bundles
|
|
49
|
+
- result-package handoff review and run paths
|
|
50
|
+
- bridge and compatibility review surfaces
|
|
51
|
+
- governance, dispute, and signoff support
|
|
52
|
+
- proof-side continuity for economic consequence carry
|
|
53
|
+
- proof-adjacent integration registration and review
|
|
54
|
+
|
|
55
|
+
## One-Line After Install
|
|
56
|
+
|
|
57
|
+
If you only run two commands after install, use:
|
|
58
|
+
|
|
59
|
+
- `xoonya start-here`
|
|
60
|
+
- `xoonya first-run`
|
|
61
|
+
- `xoonya first-run --verify-native --pretty`
|
|
62
|
+
- `xoonya release --summary`
|
|
63
|
+
- `xoonya conformance`
|
|
64
|
+
|
|
65
|
+
If you want the shortest machine-readable discovery path, inspect:
|
|
66
|
+
|
|
67
|
+
- `GET /v1/providers`
|
|
68
|
+
- `GET /v1/frameworks`
|
|
69
|
+
- `GET /v1/integration-matrix`
|
|
70
|
+
- `GET /v1/proof-bridge`
|
|
71
|
+
- `GET /v1/telemetry`
|
|
72
|
+
- `GET /v1/provenance`
|
|
73
|
+
|
|
17
74
|
## Start Here
|
|
18
75
|
|
|
19
76
|
If you are new to the proof-side package, use this order:
|
|
@@ -23,13 +80,10 @@ If you are new to the proof-side package, use this order:
|
|
|
23
80
|
3. run `npm run verify:all`
|
|
24
81
|
4. use [FINAL_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/FINAL_CONTRACT.md) and [SERVICE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/SERVICE_CONTRACT.md) as the durable public contract
|
|
25
82
|
|
|
26
|
-
If you are
|
|
83
|
+
If you are reading the GitHub repo and want deeper product context beyond the npm starter path, continue with:
|
|
27
84
|
|
|
28
|
-
- [PROGRAM_STATUS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/PROGRAM_STATUS.md)
|
|
29
|
-
- [OPERATOR_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/OPERATOR_START_HERE.md)
|
|
30
|
-
- [OPERATIONS_RUNBOOK.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/OPERATIONS_RUNBOOK.md)
|
|
31
|
-
- [PROGRAM_COMPLETE_RELEASE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/PROGRAM_COMPLETE_RELEASE.md)
|
|
32
85
|
- [WHY_XYTARA_XOONYA.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/WHY_XYTARA_XOONYA.md)
|
|
86
|
+
- [PARTNER_READY_PATH.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/PARTNER_READY_PATH.md)
|
|
33
87
|
|
|
34
88
|
If you want one concrete cross-repo adoption story, start with:
|
|
35
89
|
|
|
@@ -172,6 +226,45 @@ That means the center of gravity is now:
|
|
|
172
226
|
- `emitReceipt(...)`
|
|
173
227
|
- `buildProofBundle(...)`
|
|
174
228
|
- `verifyProofBundle(...)`
|
|
229
|
+
- `listProofVerificationMethods(...)`
|
|
230
|
+
- `getProofVerificationMethod(...)`
|
|
231
|
+
|
|
232
|
+
### Verification Methods
|
|
233
|
+
|
|
234
|
+
`xoonya` keeps proof verification method-agnostic. The proof bundle verifier uses a small method registry instead of treating every non-empty signature as equally verified.
|
|
235
|
+
|
|
236
|
+
Current built-in methods:
|
|
237
|
+
|
|
238
|
+
- `legacy-opreturn-v1` verifies the compatibility OP_RETURN receipt path.
|
|
239
|
+
- `detached-assertion-v1` accepts an explicit detached assertion after canonical receipt checks; cryptographic verification is expected to happen outside this helper.
|
|
240
|
+
- `xoonya-native-sha256-v1` verifies Xoonya's native deterministic digest format.
|
|
241
|
+
- `xoonya-native-signed-v1` verifies Xoonya's native signed proof envelope with Ed25519, secp256k1, and P-256 implemented through the explicit suite registry. Other suites stay registry-only until validators exist.
|
|
242
|
+
- `xoonya-native-anchored-v1` verifies Xoonya's native anchor-binding proof envelope for chain, batch, finality, content-hash, or external attestation refs. It verifies the binding, not the external provider or chain truth itself.
|
|
243
|
+
- `jwt-assertion-v1` accepts compact JWT assertion envelopes after canonical receipt checks; JWT signature, issuer, and audience verification remain external to this helper.
|
|
244
|
+
- `did-vc-v1` accepts DID/VC proof envelopes after canonical receipt checks; DID resolution and VC proof validation remain external to this helper.
|
|
245
|
+
- `sd-jwt-vc-v1` accepts SD-JWT VC disclosure envelopes after canonical receipt checks; issuer, holder binding, and disclosure verification remain external to this helper.
|
|
246
|
+
- `signed-envelope-v1` accepts generic signed envelopes after canonical receipt checks; envelope-specific signature verification remains external to this helper.
|
|
247
|
+
- `partner-proof-envelope-v1` accepts partner-specific proof envelopes after canonical receipt checks; partner verifier policy remains external to this helper.
|
|
248
|
+
|
|
249
|
+
`algorithm: "none"` is not a registered verification method and does not verify. External proof methods are first-class registry entries, but Xoonya does not pretend to replace their own cryptographic verifier stacks. The proof core checks the canonical receipt, method registration, and method boundary; issuer-specific validation stays with the relevant JWT, DID/VC, SD-JWT VC, signed-envelope, or partner verifier.
|
|
250
|
+
|
|
251
|
+
### Xoonya Native Proof Format
|
|
252
|
+
|
|
253
|
+
Xoonya Native is the optional native proof/result/attestation format direction for machine proof. It is not a replacement for JWT, OAuth, OIDC, DID/VC, or SD-JWT VC. Those remain interoperability lanes.
|
|
254
|
+
|
|
255
|
+
The native standard is Xoonya's own fixed-size hot-path commitment atom, cold-path proof envelope, semantic-free core bytes, and deterministic validation. The current implemented native methods are `xoonya-native-sha256-v1`, `xoonya-native-signed-v1`, and `xoonya-native-anchored-v1`. The signed native method verifies Ed25519, secp256k1, and P-256 today and keeps PQ/hybrid suites in the registry until their validators are implemented, so the standard stays agnostic without overclaiming. The anchored native method binds receipts to declared anchor/finality/attestation refs without claiming the external system has been independently verified by Xoonya.
|
|
256
|
+
|
|
257
|
+
The atom ladder is treated as native Xoonya design, not a runtime dependency: `xoonya-native-atom/v1` is the 58-byte classical commitment atom, `xoonya-native-atom/v2` is the 70-byte PQ-horizon identity commitment candidate, and `xoonya-native-atom/v3-contingency` stays reserved for a future digest-family shift only if the underlying hash assumptions materially change.
|
|
258
|
+
|
|
259
|
+
The canonical Xoonya Native atom magic is `XNYA`. No other magic value is part of the Xoonya Native atom standard. The formal atom spec ships inside the `xoonya` package first; a separate standards repo can be extracted later if external governance needs it.
|
|
260
|
+
|
|
261
|
+
XNYA atom conformance now includes stable machine-readable reject codes and adversarial vectors. Passing only the happy-path vectors is not enough to claim Xoonya Native compatibility.
|
|
262
|
+
|
|
263
|
+
The native payload profile is now explicit: `xoonya-native-payload-profile/v1` uses the binary `XNYP` magic and typed fields with deterministic ordering, fixed-width integer encoding, unknown-field policy checks, and no floats or loose JSON semantics. The optional `xoonya-native-line-rate-frame/v1` wraps an existing 58-byte or 70-byte `XNYA` atom with a 2-byte checksum for transport fast rejection; it does not change the atom and does not claim signature, encryption, custody, settlement, or external finality truth.
|
|
264
|
+
|
|
265
|
+
See [XOONYA_NATIVE_PROOF_FORMAT.md](./XOONYA_NATIVE_PROOF_FORMAT.md).
|
|
266
|
+
See [XOONYA_NATIVE_ATOM_SPEC.md](./XOONYA_NATIVE_ATOM_SPEC.md).
|
|
267
|
+
See [XOONYA_NATIVE_STANDARD_GOVERNANCE.md](./XOONYA_NATIVE_STANDARD_GOVERNANCE.md).
|
|
175
268
|
|
|
176
269
|
## Compatibility Surface
|
|
177
270
|
|
|
@@ -183,6 +276,9 @@ Legacy compact receipt and profile helpers are still available during alignment:
|
|
|
183
276
|
- `verifyReceiptV2(...)`
|
|
184
277
|
- `createProofEnvelopeV1(...)`
|
|
185
278
|
- `verifyProofEnvelopeV1(...)`
|
|
279
|
+
- `createXoonyaNativeAtomV1(...)`
|
|
280
|
+
- `createXoonyaNativeAtomV2(...)`
|
|
281
|
+
- `verifyXoonyaNativeAtom(...)`
|
|
186
282
|
- `createEconomicReceiptProfileV1(...)`
|
|
187
283
|
- `verifyEconomicReceiptProfileV1(...)`
|
|
188
284
|
- `createRegistryProfileV1(...)`
|
|
@@ -238,6 +334,23 @@ Primary proof-model routes:
|
|
|
238
334
|
- `GET /health`
|
|
239
335
|
- `GET /v1/proof-center`
|
|
240
336
|
- `GET /v1/proof-center/summary`
|
|
337
|
+
- `GET /v1/proof-center/native-standard`
|
|
338
|
+
- `GET /v1/proof-center/native-standard/summary`
|
|
339
|
+
- `GET /v1/proof-center/native-atom-spec`
|
|
340
|
+
- `GET /v1/proof-center/native-atom-spec/summary`
|
|
341
|
+
- `GET /v1/proof-center/native-atom-conformance`
|
|
342
|
+
- `GET /v1/proof-center/native-atom-conformance/summary`
|
|
343
|
+
- `GET /v1/proof-center/native-anchor-profile`
|
|
344
|
+
- `GET /v1/proof-center/native-anchor-profile/summary`
|
|
345
|
+
- `GET /v1/proof-center/native-payload-profile`
|
|
346
|
+
- `GET /v1/proof-center/native-payload-profile/summary`
|
|
347
|
+
- `GET /v1/proof-center/native-line-rate-frame`
|
|
348
|
+
- `GET /v1/proof-center/native-line-rate-frame/summary`
|
|
349
|
+
- `GET /v1/proof-center/import-adapter`
|
|
350
|
+
- `GET /v1/proof-center/import-adapter/summary`
|
|
351
|
+
- `POST /v1/proof-center/import-adapter/review`
|
|
352
|
+
- `POST /v1/proof-center/import-adapter/review/summary`
|
|
353
|
+
- `POST /v1/proof-center/import-adapter/run`
|
|
241
354
|
- `GET /v1/proof-center/default-loops`
|
|
242
355
|
- `GET /v1/proof-center/default-loops/summary`
|
|
243
356
|
- `GET /v1/proof-center/default-loop`
|
|
@@ -460,6 +573,7 @@ Preserved compatibility routes:
|
|
|
460
573
|
Local verification commands:
|
|
461
574
|
|
|
462
575
|
- `npm run verify:package`
|
|
576
|
+
- `npm run verify:conformance`
|
|
463
577
|
- `npm run verify:vectors`
|
|
464
578
|
- `npm run verify:examples`
|
|
465
579
|
- `npm run verify:service`
|
|
@@ -473,11 +587,21 @@ The current verification covers:
|
|
|
473
587
|
- package export presence
|
|
474
588
|
- deterministic event hashing
|
|
475
589
|
- proof-bundle tamper detection
|
|
590
|
+
- public conformance CLI execution through `xoonya conformance --json`
|
|
476
591
|
- published conformance vectors
|
|
477
592
|
- published adversarial vectors
|
|
478
593
|
- package quickstart flow
|
|
479
594
|
- service routes for both the primary proof model and the legacy compatibility layer
|
|
480
595
|
|
|
596
|
+
Public conformance command:
|
|
597
|
+
|
|
598
|
+
```bash
|
|
599
|
+
xoonya conformance
|
|
600
|
+
xoonya conformance --json
|
|
601
|
+
```
|
|
602
|
+
|
|
603
|
+
The conformance command verifies the published vector files shipped in the package. The positive set covers `legacy-opreturn-v1`, `detached-assertion-v1`, `xoonya-native-sha256-v1`, `xoonya-native-signed-v1`, `xoonya-native-anchored-v1`, `jwt-assertion-v1`, `did-vc-v1`, `sd-jwt-vc-v1`, `signed-envelope-v1`, and `partner-proof-envelope-v1`. The adversarial set covers bad event versions, missing signatures, mismatched commitments, unsupported methods, ambiguous `none`, replayed receipt context, native digest tampering, native signed proof tampering, native anchored proof tampering, native-to-detached downgrade attempts, and receipt-id mismatches.
|
|
604
|
+
|
|
481
605
|
Published proof hardening artifacts:
|
|
482
606
|
|
|
483
607
|
- [conformance-vectors.json](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/vectors/conformance-vectors.json)
|
|
@@ -497,8 +621,12 @@ Published proof hardening artifacts:
|
|
|
497
621
|
`xoonya` keeps its integration model narrower than `xytara`. The proof-side toolkit is for additive proof helpers only:
|
|
498
622
|
|
|
499
623
|
- identity-material providers
|
|
500
|
-
-
|
|
624
|
+
- attestation and evidence reference adapters
|
|
625
|
+
- anchor reference adapters
|
|
501
626
|
- profile verification helpers
|
|
627
|
+
- compatibility-oriented proof integrations
|
|
628
|
+
|
|
629
|
+
This integration toolkit is broader than the proof verification method registry. Verification methods describe how a receipt or proof envelope is admitted at the proof boundary; integrations describe additive proof-side helpers, references, profiles, and staged third-party support that can be reviewed without changing the proof kernel.
|
|
502
630
|
|
|
503
631
|
The package now includes:
|
|
504
632
|
|
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,31 +1,40 @@
|
|
|
1
|
-
# xoonya 2.
|
|
1
|
+
# xoonya 2.6.0 Release Notes
|
|
2
2
|
|
|
3
|
-
`xoonya` 2.
|
|
3
|
+
`xoonya` 2.6.0 is the expansion release line for Xoonya Native standard hardening, external proof import, native signed and anchored verification, and strict XNYA payload/frame profile work.
|
|
4
4
|
|
|
5
5
|
Highlights:
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
7
|
+
- umbrella CLI entrypoint with `xoonya start-here`, plus `xoonya review` and `xoonya release`
|
|
8
|
+
- `xoonya-native-signed-v1` verification with Ed25519, secp256k1, and P-256 through the explicit signature-suite registry
|
|
9
|
+
- `xoonya-native-anchored-v1` anchor binding for chain, finality, batch, content-hash, and external attestation refs without claiming external provider truth
|
|
10
|
+
- `xoonya-native-payload-profile/v1` with `XNYP` binary payload canonicalization, typed fields, fixed-width integers, canonical ordering, and unknown-field policy checks
|
|
11
|
+
- `xoonya-native-line-rate-frame/v1` as an optional 60/72-byte transport fast-reject wrapper around existing `XNYA` atoms
|
|
12
|
+
- native payload profile vectors and line-rate frame vectors
|
|
13
|
+
- external proof import adapter for JWT, DID/VC, SD-JWT VC, detached assertions, signed envelopes, and partner proof envelopes
|
|
14
|
+
- native hybrid/PQ readiness and standardization packs that keep `xoonya-native-hybrid-v1` design-gated until validators and vectors are real
|
|
15
|
+
- first-class public contract lanes for `OpenAPI`, `AsyncAPI`, and `CloudEvents`
|
|
16
|
+
- first-class provider, framework, and integration-matrix discovery surfaces for the proof side
|
|
17
|
+
- surfaced proof breadth across `proof-bridge`, `external-proof-import`, `result-package-trust`, major rails, treasury, and registry-backed integrations
|
|
18
|
+
- surfaced observability, provenance, artifact-distribution, shared-signals, and feature-control lanes for proof operations and trust
|
|
19
|
+
- explicit proof-role freeze, role-transition, and capability-registry-home posture remain in place
|
|
20
|
+
- canonical event, receipt, and proof-bundle model remain the proof center while external compatibility stays adapter-friendly
|
|
21
|
+
- clearer install-and-use posture for reviewers, operators, outside builders, and proof-carry integrations
|
|
17
22
|
|
|
18
23
|
Recommended first checks:
|
|
19
24
|
|
|
20
25
|
1. `npm install xoonya`
|
|
21
|
-
2. `xoonya-
|
|
26
|
+
2. `xoonya start-here`
|
|
22
27
|
3. `npm run verify:release-candidate`
|
|
23
28
|
4. `node examples/partner_proof_walkthrough.js`
|
|
24
|
-
5. inspect `/v1/
|
|
25
|
-
6. inspect `/v1/
|
|
26
|
-
7. inspect `/v1/
|
|
27
|
-
8. inspect `/v1/
|
|
28
|
-
9. inspect `/v1/
|
|
29
|
+
5. inspect `/v1/proof-center/native-standard/summary`
|
|
30
|
+
6. inspect `/v1/proof-center/native-payload-profile/summary`
|
|
31
|
+
7. inspect `/v1/proof-center/native-line-rate-frame/summary`
|
|
32
|
+
8. inspect `/v1/proof-center/import-adapter/summary`
|
|
33
|
+
9. inspect `/v1/providers`, `/v1/frameworks`, `/v1/integration-matrix`, and `/v1/proof-bridge`
|
|
34
|
+
10. inspect `/v1/telemetry`, `/v1/provenance`, `/v1/artifact-distribution`, `/v1/shared-signals`, and `/v1/feature-control`
|
|
35
|
+
11. inspect `/v1/role-freeze/package`
|
|
36
|
+
12. inspect `/v1/role-transition` and `/v1/capability-registry-home`
|
|
37
|
+
13. inspect `/v1/proof-center/summary` on the deployed service
|
|
29
38
|
|
|
30
39
|
Recommended first docs:
|
|
31
40
|
|
package/SERVICE_CONTRACT.md
CHANGED
|
@@ -7,8 +7,77 @@ This file freezes the public service contract for `xoonya`.
|
|
|
7
7
|
Primary proof-model routes:
|
|
8
8
|
|
|
9
9
|
- `GET /health`
|
|
10
|
+
- `GET /openapi.json`
|
|
11
|
+
- `GET /v1/openapi`
|
|
12
|
+
- `GET /v1/openapi/summary`
|
|
13
|
+
- `GET /asyncapi.json`
|
|
14
|
+
- `GET /v1/asyncapi`
|
|
15
|
+
- `GET /v1/asyncapi/summary`
|
|
16
|
+
- `GET /cloudevents.json`
|
|
17
|
+
- `GET /v1/cloudevents`
|
|
18
|
+
- `GET /v1/cloudevents/summary`
|
|
19
|
+
- `GET /v1/auth-profiles`
|
|
20
|
+
- `GET /v1/auth-profiles/summary`
|
|
21
|
+
- `GET /v1/identity-interop`
|
|
22
|
+
- `GET /v1/identity-interop/summary`
|
|
23
|
+
- `GET /v1/providers`
|
|
24
|
+
- `GET /v1/providers/summary`
|
|
25
|
+
- `GET /v1/frameworks`
|
|
26
|
+
- `GET /v1/frameworks/summary`
|
|
27
|
+
- `GET /v1/integration-matrix`
|
|
28
|
+
- `GET /v1/integration-matrix/summary`
|
|
29
|
+
- `GET /v1/major-rails`
|
|
30
|
+
- `GET /v1/major-rails/summary`
|
|
31
|
+
- `GET /v1/treasury`
|
|
32
|
+
- `GET /v1/treasury/summary`
|
|
33
|
+
- `GET /v1/erc8004`
|
|
34
|
+
- `GET /v1/erc8004/summary`
|
|
35
|
+
- `GET /v1/proof-bridge`
|
|
36
|
+
- `GET /v1/proof-bridge/summary`
|
|
37
|
+
- `GET /v1/external-proof-import`
|
|
38
|
+
- `GET /v1/external-proof-import/summary`
|
|
39
|
+
- `GET /v1/result-package-trust`
|
|
40
|
+
- `GET /v1/result-package-trust/summary`
|
|
41
|
+
- `GET /v1/event-systems`
|
|
42
|
+
- `GET /v1/event-systems/summary`
|
|
43
|
+
- `GET /v1/telemetry`
|
|
44
|
+
- `GET /v1/telemetry/summary`
|
|
45
|
+
- `GET /v1/provenance`
|
|
46
|
+
- `GET /v1/provenance/summary`
|
|
47
|
+
- `GET /v1/artifact-distribution`
|
|
48
|
+
- `GET /v1/artifact-distribution/summary`
|
|
49
|
+
- `GET /v1/shared-signals`
|
|
50
|
+
- `GET /v1/shared-signals/summary`
|
|
51
|
+
- `GET /v1/feature-control`
|
|
52
|
+
- `GET /v1/feature-control/summary`
|
|
53
|
+
- `GET /v1/integrations`
|
|
54
|
+
- `GET /v1/integrations/summary`
|
|
55
|
+
- `GET /v1/integrations/snapshot`
|
|
56
|
+
- `GET /v1/integrations/promotion-readiness`
|
|
57
|
+
- `GET /v1/integrations/promotion-workflow`
|
|
10
58
|
- `GET /v1/proof-center`
|
|
11
59
|
- `GET /v1/proof-center/summary`
|
|
60
|
+
- `GET /v1/proof-center/native-standard`
|
|
61
|
+
- `GET /v1/proof-center/native-standard/summary`
|
|
62
|
+
- `GET /v1/proof-center/native-hybrid-readiness`
|
|
63
|
+
- `GET /v1/proof-center/native-hybrid-readiness/summary`
|
|
64
|
+
- `GET /v1/proof-center/native-standardization`
|
|
65
|
+
- `GET /v1/proof-center/native-standardization/summary`
|
|
66
|
+
- `GET /v1/proof-center/native-atom-spec`
|
|
67
|
+
- `GET /v1/proof-center/native-atom-spec/summary`
|
|
68
|
+
- `GET /v1/proof-center/native-atom-conformance`
|
|
69
|
+
- `GET /v1/proof-center/native-atom-conformance/summary`
|
|
70
|
+
- `GET /v1/proof-center/native-anchor-profile`
|
|
71
|
+
- `GET /v1/proof-center/native-anchor-profile/summary`
|
|
72
|
+
- `GET /v1/proof-center/native-payload-profile`
|
|
73
|
+
- `GET /v1/proof-center/native-payload-profile/summary`
|
|
74
|
+
- `GET /v1/proof-center/native-line-rate-frame`
|
|
75
|
+
- `GET /v1/proof-center/native-line-rate-frame/summary`
|
|
76
|
+
- `GET /v1/proof-center/import-adapter`
|
|
77
|
+
- `GET /v1/proof-center/import-adapter/summary`
|
|
78
|
+
- `POST /v1/proof-center/import-adapter/review`
|
|
79
|
+
- `POST /v1/proof-center/import-adapter/review/summary`
|
|
80
|
+
- `POST /v1/proof-center/import-adapter/run`
|
|
12
81
|
- `GET /v1/proof-center/governance`
|
|
13
82
|
- `GET /v1/proof-center/governance/summary`
|
|
14
83
|
- `GET /v1/proof-center/bridge`
|
|
@@ -73,6 +142,22 @@ Expected error shapes:
|
|
|
73
142
|
|
|
74
143
|
Compatibility routes may return proof/profile-specific verification payloads, but the top-level shape should still remain predictable.
|
|
75
144
|
|
|
145
|
+
Interop note:
|
|
146
|
+
|
|
147
|
+
- `GET /v1/identity-interop` exposes how native proof, attestation, and bridge surfaces map to `JWT`, `DID/VC`, and `SD-JWT VC` interop lanes without replacing canonical proof truth inside `xoonya`
|
|
148
|
+
- `GET /v1/major-rails` exposes the Solana and Antelope/Proton XPR/Metal proof family as one practical settlement-evidence lane
|
|
149
|
+
- `GET /v1/treasury` exposes treasury destination/accounting evidence continuity while keeping DAI/USDC and Monero reserve doctrine clearly internal
|
|
150
|
+
- `GET /v1/external-proof-import` exposes the result, receipt, and proof-bundle import family as one builder-trust lane
|
|
151
|
+
- `GET /v1/result-package-trust` exposes the carried result-package trust continuity posture as a first-class proof-side lane
|
|
152
|
+
- `GET /v1/providers` exposes the OpenAI Codex and Claude/MCP family as first-class provider-origin proof lanes
|
|
153
|
+
- `GET /v1/frameworks` exposes LangGraph, LangChain, AutoGen, and Semantic Kernel as first-class framework followthrough lanes
|
|
154
|
+
- `GET /v1/integration-matrix` exposes the canonical public view across providers, frameworks, proof lanes, and registry-backed proof integrations
|
|
155
|
+
- `GET /v1/telemetry` exposes the OpenTelemetry-aligned proof observability posture across review, verification, bridge, and proof event signals
|
|
156
|
+
- `GET /v1/provenance` exposes the SLSA-aligned provenance posture for proof artifacts, release trust, and bundle followthrough confidence
|
|
157
|
+
- `GET /v1/artifact-distribution` exposes OCI-style artifact distribution posture for proof bundles, handoff bundles, snapshots, and release artifacts
|
|
158
|
+
- `GET /v1/shared-signals` exposes OpenID Shared Signals and CAEP-aligned review, bridge, import, and trust event exchange posture
|
|
159
|
+
- `GET /v1/feature-control` exposes OpenFeature/OFREP-aligned rollout and review portability posture around role freeze, bridge, trust, and release gates
|
|
160
|
+
|
|
76
161
|
## Final-Loop Verification
|
|
77
162
|
|
|
78
163
|
The constitutional proof loop for `xoonya` is:
|
|
@@ -103,3 +188,4 @@ This loop is exercised through:
|
|
|
103
188
|
- example verification
|
|
104
189
|
- service verification
|
|
105
190
|
- conformance/adversarial vector verification
|
|
191
|
+
- public `xoonya conformance` and `xoonya conformance --json` commands
|
package/START_HERE.md
CHANGED
|
@@ -15,6 +15,18 @@ Its job is to let a caller:
|
|
|
15
15
|
3. emit proof-native completion artifacts
|
|
16
16
|
4. verify the final proof bundle
|
|
17
17
|
|
|
18
|
+
For the full public quote -> execute -> prove path, start from:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
https://www.naxytra.com/v1/first-run-kit
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Then run the local proof followthrough:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
xoonya first-run --verify-native --pretty
|
|
28
|
+
```
|
|
29
|
+
|
|
18
30
|
## 2. Run The Fastest Real Example
|
|
19
31
|
|
|
20
32
|
Run:
|
|
@@ -52,6 +64,27 @@ For long-term product understanding, read:
|
|
|
52
64
|
|
|
53
65
|
- [FINAL_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/FINAL_CONTRACT.md)
|
|
54
66
|
- [SERVICE_CONTRACT.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/SERVICE_CONTRACT.md)
|
|
67
|
+
- `GET /openapi.json`
|
|
68
|
+
- `GET /asyncapi.json`
|
|
69
|
+
- `GET /cloudevents.json`
|
|
70
|
+
- `GET /v1/auth-profiles`
|
|
71
|
+
- `GET /v1/identity-interop`
|
|
72
|
+
- `GET /v1/providers`
|
|
73
|
+
- `GET /v1/frameworks`
|
|
74
|
+
- `GET /v1/integration-matrix`
|
|
75
|
+
- `GET /v1/telemetry`
|
|
76
|
+
- `GET /v1/provenance`
|
|
77
|
+
- `GET /v1/artifact-distribution`
|
|
78
|
+
- `GET /v1/shared-signals`
|
|
79
|
+
- `GET /v1/feature-control`
|
|
80
|
+
- `GET /v1/major-rails`
|
|
81
|
+
- `GET /v1/treasury`
|
|
82
|
+
- `GET /v1/erc8004`
|
|
83
|
+
- `GET /v1/proof-bridge`
|
|
84
|
+
- `GET /v1/external-proof-import`
|
|
85
|
+
- `GET /v1/result-package-trust`
|
|
86
|
+
- `GET /v1/event-systems`
|
|
87
|
+
- `GET /v1/integrations`
|
|
55
88
|
- [PROGRAM_STATUS.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/PROGRAM_STATUS.md)
|
|
56
89
|
- [OPERATOR_START_HERE.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/OPERATOR_START_HERE.md)
|
|
57
90
|
- [OPERATIONS_RUNBOOK.md](C:/Users/Yoga/Desktop/workspace/vscode_workspace_public/naxytra/xoonya/OPERATIONS_RUNBOOK.md)
|
|
@@ -80,6 +113,12 @@ It is:
|
|
|
80
113
|
|
|
81
114
|
receive handoff -> inspect review posture -> confirm run posture -> emit and verify proof
|
|
82
115
|
|
|
116
|
+
If you want the shortest CLI-first read of the package after install, use:
|
|
117
|
+
|
|
118
|
+
- `xoonya start-here`
|
|
119
|
+
- `xoonya release --summary`
|
|
120
|
+
- `xoonya review --help`
|
|
121
|
+
|
|
83
122
|
## 7. If You Are Operating The Closed Program
|
|
84
123
|
|
|
85
124
|
Use:
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Xoonya Native Atom Specification
|
|
2
|
+
|
|
3
|
+
Status: formal spec pack active
|
|
4
|
+
|
|
5
|
+
Spec version: `xoonya-native-atom-spec/v1`
|
|
6
|
+
|
|
7
|
+
## Decision
|
|
8
|
+
|
|
9
|
+
The canonical Xoonya Native atom magic is `XNYA`.
|
|
10
|
+
|
|
11
|
+
No other magic value is part of the Xoonya Native atom standard. Implementations that use a different discriminator are separate formats and must not claim Xoonya Native atom compatibility.
|
|
12
|
+
|
|
13
|
+
`XNYA` is four bytes, not three, because a fixed 4-byte ASCII discriminator is easier to index, validate, debug, and defend than a shorter clever header.
|
|
14
|
+
|
|
15
|
+
## Repository Strategy
|
|
16
|
+
|
|
17
|
+
The native atom spec ships inside the `xoonya` package first.
|
|
18
|
+
|
|
19
|
+
This is intentional:
|
|
20
|
+
|
|
21
|
+
- there is one public website and one Xoonya package surface today
|
|
22
|
+
- the verifier implementation and conformance vectors live beside the spec
|
|
23
|
+
- builders should not need another repo to understand the native proof path
|
|
24
|
+
|
|
25
|
+
A separate standards repo can be created later if external adoption, independent governance, or standards-body work needs it. Until then, separate extraction would add coordination overhead before the standard has enough external pressure to justify it.
|
|
26
|
+
|
|
27
|
+
## Atom Purpose
|
|
28
|
+
|
|
29
|
+
The Xoonya Native atom is a fixed-size commitment record.
|
|
30
|
+
|
|
31
|
+
It answers:
|
|
32
|
+
|
|
33
|
+
> Which typed machine identity committed to which payload hash under which frozen Xoonya Native version line?
|
|
34
|
+
|
|
35
|
+
It does not contain:
|
|
36
|
+
|
|
37
|
+
- signatures
|
|
38
|
+
- timestamps
|
|
39
|
+
- prices
|
|
40
|
+
- balances
|
|
41
|
+
- settlement references
|
|
42
|
+
- custody references
|
|
43
|
+
- chain identifiers
|
|
44
|
+
- runtime metadata
|
|
45
|
+
- policy decisions
|
|
46
|
+
- governance outcomes
|
|
47
|
+
|
|
48
|
+
Those belong in canonical payloads, proof envelopes, profiles, and runtime consumers.
|
|
49
|
+
|
|
50
|
+
## Version 1
|
|
51
|
+
|
|
52
|
+
Atom version: `xoonya-native-atom/v1`
|
|
53
|
+
|
|
54
|
+
Fixed size: `58` bytes
|
|
55
|
+
|
|
56
|
+
Purpose: classical minimal identity and payload commitment.
|
|
57
|
+
|
|
58
|
+
Layout:
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
MAGIC(4) | VERSION(1) | TYPE(1) | AGENT_ID(20) | PAYLOAD_HASH(32)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Fields:
|
|
65
|
+
|
|
66
|
+
| Field | Size | Rule |
|
|
67
|
+
| --- | ---: | --- |
|
|
68
|
+
| `MAGIC` | 4 | ASCII `XNYA` |
|
|
69
|
+
| `VERSION` | 1 | `0x01` |
|
|
70
|
+
| `TYPE` | 1 | `0x01`, `0x02`, or `0x03` |
|
|
71
|
+
| `AGENT_ID` | 20 | `HASH160("xoonya:agent:v1:" || identity_material)` |
|
|
72
|
+
| `PAYLOAD_HASH` | 32 | `SHA256("xoonya:payload:v1:" || payload_bytes)` or all-zero sentinel when absent |
|
|
73
|
+
|
|
74
|
+
## Version 2
|
|
75
|
+
|
|
76
|
+
Atom version: `xoonya-native-atom/v2`
|
|
77
|
+
|
|
78
|
+
Fixed size: `70` bytes
|
|
79
|
+
|
|
80
|
+
Purpose: PQ-horizon identity commitment with 32-byte agent digest.
|
|
81
|
+
|
|
82
|
+
Layout:
|
|
83
|
+
|
|
84
|
+
```text
|
|
85
|
+
MAGIC(4) | VERSION(1) | TYPE(1) | AGENT_ID(32) | PAYLOAD_HASH(32)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Fields:
|
|
89
|
+
|
|
90
|
+
| Field | Size | Rule |
|
|
91
|
+
| --- | ---: | --- |
|
|
92
|
+
| `MAGIC` | 4 | ASCII `XNYA` |
|
|
93
|
+
| `VERSION` | 1 | `0x02` |
|
|
94
|
+
| `TYPE` | 1 | `0x01`, `0x02`, or `0x03` |
|
|
95
|
+
| `AGENT_ID` | 32 | `SHA256("xoonya:agent:v2:" || identity_material)` |
|
|
96
|
+
| `PAYLOAD_HASH` | 32 | `SHA256("xoonya:payload:v2:" || payload_bytes)` or all-zero sentinel when absent |
|
|
97
|
+
|
|
98
|
+
## Record Types
|
|
99
|
+
|
|
100
|
+
| Code | Name | Meaning |
|
|
101
|
+
| --- | --- | --- |
|
|
102
|
+
| `0x01` | register | registration or first commitment |
|
|
103
|
+
| `0x02` | update | update or lifecycle continuation |
|
|
104
|
+
| `0x03` | revoke | revoke or lifecycle close |
|
|
105
|
+
|
|
106
|
+
The atom does not define lifecycle policy. Profiles define evidence semantics above the atom.
|
|
107
|
+
|
|
108
|
+
## Identity Material
|
|
109
|
+
|
|
110
|
+
`identity_material = type_prefix || raw_identity_bytes`
|
|
111
|
+
|
|
112
|
+
Initial type registry:
|
|
113
|
+
|
|
114
|
+
| Prefix | ID | Canonical Material |
|
|
115
|
+
| --- | --- | --- |
|
|
116
|
+
| `0x01` | `secp256k1-public-key` | compressed SEC1 public key |
|
|
117
|
+
| `0x02` | `device-identifier` | raw device identifier bytes |
|
|
118
|
+
| `0x03` | `did-string` | UTF-8 DID string, no BOM, no normalization |
|
|
119
|
+
| `0x04` | `opaque-agent-key` | opaque agent key bytes |
|
|
120
|
+
| `0x05` | `dilithium-public-key` | suite-defined PQ public key bytes |
|
|
121
|
+
| `0x06` | `falcon-public-key` | suite-defined PQ public key bytes |
|
|
122
|
+
| `0x07` | `sphincs-plus-public-key` | suite-defined PQ public key bytes |
|
|
123
|
+
|
|
124
|
+
Implementations must not lowercase, normalize, trim, parse, or reinterpret `raw_identity_bytes` after canonicalization by the type-specific producer.
|
|
125
|
+
|
|
126
|
+
## Payload Sentinel Rule
|
|
127
|
+
|
|
128
|
+
If there is no payload, `PAYLOAD_HASH` is exactly 32 zero bytes.
|
|
129
|
+
|
|
130
|
+
If payload bytes are present, implementations must compute the domain-separated payload hash and must not accept a present payload as the all-zero sentinel.
|
|
131
|
+
|
|
132
|
+
## Validation Rules
|
|
133
|
+
|
|
134
|
+
Validators must reject:
|
|
135
|
+
|
|
136
|
+
- non-hex display input
|
|
137
|
+
- byte length other than 58 or 70
|
|
138
|
+
- bad magic
|
|
139
|
+
- version/length mismatch
|
|
140
|
+
- unsupported type
|
|
141
|
+
- unsupported identity type prefix when identity material is supplied
|
|
142
|
+
- agent ID mismatch when identity material is supplied
|
|
143
|
+
- payload hash mismatch when payload bytes are supplied
|
|
144
|
+
- ambiguous all-zero payload hash for a present payload
|
|
145
|
+
|
|
146
|
+
Validation must be deterministic: the same bytes produce the same accept/reject reason.
|
|
147
|
+
|
|
148
|
+
## Deterministic Error Codes
|
|
149
|
+
|
|
150
|
+
Validators should return stable machine-readable error codes alongside any human-readable reason.
|
|
151
|
+
|
|
152
|
+
Current reject codes:
|
|
153
|
+
|
|
154
|
+
| Code | Meaning |
|
|
155
|
+
| --- | --- |
|
|
156
|
+
| `atom_hex_not_hex` | Input is not hex display form. |
|
|
157
|
+
| `atom_unsupported_length` | Byte length is not a supported XNYA atom length. |
|
|
158
|
+
| `atom_bad_magic` | Magic is not `XNYA`. |
|
|
159
|
+
| `atom_unsupported_record_type` | Record type is not `0x01`, `0x02`, or `0x03`. |
|
|
160
|
+
| `atom_version_length_mismatch` | Version byte and atom length do not match. |
|
|
161
|
+
| `identity_unsupported_type_prefix` | Supplied identity material uses an unregistered prefix. |
|
|
162
|
+
| `identity_missing_raw_bytes` | Supplied identity material contains only the type prefix. |
|
|
163
|
+
| `agent_id_mismatch` | Supplied identity material does not derive the atom agent id. |
|
|
164
|
+
| `payload_hash_mismatch` | Supplied payload bytes do not derive the atom payload hash. |
|
|
165
|
+
|
|
166
|
+
Error-code stability matters because third-party validators and agents should be able to compare failures without parsing prose.
|
|
167
|
+
|
|
168
|
+
## Version Freeze Rule
|
|
169
|
+
|
|
170
|
+
Once a version line is published:
|
|
171
|
+
|
|
172
|
+
- field order must not change
|
|
173
|
+
- field sizes must not change
|
|
174
|
+
- hash derivation must not change
|
|
175
|
+
- validation semantics must not change
|
|
176
|
+
- reserved behavior must not be silently introduced
|
|
177
|
+
|
|
178
|
+
Any breaking change requires a new version line.
|
|
179
|
+
|
|
180
|
+
## V3 Contingency
|
|
181
|
+
|
|
182
|
+
`xoonya-native-atom/v3-contingency` is not an implementation target.
|
|
183
|
+
|
|
184
|
+
It is reserved for a material digest-family shift, such as a practical break in SHA-256 assumptions. If it is ever needed, it should remain fixed length, deterministic, and semantic-free.
|