xoonya 2.6.0 → 2.8.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/CROSS_RUNTIME_POSTURE.md +32 -2
- package/README.md +14 -1
- package/RELEASE_NOTES.md +25 -0
- package/SERVICE_CONTRACT.md +4 -0
- package/XNYA_CONFORMANCE_MARK.md +78 -0
- package/XNYA_REFERENCE_IMPLEMENTATIONS.md +157 -0
- package/XOONYA_NATIVE_PROOF_FORMAT.md +2 -0
- package/XOONYA_NATIVE_STANDARD_GOVERNANCE.md +4 -1
- package/bin/xoonya-release.js +19 -1
- package/bin/xoonya.js +1 -0
- package/lib/release_history.js +27 -0
- package/package.json +12 -2
- package/proof_sdk.js +605 -2
- package/reference/python/README.md +35 -0
- package/reference/python/requirements-optional.txt +1 -0
- package/reference/python/verify_vectors.py +209 -0
- package/reference/python/xnya_reference.py +810 -0
- package/reference/rust/Cargo.toml +11 -0
- package/reference/rust/README.md +28 -0
- package/reference/rust/src/lib.rs +87 -0
- package/scripts/registry_cli.js +157 -0
- package/scripts/verify_all.js +593 -0
- package/scripts/verify_examples.js +19 -0
- package/scripts/verify_external_proof_import_gate.js +84 -0
- package/scripts/verify_integrations.js +170 -0
- package/scripts/verify_native_hybrid_design_gate.js +108 -0
- package/scripts/verify_reference_promotion_gate.js +74 -0
- package/scripts/verify_reference_python.js +49 -0
- package/scripts/verify_reference_python_crypto.js +87 -0
- package/scripts/verify_reference_rust_scaffold.js +50 -0
- package/scripts/verify_release_candidate.js +106 -0
- package/scripts/verify_service.js +2849 -0
- package/scripts/verify_tooling.js +1251 -0
- package/scripts/verify_vectors.js +164 -0
- package/server.js +20 -0
- package/vectors/adversarial-vectors.json +27 -0
package/CROSS_RUNTIME_POSTURE.md
CHANGED
|
@@ -27,14 +27,44 @@ The current reference implementation is Node.js, but the proof contract is desig
|
|
|
27
27
|
|
|
28
28
|
These vectors are intended to be reusable by future implementations in other runtimes.
|
|
29
29
|
|
|
30
|
-
##
|
|
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
|
+
```
|
|
31
47
|
|
|
32
|
-
|
|
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
|
|
33
61
|
|
|
34
62
|
So the current cross-runtime posture is:
|
|
35
63
|
|
|
36
64
|
- contract and vectors are published
|
|
37
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
|
|
38
68
|
- additional runtime implementations can now target the same vector sets
|
|
39
69
|
|
|
40
70
|
## Final release expectation
|
package/README.md
CHANGED
|
@@ -262,9 +262,18 @@ XNYA atom conformance now includes stable machine-readable reject codes and adve
|
|
|
262
262
|
|
|
263
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
264
|
|
|
265
|
+
The `XNYA-compatible` mark is now defined as a conformance claim, not a marketing label. Implementations may use it only when atom bytes, payload profile rules, proof-envelope method behavior, adversarial vectors, and stable error codes match the published artifacts. The mark must not be used to claim PQ/hybrid verification, live external-provider execution, chain finality, custody, identity/auth, or external issuer truth without separate verifier evidence. Until real PQ/hybrid validators exist, `xoonya-native-hybrid-v1` is an explicit design-gate method that rejects with `native_hybrid_design_gated`.
|
|
266
|
+
|
|
267
|
+
The JavaScript `xoonya` package is the current canonical XNYA reference implementation. A Python candidate scaffold now verifies the XNYA atom, native atom adversarial, XNYP payload profile, line-rate frame, canonical event, receipt, and non-signed proof-bundle vectors independently. It also verifies Ed25519 native signed vectors when Python's optional `cryptography` package is installed, otherwise it reports the deterministic dependency gate. It is not yet a full second reference until always-on signature-suite parity, proof-bundle round trips, and the full promotion gates pass. Rust remains planned until a verified vector-parity implementation exists.
|
|
268
|
+
|
|
269
|
+
Run `npm run verify:reference-python-crypto` to create an isolated temporary Python virtual environment, install the optional crypto dependency, and require the Ed25519 native signed vector to verify. Run `npm run verify:reference-rust-scaffold` to check the packaged source-only Rust scaffold and its non-promotion boundary.
|
|
270
|
+
|
|
265
271
|
See [XOONYA_NATIVE_PROOF_FORMAT.md](./XOONYA_NATIVE_PROOF_FORMAT.md).
|
|
266
272
|
See [XOONYA_NATIVE_ATOM_SPEC.md](./XOONYA_NATIVE_ATOM_SPEC.md).
|
|
267
273
|
See [XOONYA_NATIVE_STANDARD_GOVERNANCE.md](./XOONYA_NATIVE_STANDARD_GOVERNANCE.md).
|
|
274
|
+
See [XNYA_CONFORMANCE_MARK.md](./XNYA_CONFORMANCE_MARK.md).
|
|
275
|
+
See [XNYA_REFERENCE_IMPLEMENTATIONS.md](./XNYA_REFERENCE_IMPLEMENTATIONS.md).
|
|
276
|
+
See [CROSS_RUNTIME_POSTURE.md](./CROSS_RUNTIME_POSTURE.md).
|
|
268
277
|
|
|
269
278
|
## Compatibility Surface
|
|
270
279
|
|
|
@@ -346,6 +355,10 @@ Primary proof-model routes:
|
|
|
346
355
|
- `GET /v1/proof-center/native-payload-profile/summary`
|
|
347
356
|
- `GET /v1/proof-center/native-line-rate-frame`
|
|
348
357
|
- `GET /v1/proof-center/native-line-rate-frame/summary`
|
|
358
|
+
- `GET /v1/proof-center/native-conformance-mark`
|
|
359
|
+
- `GET /v1/proof-center/native-conformance-mark/summary`
|
|
360
|
+
- `GET /v1/proof-center/native-reference-implementations`
|
|
361
|
+
- `GET /v1/proof-center/native-reference-implementations/summary`
|
|
349
362
|
- `GET /v1/proof-center/import-adapter`
|
|
350
363
|
- `GET /v1/proof-center/import-adapter/summary`
|
|
351
364
|
- `POST /v1/proof-center/import-adapter/review`
|
|
@@ -600,7 +613,7 @@ xoonya conformance
|
|
|
600
613
|
xoonya conformance --json
|
|
601
614
|
```
|
|
602
615
|
|
|
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.
|
|
616
|
+
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`, explicit native hybrid/PQ design-gated rejection, replayed receipt context, native digest tampering, native signed proof tampering, native anchored proof tampering, native-to-detached downgrade attempts, and receipt-id mismatches.
|
|
604
617
|
|
|
605
618
|
Published proof hardening artifacts:
|
|
606
619
|
|
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
# xoonya 2.8.0 Release Notes
|
|
2
|
+
|
|
3
|
+
`xoonya` 2.8.0 is the XNYA standard-hardening line for conformance marks, reference implementation promotion discipline, cross-language scaffold evidence, PQ/hybrid design gating, and external proof truth boundaries.
|
|
4
|
+
|
|
5
|
+
Highlights:
|
|
6
|
+
|
|
7
|
+
- exposes the XNYA-compatible conformance mark with explicit artifact, vector, error-code, and forbidden-claim boundaries
|
|
8
|
+
- adds the XNYA reference implementation plan and promotion gate so JavaScript remains canonical while Python/Rust require independent vector, crypto, round-trip, conformance, and forbidden-claim evidence before promotion
|
|
9
|
+
- adds Python XNYA atom/payload/frame, proof-bundle, and optional Ed25519 crypto verifier scaffolds without overclaiming full second-reference status
|
|
10
|
+
- packages the Rust XNYA source scaffold while keeping it unpromoted until real Rust toolchain compilation and vector parity exist
|
|
11
|
+
- adds native hybrid/PQ design-gate vectors and deterministic rejection so PQ/hybrid remains visible but not claimable as live verification
|
|
12
|
+
- hardens external proof import truth boundaries for JWT, DID/VC, SD-JWT VC, signed-envelope, detached assertion, and partner proof material
|
|
13
|
+
- keeps the 2.7.0 packaged conformance and clean-consumer release-smoke posture intact while making native-standard claims more defensible
|
|
14
|
+
|
|
15
|
+
# xoonya 2.7.0 Release Notes
|
|
16
|
+
|
|
17
|
+
`xoonya` 2.7.0 is the expansion-closeout release line for package-hardening, clean-consumer release smoke testing, and disciplined native-standard claim boundaries.
|
|
18
|
+
|
|
19
|
+
Highlights:
|
|
20
|
+
|
|
21
|
+
- ships `scripts/` in the npm artifact so `xoonya conformance` and `xoonya first-run --verify-native` work from a clean npm install
|
|
22
|
+
- adds release-candidate guards that fail if conformance verifier scripts are missing from `npm pack`
|
|
23
|
+
- participates in the Naxytra release-smoke harness that installs packed tarballs into a clean consumer project before synchronized release
|
|
24
|
+
- keeps the 2.6.0 XNYA native, payload, line-rate frame, import-adapter, and standardization capabilities intact while closing the packaging reliability gap
|
|
25
|
+
|
|
1
26
|
# xoonya 2.6.0 Release Notes
|
|
2
27
|
|
|
3
28
|
`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.
|
package/SERVICE_CONTRACT.md
CHANGED
|
@@ -63,6 +63,10 @@ Primary proof-model routes:
|
|
|
63
63
|
- `GET /v1/proof-center/native-hybrid-readiness/summary`
|
|
64
64
|
- `GET /v1/proof-center/native-standardization`
|
|
65
65
|
- `GET /v1/proof-center/native-standardization/summary`
|
|
66
|
+
- `GET /v1/proof-center/native-conformance-mark`
|
|
67
|
+
- `GET /v1/proof-center/native-conformance-mark/summary`
|
|
68
|
+
- `GET /v1/proof-center/native-reference-implementations`
|
|
69
|
+
- `GET /v1/proof-center/native-reference-implementations/summary`
|
|
66
70
|
- `GET /v1/proof-center/native-atom-spec`
|
|
67
71
|
- `GET /v1/proof-center/native-atom-spec/summary`
|
|
68
72
|
- `GET /v1/proof-center/native-atom-conformance`
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# XNYA Conformance Mark
|
|
2
|
+
|
|
3
|
+
`XNYA-compatible` is the compatibility mark for implementations that preserve the Xoonya Native atom, payload, proof-envelope, and vector behavior exactly enough for deterministic machine evidence to remain portable.
|
|
4
|
+
|
|
5
|
+
The mark is not an identity, auth, custody, transport-security, settlement, chain-finality, or external-provider truth claim.
|
|
6
|
+
|
|
7
|
+
## Required Meaning
|
|
8
|
+
|
|
9
|
+
An implementation may claim `XNYA-compatible` only when it can show:
|
|
10
|
+
|
|
11
|
+
- the native atom magic is exactly `XNYA`
|
|
12
|
+
- atom versions and fixed sizes match the published spec
|
|
13
|
+
- payload and identity hash derivation match the published vectors
|
|
14
|
+
- required native methods either verify or are explicitly declared unsupported
|
|
15
|
+
- adversarial vectors fail with stable error codes
|
|
16
|
+
- `algorithm: "none"` is rejected for production proof
|
|
17
|
+
- anchor binding does not claim independent external chain or provider truth
|
|
18
|
+
|
|
19
|
+
## Required Artifacts
|
|
20
|
+
|
|
21
|
+
The following artifacts define the current conformance floor:
|
|
22
|
+
|
|
23
|
+
- `XOONYA_NATIVE_PROOF_FORMAT.md`
|
|
24
|
+
- `XOONYA_NATIVE_ATOM_SPEC.md`
|
|
25
|
+
- `XOONYA_NATIVE_STANDARD_GOVERNANCE.md`
|
|
26
|
+
- `XNYA_CONFORMANCE_MARK.md`
|
|
27
|
+
- `vectors/conformance-vectors.json`
|
|
28
|
+
- `vectors/adversarial-vectors.json`
|
|
29
|
+
- `vectors/native-atom-vectors.json`
|
|
30
|
+
- `vectors/native-payload-profile-vectors.json`
|
|
31
|
+
|
|
32
|
+
## Required Checks
|
|
33
|
+
|
|
34
|
+
At minimum, a compatible implementation must pass equivalent checks to:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
xoonya first-run --verify-native --pretty
|
|
38
|
+
xoonya conformance --json
|
|
39
|
+
npm run verify:release-candidate
|
|
40
|
+
npm run verify:service
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Non-JavaScript implementations should publish deterministic pass/fail output against the same vector IDs, byte layouts, and error-code expectations.
|
|
44
|
+
|
|
45
|
+
## Allowed Claim Classes
|
|
46
|
+
|
|
47
|
+
`xnya_atom_compatible` means the implementation preserves `XNYA` atom bytes, lengths, versions, record types, hash derivation, and reject codes.
|
|
48
|
+
|
|
49
|
+
`xnya_payload_profile_compatible` means the implementation preserves the `XNYP` binary payload profile: typed fields, canonical ordering, fixed-width integers, explicit unknown-field policy, and no loose JSON or float semantics.
|
|
50
|
+
|
|
51
|
+
`xnya_native_proof_compatible` means registered native methods verify through the declared suite registry, reject `algorithm: "none"`, and keep signatures, anchors, and external references outside the atom core.
|
|
52
|
+
|
|
53
|
+
`xnya_external_interop_compatible` means external proof envelopes are bound to canonical Xoonya receipts without claiming issuer, DID, JWT, SD-JWT, chain, or partner-provider truth unless an external verifier is declared and bound.
|
|
54
|
+
|
|
55
|
+
## Forbidden Claims
|
|
56
|
+
|
|
57
|
+
Do not claim the mark if:
|
|
58
|
+
|
|
59
|
+
- `XNYA` magic, fixed sizes, version semantics, or atom layout are changed
|
|
60
|
+
- `algorithm: "none"` verifies as production proof
|
|
61
|
+
- happy-path vectors pass but adversarial vectors are skipped
|
|
62
|
+
- PQ/hybrid support is claimed without validators, vectors, downgrade tests, and deterministic error codes
|
|
63
|
+
- external issuer, chain, finality, custody, or provider truth is claimed as Xoonya-verified without a declared external verifier
|
|
64
|
+
- the mark is used to imply login, session, wallet, custody, payment, transport, or regulatory compliance behavior
|
|
65
|
+
|
|
66
|
+
## Extra Evidence Gates
|
|
67
|
+
|
|
68
|
+
PQ/hybrid native verification requires non-experimental validators, suite-specific public-key rules, positive conformance vectors, adversarial downgrade vectors, and deterministic error codes.
|
|
69
|
+
|
|
70
|
+
Live external framework-provider compatibility requires real external endpoints, auth boundaries, health checks, failure behavior, latency evidence, and live execution checks.
|
|
71
|
+
|
|
72
|
+
New signature suites require suite-specific validators plus wrong-key, wrong-method, tamper, and downgrade vectors before they can move from registry/planned status to implemented status.
|
|
73
|
+
|
|
74
|
+
## Governance
|
|
75
|
+
|
|
76
|
+
The mark should stay tied to concrete artifacts, not brand aspiration. New public mark claims require docs, vectors, deterministic error codes, release-candidate checks, and service surfaces before public use.
|
|
77
|
+
|
|
78
|
+
The reference implementation ships inside the `xoonya` npm package until external adoption or governance pressure justifies a separate standards repository.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# XNYA Reference Implementations
|
|
2
|
+
|
|
3
|
+
`XNYA-compatible` needs independent implementations, not only one JavaScript package. This document defines how Xoonya treats reference implementations without overclaiming maturity before vector parity exists.
|
|
4
|
+
|
|
5
|
+
## Current Reference
|
|
6
|
+
|
|
7
|
+
The current canonical reference implementation ships inside the `xoonya` npm package:
|
|
8
|
+
|
|
9
|
+
- `proof_sdk.js` contains the canonical JavaScript helpers, validators, proof builders, and pack generators.
|
|
10
|
+
- `vectors/` contains the positive and adversarial conformance inputs.
|
|
11
|
+
- `bin/xoonya.js` exposes first-run and conformance checks.
|
|
12
|
+
- `bin/xoonya-release.js` exposes public release and standardization artifacts.
|
|
13
|
+
- `server.js` exposes the proof-center JSON surfaces.
|
|
14
|
+
|
|
15
|
+
Required checks:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm run verify:release-candidate
|
|
19
|
+
npm run verify:all
|
|
20
|
+
xoonya conformance --json
|
|
21
|
+
xoonya first-run --verify-native --pretty
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Planned Independent References
|
|
25
|
+
|
|
26
|
+
Python and Rust reference implementations are planned, but they are not public compatibility claims until they pass the same vector floor independently.
|
|
27
|
+
|
|
28
|
+
Candidate names:
|
|
29
|
+
|
|
30
|
+
- `xoonya-native-python`
|
|
31
|
+
- `xoonya-native-rust`
|
|
32
|
+
|
|
33
|
+
Each candidate must implement its own byte parser and verifier. Wrapping the JavaScript runtime is useful for demos, but it is not an independent reference implementation.
|
|
34
|
+
|
|
35
|
+
Promotion evidence is checked separately from scaffold parity:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npm run verify:reference-promotion-gate
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
That verifier proves a complete candidate promotion packet can pass validation, while incomplete packets fail with deterministic rejection codes. The gate requires repository/package evidence, all required vector sets, deterministic error-code parity, independent parser evidence, native signature-suite crypto parity, cross-language round-trip evidence, conformance-mark review, forbidden-claim review, and no secret material.
|
|
42
|
+
|
|
43
|
+
## Python Candidate Scaffold
|
|
44
|
+
|
|
45
|
+
The Python candidate scaffold lives in `reference/python`.
|
|
46
|
+
|
|
47
|
+
It currently covers:
|
|
48
|
+
|
|
49
|
+
- XNYA atom v1 and v2 creation
|
|
50
|
+
- XNYA atom parsing and verification
|
|
51
|
+
- native atom adversarial reject codes
|
|
52
|
+
- XNYP payload profile encoding and parsing
|
|
53
|
+
- line-rate frame checksum verification
|
|
54
|
+
- canonical event hash parity
|
|
55
|
+
- receipt emission for external assertion, native digest, legacy OP_RETURN, and native anchored methods
|
|
56
|
+
- proof-bundle build/verify parity for non-signed native methods
|
|
57
|
+
- adversarial reason parity for non-signed proof-bundle checks
|
|
58
|
+
- deterministic `native_hybrid_design_gated` rejection for the future hybrid/PQ method
|
|
59
|
+
- optional Ed25519 native signed verification when the Python `cryptography` package is available
|
|
60
|
+
- deterministic `native_signature_crypto_dependency_missing` when the optional crypto dependency is absent
|
|
61
|
+
|
|
62
|
+
Run:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npm run verify:reference-python
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
This is vector-parity progress, not a full reference promotion. Python does not yet claim always-on native signature-suite cryptographic verification, secp256k1/P-256 parity, external method import, or all native signed proof-bundle round-trip behavior.
|
|
69
|
+
|
|
70
|
+
Optional Ed25519 crypto check:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npm run verify:reference-python-crypto
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
This command creates an isolated temporary Python virtual environment, installs `reference/python/requirements-optional.txt`, runs the same vector verifier, and requires `verified_signature_suite_count = 1`.
|
|
77
|
+
|
|
78
|
+
Without the optional dependency, the default verifier still passes by proving the explicit dependency boundary.
|
|
79
|
+
|
|
80
|
+
## Rust Candidate Scaffold
|
|
81
|
+
|
|
82
|
+
The Rust candidate scaffold lives in `reference/rust`.
|
|
83
|
+
|
|
84
|
+
It currently covers:
|
|
85
|
+
|
|
86
|
+
- source-only package boundary for `xoonya-native-rust`
|
|
87
|
+
- fixed-size `XNYA` atom constants
|
|
88
|
+
- v1/v2 atom byte-length checks
|
|
89
|
+
- deterministic atom parser error codes
|
|
90
|
+
- `publish = false` until vector parity and promotion gates exist
|
|
91
|
+
|
|
92
|
+
Run:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npm run verify:reference-rust-scaffold
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
This is a packaging and boundary guard only. It does not compile Rust in the
|
|
99
|
+
current release path, does not run positive/adversarial vectors, and does not
|
|
100
|
+
claim `XNYA-compatible` status for Rust.
|
|
101
|
+
|
|
102
|
+
## Required Vector Floor
|
|
103
|
+
|
|
104
|
+
An independent implementation must pass:
|
|
105
|
+
|
|
106
|
+
- `vectors/conformance-vectors.json`
|
|
107
|
+
- `vectors/adversarial-vectors.json`
|
|
108
|
+
- `vectors/native-atom-vectors.json`
|
|
109
|
+
- `vectors/native-payload-profile-vectors.json`
|
|
110
|
+
|
|
111
|
+
The implementation must also produce stable reject reasons equivalent to the published deterministic error codes.
|
|
112
|
+
|
|
113
|
+
## Required Behavior
|
|
114
|
+
|
|
115
|
+
An implementation may claim `XNYA-compatible` only when it:
|
|
116
|
+
|
|
117
|
+
- parses `XNYA` atoms exactly by byte layout and fixed size
|
|
118
|
+
- preserves `XNYA` atom v1 and v2 domain separation
|
|
119
|
+
- parses `XNYP` payload profiles without loose JSON, floats, or implicit type coercion
|
|
120
|
+
- rejects unsupported or malformed native atoms with deterministic errors
|
|
121
|
+
- rejects `algorithm: "none"` as a production proof method
|
|
122
|
+
- verifies only implemented signature suites with suite-specific validators
|
|
123
|
+
- treats PQ/hybrid methods as design-gated until validators and vectors exist
|
|
124
|
+
- binds external proof formats without claiming external issuer truth
|
|
125
|
+
- binds anchor references without claiming external chain or provider finality truth
|
|
126
|
+
|
|
127
|
+
## Promotion Gates
|
|
128
|
+
|
|
129
|
+
Independent references become public reference implementations only after:
|
|
130
|
+
|
|
131
|
+
1. A package or repository exists with public source, license, docs, and test commands.
|
|
132
|
+
2. The candidate passes all positive and adversarial vector sets.
|
|
133
|
+
3. The candidate emits deterministic errors that match the JavaScript reference.
|
|
134
|
+
4. The candidate can generate artifacts verified by the JavaScript reference.
|
|
135
|
+
5. The JavaScript reference can generate artifacts verified by the candidate.
|
|
136
|
+
6. The candidate satisfies the `XNYA-compatible` mark without forbidden claims.
|
|
137
|
+
7. The candidate passes `npm run verify:reference-promotion-gate` with promotion evidence that does not contain private keys, access tokens, credentials, or authorization material.
|
|
138
|
+
|
|
139
|
+
## Non-Claims
|
|
140
|
+
|
|
141
|
+
The reference implementation plan does not claim:
|
|
142
|
+
|
|
143
|
+
- PQ or hybrid runtime validation
|
|
144
|
+
- live external provider execution
|
|
145
|
+
- identity, authentication, custody, transport, or settlement security
|
|
146
|
+
- Rust vector parity or full Rust reference status
|
|
147
|
+
- external issuer truth for JWT, DID/VC, SD-JWT VC, signed-envelope, or partner proofs
|
|
148
|
+
- external chain or provider finality truth
|
|
149
|
+
|
|
150
|
+
Those claims require separate validators, policies, and evidence.
|
|
151
|
+
|
|
152
|
+
## Service Surface
|
|
153
|
+
|
|
154
|
+
The machine-readable pack is exposed at:
|
|
155
|
+
|
|
156
|
+
- `GET /v1/proof-center/native-reference-implementations`
|
|
157
|
+
- `GET /v1/proof-center/native-reference-implementations/summary`
|
|
@@ -331,6 +331,8 @@ This should provide stronger-crypto or PQC-sensitive proof lanes if production n
|
|
|
331
331
|
|
|
332
332
|
The current rule is strict: `xoonya-native-hybrid-v1` remains design-gated until runtime validators, public key formats, conformance vectors, adversarial vectors, and deterministic error codes exist. Xoonya may expose readiness and promotion criteria for this method, but must not claim PQC or hybrid verification before those artifacts are real.
|
|
333
333
|
|
|
334
|
+
Before promotion, any proof bundle that directly asks the current verifier to accept `xoonya-native-hybrid-v1` must fail with the deterministic reason `native_hybrid_design_gated`. Hybrid-looking native signatures also must not verify through an external assertion method; those downgrade attempts fail as `signature_method_mismatch`.
|
|
335
|
+
|
|
334
336
|
## Crypto And Identity Support Boundary
|
|
335
337
|
|
|
336
338
|
Xoonya Native supports cryptographic ecosystems by committing to their canonical identity or proof material. It does not become those ecosystems.
|
|
@@ -10,7 +10,7 @@ The goal is not to create a format for novelty. The goal is to preserve a small
|
|
|
10
10
|
|
|
11
11
|
## Compatibility Marks
|
|
12
12
|
|
|
13
|
-
The phrase `
|
|
13
|
+
The phrase `XNYA-compatible` should mean:
|
|
14
14
|
|
|
15
15
|
- the implementation accepts the canonical `XNYA` atom magic
|
|
16
16
|
- it validates the published byte layouts exactly
|
|
@@ -18,6 +18,7 @@ The phrase `Xoonya Native compatible` should mean:
|
|
|
18
18
|
- it passes the published conformance vectors
|
|
19
19
|
- it rejects the published adversarial vectors
|
|
20
20
|
- it does not redefine a published version line
|
|
21
|
+
- it follows the public mark rules in `XNYA_CONFORMANCE_MARK.md`
|
|
21
22
|
|
|
22
23
|
Implementations that use a different magic value, different field ordering, different hash derivation, or soft-forked validation behavior are not Xoonya Native atom implementations. They are separate formats.
|
|
23
24
|
|
|
@@ -91,6 +92,8 @@ Not current public claims:
|
|
|
91
92
|
|
|
92
93
|
The current Xoonya Native atom conformance surface is:
|
|
93
94
|
|
|
95
|
+
- `GET /v1/proof-center/native-conformance-mark`
|
|
96
|
+
- `GET /v1/proof-center/native-conformance-mark/summary`
|
|
94
97
|
- `GET /v1/proof-center/native-atom-spec`
|
|
95
98
|
- `GET /v1/proof-center/native-atom-spec/summary`
|
|
96
99
|
- `GET /v1/proof-center/native-atom-conformance`
|
package/bin/xoonya-release.js
CHANGED
|
@@ -51,6 +51,12 @@ const {
|
|
|
51
51
|
buildReleaseCandidatePack,
|
|
52
52
|
summarizeReleaseCandidatePack
|
|
53
53
|
} = require("../lib/release_candidate");
|
|
54
|
+
const {
|
|
55
|
+
buildXoonyaNativeConformanceMarkPack,
|
|
56
|
+
summarizeXoonyaNativeConformanceMarkPack,
|
|
57
|
+
buildXoonyaNativeReferenceImplementationPack,
|
|
58
|
+
summarizeXoonyaNativeReferenceImplementationPack
|
|
59
|
+
} = require("../proof_sdk");
|
|
54
60
|
const {
|
|
55
61
|
buildPhaseProgramPack,
|
|
56
62
|
summarizePhaseProgramPack
|
|
@@ -528,7 +534,7 @@ function printUsage() {
|
|
|
528
534
|
process.stderr.write(
|
|
529
535
|
[
|
|
530
536
|
"Usage:",
|
|
531
|
-
" xoonya-release [--summary] [--comparison] [--adoption] [--scenarios] [--launch] [--manifest] [--notes] [--center] [--history] [--phases] [--phase-1] [--phase-1-openai-codex] [--phase-1-openai-codex-proof] [--phase-1-claude-mcp] [--phase-1-claude-mcp-proof] [--phase-2] [--phase-2-completion] [--phase-2-freeze-review] [--phase-2-gate] [--phase-2-closeout] [--phase-2-decision-record] [--phase-2-decision-resolution] [--phase-2-flip-preview] [--phase-2-evm-proof] [--phase-2-evm-base-proof] [--phase-2-base-proof] [--phase-2-usdc-proof] [--phase-2-base-usdc-proof] [--phase-2-eth-proof] [--phase-3] [--phase-3-native-continuity] [--phase-3-freeze-baseline] [--phase-3-completion] [--phase-3-freeze-review] [--phase-3-gate] [--phase-3-closeout] [--phase-3-decision-record] [--phase-3-decision-resolution] [--phase-3-bsv-teranode-proof] [--phase-3-metanet-proof] [--phase-3-brc-proof] [--phase-4] [--phase-4-trust-continuity] [--phase-4-completion] [--phase-4-freeze-baseline] [--phase-4-freeze-review] [--phase-4-gate] [--phase-4-closeout] [--phase-4-decision-record] [--phase-4-decision-resolution] [--phase-4-erc8004-proof] [--phase-4-identity-registry-proof] [--phase-4-attestation-proof] [--phase-5] [--phase-5-major-rails-continuity] [--phase-5-completion] [--phase-5-freeze-baseline] [--phase-5-freeze-review] [--phase-5-gate] [--phase-5-closeout] [--phase-5-decision-record] [--phase-5-decision-resolution] [--phase-5-solana-proof] [--phase-5-antelope-proof] [--phase-5-proton-xpr-proof] [--phase-6] [--phase-6-framework-continuity] [--phase-6-completion] [--phase-6-freeze-baseline] [--phase-6-freeze-review] [--phase-6-gate] [--phase-6-closeout] [--phase-6-decision-record] [--phase-6-decision-resolution] [--phase-6-langgraph-proof] [--phase-6-langchain-proof] [--phase-6-autogen-proof] [--phase-6-semantic-kernel-proof] [--phase-7] [--phase-7-event-system-continuity] [--phase-7-completion] [--phase-7-freeze-baseline] [--phase-7-freeze-review] [--phase-7-gate] [--phase-7-closeout] [--phase-7-decision-record] [--phase-7-decision-resolution] [--phase-7-kafka-proof] [--phase-7-nats-proof] [--phase-7-mqtt-proof] [--phase-7-webhook-event-bus-proof] [--phase-8] [--phase-8-proof-bridge-continuity] [--phase-8-completion] [--phase-8-freeze-baseline] [--phase-8-freeze-review] [--phase-8-gate] [--phase-8-closeout] [--phase-8-decision-record] [--phase-8-decision-resolution] [--phase-8-external-result-import-proof] [--phase-8-external-receipt-import-proof] [--phase-8-proof-bundle-normalization-proof] [--phase-9] [--phase-9-treasury-continuity] [--phase-9-completion] [--phase-9-freeze-baseline] [--phase-9-freeze-review] [--phase-9-gate] [--phase-9-closeout] [--phase-9-decision-record] [--phase-9-decision-resolution] [--phase-9-treasury-destinations-proof] [--phase-9-custody-refs-proof] [--phase-9-operator-accounting-bridges-proof] [--phase-10] [--phase-10-long-tail-continuity] [--phase-10-completion] [--phase-10-freeze-baseline] [--phase-10-freeze-review] [--phase-10-gate] [--phase-10-closeout] [--phase-10-decision-record] [--phase-10-decision-resolution] [--phase-10-demand-signal-adapters-proof] [--phase-10-niche-extension-registry-proof] [--phase-10-ecosystem-backlog-triage-proof] [--publish-plan] [--ecosystem] [--narrative] [--outreach-proof] [--announcement] [--candidate] [--pretty]",
|
|
537
|
+
" xoonya-release [--summary] [--comparison] [--adoption] [--scenarios] [--launch] [--manifest] [--notes] [--center] [--history] [--native-conformance-mark] [--native-reference-implementations] [--phases] [--phase-1] [--phase-1-openai-codex] [--phase-1-openai-codex-proof] [--phase-1-claude-mcp] [--phase-1-claude-mcp-proof] [--phase-2] [--phase-2-completion] [--phase-2-freeze-review] [--phase-2-gate] [--phase-2-closeout] [--phase-2-decision-record] [--phase-2-decision-resolution] [--phase-2-flip-preview] [--phase-2-evm-proof] [--phase-2-evm-base-proof] [--phase-2-base-proof] [--phase-2-usdc-proof] [--phase-2-base-usdc-proof] [--phase-2-eth-proof] [--phase-3] [--phase-3-native-continuity] [--phase-3-freeze-baseline] [--phase-3-completion] [--phase-3-freeze-review] [--phase-3-gate] [--phase-3-closeout] [--phase-3-decision-record] [--phase-3-decision-resolution] [--phase-3-bsv-teranode-proof] [--phase-3-metanet-proof] [--phase-3-brc-proof] [--phase-4] [--phase-4-trust-continuity] [--phase-4-completion] [--phase-4-freeze-baseline] [--phase-4-freeze-review] [--phase-4-gate] [--phase-4-closeout] [--phase-4-decision-record] [--phase-4-decision-resolution] [--phase-4-erc8004-proof] [--phase-4-identity-registry-proof] [--phase-4-attestation-proof] [--phase-5] [--phase-5-major-rails-continuity] [--phase-5-completion] [--phase-5-freeze-baseline] [--phase-5-freeze-review] [--phase-5-gate] [--phase-5-closeout] [--phase-5-decision-record] [--phase-5-decision-resolution] [--phase-5-solana-proof] [--phase-5-antelope-proof] [--phase-5-proton-xpr-proof] [--phase-6] [--phase-6-framework-continuity] [--phase-6-completion] [--phase-6-freeze-baseline] [--phase-6-freeze-review] [--phase-6-gate] [--phase-6-closeout] [--phase-6-decision-record] [--phase-6-decision-resolution] [--phase-6-langgraph-proof] [--phase-6-langchain-proof] [--phase-6-autogen-proof] [--phase-6-semantic-kernel-proof] [--phase-7] [--phase-7-event-system-continuity] [--phase-7-completion] [--phase-7-freeze-baseline] [--phase-7-freeze-review] [--phase-7-gate] [--phase-7-closeout] [--phase-7-decision-record] [--phase-7-decision-resolution] [--phase-7-kafka-proof] [--phase-7-nats-proof] [--phase-7-mqtt-proof] [--phase-7-webhook-event-bus-proof] [--phase-8] [--phase-8-proof-bridge-continuity] [--phase-8-completion] [--phase-8-freeze-baseline] [--phase-8-freeze-review] [--phase-8-gate] [--phase-8-closeout] [--phase-8-decision-record] [--phase-8-decision-resolution] [--phase-8-external-result-import-proof] [--phase-8-external-receipt-import-proof] [--phase-8-proof-bundle-normalization-proof] [--phase-9] [--phase-9-treasury-continuity] [--phase-9-completion] [--phase-9-freeze-baseline] [--phase-9-freeze-review] [--phase-9-gate] [--phase-9-closeout] [--phase-9-decision-record] [--phase-9-decision-resolution] [--phase-9-treasury-destinations-proof] [--phase-9-custody-refs-proof] [--phase-9-operator-accounting-bridges-proof] [--phase-10] [--phase-10-long-tail-continuity] [--phase-10-completion] [--phase-10-freeze-baseline] [--phase-10-freeze-review] [--phase-10-gate] [--phase-10-closeout] [--phase-10-decision-record] [--phase-10-decision-resolution] [--phase-10-demand-signal-adapters-proof] [--phase-10-niche-extension-registry-proof] [--phase-10-ecosystem-backlog-triage-proof] [--publish-plan] [--ecosystem] [--narrative] [--outreach-proof] [--announcement] [--candidate] [--pretty]",
|
|
532
538
|
"",
|
|
533
539
|
"Options:",
|
|
534
540
|
" --summary Emit the compact release-pack summary",
|
|
@@ -540,6 +546,8 @@ function printUsage() {
|
|
|
540
546
|
" --notes Emit the release notes artifact",
|
|
541
547
|
" --center Emit the canonical release center artifact",
|
|
542
548
|
" --history Emit the release history artifact",
|
|
549
|
+
" --native-conformance-mark Emit the XNYA conformance-mark artifact",
|
|
550
|
+
" --native-reference-implementations Emit the XNYA reference-implementation plan",
|
|
543
551
|
" --phases Emit the multi-phase adapter program artifact",
|
|
544
552
|
" --phase-1 Emit the Phase 1 ecosystem artifact",
|
|
545
553
|
" --phase-1-openai-codex Emit the Phase 1 OpenAI/Codex ecosystem artifact",
|
|
@@ -686,6 +694,8 @@ function main() {
|
|
|
686
694
|
const notes = args.includes("--notes");
|
|
687
695
|
const center = args.includes("--center");
|
|
688
696
|
const history = args.includes("--history");
|
|
697
|
+
const nativeConformanceMark = args.includes("--native-conformance-mark");
|
|
698
|
+
const nativeReferenceImplementations = args.includes("--native-reference-implementations");
|
|
689
699
|
const phases = args.includes("--phases");
|
|
690
700
|
const phase1 = args.includes("--phase-1");
|
|
691
701
|
const phase1OpenaiCodex = args.includes("--phase-1-openai-codex");
|
|
@@ -844,6 +854,14 @@ function main() {
|
|
|
844
854
|
payload = summarizeReleaseHistory();
|
|
845
855
|
} else if (history) {
|
|
846
856
|
payload = buildReleaseHistory();
|
|
857
|
+
} else if (nativeConformanceMark && summary) {
|
|
858
|
+
payload = summarizeXoonyaNativeConformanceMarkPack();
|
|
859
|
+
} else if (nativeConformanceMark) {
|
|
860
|
+
payload = buildXoonyaNativeConformanceMarkPack();
|
|
861
|
+
} else if (nativeReferenceImplementations && summary) {
|
|
862
|
+
payload = summarizeXoonyaNativeReferenceImplementationPack();
|
|
863
|
+
} else if (nativeReferenceImplementations) {
|
|
864
|
+
payload = buildXoonyaNativeReferenceImplementationPack();
|
|
847
865
|
} else if (phases && summary) {
|
|
848
866
|
payload = summarizePhaseProgramPack();
|
|
849
867
|
} else if (phases) {
|
package/bin/xoonya.js
CHANGED
|
@@ -41,6 +41,7 @@ function printStartHere() {
|
|
|
41
41
|
" xoonya conformance --json",
|
|
42
42
|
"4. Inspect native proof surfaces:",
|
|
43
43
|
" https://xoonya.onrender.com/v1/proof-center/native-standard/summary",
|
|
44
|
+
" https://xoonya.onrender.com/v1/proof-center/native-conformance-mark/summary",
|
|
44
45
|
" https://xoonya.onrender.com/v1/proof-center/native-anchor-profile/summary",
|
|
45
46
|
"",
|
|
46
47
|
"Native proof modes:",
|
package/lib/release_history.js
CHANGED
|
@@ -10,6 +10,33 @@ function buildReleaseHistory() {
|
|
|
10
10
|
current_version: packageJson.version,
|
|
11
11
|
release_track: "public_release",
|
|
12
12
|
history: [
|
|
13
|
+
{
|
|
14
|
+
version: "2.8.0",
|
|
15
|
+
channel: "public_release",
|
|
16
|
+
maturity_posture: "native_standard_hardened",
|
|
17
|
+
headline: "XNYA standard-hardening release with conformance mark, reference promotion discipline, Python/Rust scaffold evidence, PQ/hybrid design gating, and external proof truth boundaries",
|
|
18
|
+
milestone_refs: [
|
|
19
|
+
"xnya_conformance_mark",
|
|
20
|
+
"xnya_reference_implementation_plan",
|
|
21
|
+
"python_xnya_vector_and_crypto_scaffold",
|
|
22
|
+
"rust_xnya_source_scaffold",
|
|
23
|
+
"native_hybrid_design_gate",
|
|
24
|
+
"external_proof_import_truth_gate"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
version: "2.7.0",
|
|
29
|
+
channel: "public_release",
|
|
30
|
+
maturity_posture: "expansion_closeout",
|
|
31
|
+
headline: "expansion-closeout release with packaged conformance verifiers, clean-consumer release smoke testing, and disciplined native-standard claim boundaries",
|
|
32
|
+
milestone_refs: [
|
|
33
|
+
"npm_packaged_first_run_native_verification",
|
|
34
|
+
"npm_packaged_conformance_cli",
|
|
35
|
+
"release_candidate_packaging_guard",
|
|
36
|
+
"clean_consumer_release_smoke",
|
|
37
|
+
"expansion_closeout_claim_boundaries"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
13
40
|
{
|
|
14
41
|
version: "2.6.0",
|
|
15
42
|
channel: "public_release",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xoonya",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"description": "Deterministic proof and review engine for receipts, handoffs, governance, and verification.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -23,8 +23,10 @@
|
|
|
23
23
|
"proof_sdk.js",
|
|
24
24
|
"server.js",
|
|
25
25
|
"bin/",
|
|
26
|
+
"scripts/",
|
|
26
27
|
"lib/",
|
|
27
28
|
"integrations/",
|
|
29
|
+
"reference/",
|
|
28
30
|
"vectors/",
|
|
29
31
|
"RELEASE_NOTES.md",
|
|
30
32
|
".env.example",
|
|
@@ -32,6 +34,8 @@
|
|
|
32
34
|
"XOONYA_NATIVE_PROOF_FORMAT.md",
|
|
33
35
|
"XOONYA_NATIVE_ATOM_SPEC.md",
|
|
34
36
|
"XOONYA_NATIVE_STANDARD_GOVERNANCE.md",
|
|
37
|
+
"XNYA_CONFORMANCE_MARK.md",
|
|
38
|
+
"XNYA_REFERENCE_IMPLEMENTATIONS.md",
|
|
35
39
|
"WHY_XYTARA_XOONYA.md",
|
|
36
40
|
"CARRIED_HANDOFF_DEMO.md",
|
|
37
41
|
"PARTNER_READY_PATH.md",
|
|
@@ -68,13 +72,19 @@
|
|
|
68
72
|
"start": "node server.js",
|
|
69
73
|
"verify:package": "node scripts/verify_all.js",
|
|
70
74
|
"verify:conformance": "node scripts/verify_vectors.js",
|
|
75
|
+
"verify:external-proof-import-gate": "node scripts/verify_external_proof_import_gate.js",
|
|
71
76
|
"verify:integrations": "node scripts/verify_integrations.js",
|
|
72
77
|
"verify:tooling": "node scripts/verify_tooling.js",
|
|
78
|
+
"verify:reference-python": "node scripts/verify_reference_python.js",
|
|
79
|
+
"verify:reference-python-crypto": "node scripts/verify_reference_python_crypto.js",
|
|
80
|
+
"verify:reference-promotion-gate": "node scripts/verify_reference_promotion_gate.js",
|
|
81
|
+
"verify:reference-rust-scaffold": "node scripts/verify_reference_rust_scaffold.js",
|
|
82
|
+
"verify:native-hybrid-gate": "node scripts/verify_native_hybrid_design_gate.js",
|
|
73
83
|
"verify:vectors": "node scripts/verify_vectors.js",
|
|
74
84
|
"verify:examples": "node scripts/verify_examples.js",
|
|
75
85
|
"verify:service": "node scripts/verify_service.js",
|
|
76
86
|
"verify:release-candidate": "node scripts/verify_release_candidate.js",
|
|
77
|
-
"verify:all": "node scripts/verify_all.js && node scripts/verify_integrations.js && node scripts/verify_tooling.js && node scripts/verify_vectors.js && node scripts/verify_examples.js && node scripts/verify_service.js",
|
|
87
|
+
"verify:all": "node scripts/verify_all.js && node scripts/verify_external_proof_import_gate.js && node scripts/verify_integrations.js && node scripts/verify_tooling.js && node scripts/verify_vectors.js && node scripts/verify_reference_python.js && node scripts/verify_reference_promotion_gate.js && node scripts/verify_reference_rust_scaffold.js && node scripts/verify_native_hybrid_design_gate.js && node scripts/verify_examples.js && node scripts/verify_service.js",
|
|
78
88
|
"prepublishOnly": "npm run verify:release-candidate"
|
|
79
89
|
}
|
|
80
90
|
}
|