Coordinated breaking release: version and Cargo closure map
Date: 2026-09-11. Initial read-only review, followed by parent-authorized application of the proposed versions and compiler API 2. The tables retain the pre-change versions as the migration record. Registry availability/name ownership was not checked or claimed. Versions must additionally be free in the intended registry before publication.
Release numbering correction — 2026-09-16
The published Trident versions on GitHub and crates.io are 0.1.0 and 0.2.0. The 0.3.0 value in the development branch was never published. Advancing it again to 0.4.0 was unnecessary: the next coordinated release is Trident 0.3.0, with Trisha 0.3.0 and Joy 0.5.0. Compiler API 3 remains unchanged. The historical tables below record the earlier proposed/applied candidate numbers, not the final release numbering. New manifests and dependency requirements use Trident 0.3.0; old audit receipts retain their actual versions. Final archives are rebuilt from the corrected committed source, and their hashes must pass the release gates before publication.
Applied version set (previous → new)
Use new pre-1.0 minor versions for changed execution/proof acceptance and public interfaces. Cargo treats the leftmost nonzero version component as the compatibility boundary; behavior changes also require maintainer judgment (Cargo SemVer guidance). Do not reuse an earlier candidate version for these changed binaries and artifacts.
| Package | Previous | Applied |
|---|---|---|
bbg |
0.2.1 | 0.3.0 |
cyber-joy |
0.4.0 | 0.5.0 |
cyber-lens |
0.1.3 | 0.2.0 |
cyber-lens-assayer |
0.1.1 | 0.2.0 |
cyber-lens-brakedown |
0.1.1 | 0.2.0 |
cyber-lens-ikat |
0.1.1 | 0.2.0 |
cyber-lens-porphyry |
0.1.1 | 0.2.0 |
cyber-nox |
0.2.0 | 0.3.0 |
joy-rs |
0.4.0 | 0.5.0 |
lens-cli |
0.1.2 | 0.2.0 |
nox-cli |
0.1.0 | 0.2.0 |
trident-lang |
0.3.0 | 0.4.0 |
trisha |
0.2.0 | 0.3.0 |
trisha-honeycrisp |
0.2.0 | 0.3.0 |
trisha-neptune |
new private adapter crate | 0.3.0 |
trisha-rs |
0.2.0 | 0.3.0 |
trisha-wgpu |
0.2.0 | 0.3.0 |
zheng |
0.3.3 | 0.4.0 |
zheng-cli |
0.1.0 | 0.2.0 |
Reasons: Trident changes ownership, public APIs, generated code/event output and cryptographic library behavior; Trisha changes Triton2 to7, native and recursive proof formats, input rejection and compiler integration; Joy changes its private proof backend/envelope; Zheng and BBG change execution/state relations and certificate acceptance. Brakedown opening v3 breaks the old opening transcript/representation, inherited by Ikat and Assayer. Porphyry now rejects unsupported multipoint batches rather than accepting unbound claims. Lens facade and CLI expose those changes. nox depends on the changed Brakedown implementation under its public brakedown feature, so the proposed0.3 isolates that proof behavior even though its arithmetic interpreter source is unchanged in the current diff.
Trisha GPU/helper crates expose the new Trident runtime types and input contract; release them with the CPU crate at0.3. The nox and Zheng CLI versions advance independently from their libraries.
Minimal unchanged set: keep Lens core0.1.2 and Binius0.1.1: no changes to those crate sources/public contracts were found in this working diff. Keep Strata0.1.1, Hemera0.3.1, Honeycrisp helper crates0.2.0 and Tape0.1.0 unless their separate owners identify additional unreleased changes. trident-silicon0.1.0 remains publish=false; updating its nox requirement does not certify experimental backends. Do not bump lens/workspace.package.version blindly: core inherits it. Set CLI0.2 explicitly if keeping the unchanged core0.1.2.
Complete local package closure
Derived from cargo metadata --format-version 1 --all-features --locked --offline for Trident, Trisha, Joy, Zheng, Lens and BBG, plus direct nox workspace inspection. This includes optional/dev edges and local vendor patches, not every unrelated crate in the monorepo. Registry dependencies remain governed by their lockfiles.
| Local package | Manifest | Current → proposed |
|---|---|---|
bbg |
bbg/rs/Cargo.toml |
0.2.1 → 0.3.0 |
fjall |
bbg/rs/vendor/fjall/Cargo.toml |
2.11.2 → 2.11.2 |
cyber-hemera |
hemera/rs/Cargo.toml |
0.3.1 → 0.3.1 |
acpu |
honeycrisp/acpu/Cargo.toml |
0.2.0 → 0.2.0 |
aruminium |
honeycrisp/aruminium/Cargo.toml |
0.2.0 → 0.2.0 |
unimem |
honeycrisp/unimem/Cargo.toml |
0.2.0 → 0.2.0 |
cyber-joy |
joy/cli/Cargo.toml |
0.4.0 → 0.5.0 |
joy-rs |
joy/rs/Cargo.toml |
0.4.0 → 0.5.0 |
cyber-lens-assayer |
lens/assayer/Cargo.toml |
0.1.1 → 0.2.0 |
cyber-lens-binius |
lens/binius/Cargo.toml |
0.1.1 → 0.1.1 |
cyber-lens-brakedown |
lens/brakedown/Cargo.toml |
0.1.1 → 0.2.0 |
lens-cli |
lens/cli/Cargo.toml |
0.1.2 → 0.2.0 |
cyber-lens-core |
lens/core/Cargo.toml |
0.1.2 → 0.1.2 |
cyber-lens-ikat |
lens/ikat/Cargo.toml |
0.1.1 → 0.2.0 |
cyber-lens-porphyry |
lens/porphyry/Cargo.toml |
0.1.1 → 0.2.0 |
cyber-lens |
lens/src/Cargo.toml |
0.1.3 → 0.2.0 |
nox-cli |
nox/cli/Cargo.toml |
0.1.0 → 0.2.0 |
cyber-nox |
nox/rs/Cargo.toml |
0.2.0 → 0.3.0 |
strata-compute |
strata/compute/Cargo.toml |
0.1.1 → 0.1.1 |
strata-core |
strata/core/Cargo.toml |
0.1.1 → 0.1.1 |
strata-ext |
strata/ext/Cargo.toml |
0.1.1 → 0.1.1 |
strata-genies |
strata/genies/rs/Cargo.toml |
0.1.1 → 0.1.1 |
strata-jali |
strata/jali/rs/Cargo.toml |
0.1.1 → 0.1.1 |
strata-kuro |
strata/kuro/rs/Cargo.toml |
0.1.1 → 0.1.1 |
strata-nebu |
strata/nebu/rs/Cargo.toml |
0.1.1 → 0.1.1 |
strata-proof |
strata/proof/Cargo.toml |
0.1.1 → 0.1.1 |
strata-trop |
strata/trop/rs/Cargo.toml |
0.1.1 → 0.1.1 |
cyber-tape |
tape/impl/rust/Cargo.toml |
0.1.0 → 0.1.0 |
trident-lang |
trident/Cargo.toml |
0.3.0 → 0.4.0 |
trident-silicon |
trident/silicon/Cargo.toml |
0.1.0 → 0.1.0 |
tasm-lib |
trisha/.vendor/tasm-lib/Cargo.toml |
7.0.0 → 7.0.0 |
tasm-object-derive |
trisha/.vendor/tasm-object-derive/Cargo.toml |
7.0.0 → 7.0.0 |
triton-air |
trisha/.vendor/triton-air/Cargo.toml |
7.0.0 → 7.0.0 |
triton-constraint-builder |
trisha/.vendor/triton-constraint-builder/Cargo.toml |
7.0.0 → 7.0.0 |
triton-constraint-circuit |
trisha/.vendor/triton-constraint-circuit/Cargo.toml |
7.0.0 → 7.0.0 |
triton-isa |
trisha/.vendor/triton-isa/Cargo.toml |
7.0.0 → 7.0.0 |
triton-vm |
trisha/.vendor/triton-vm/Cargo.toml |
7.0.0 → 7.0.0 |
twenty-first |
trisha/.vendor/twenty-first/Cargo.toml |
1.1.0 → 1.1.0 |
trisha |
trisha/cli/Cargo.toml |
0.2.0 → 0.3.0 |
trisha-honeycrisp |
trisha/honeycrisp/Cargo.toml |
0.2.0 → 0.3.0 |
trisha-neptune |
trisha/neptune/Cargo.toml |
new → 0.3.0 (publish=false) |
trisha-rs |
trisha/rs/Cargo.toml |
0.2.0 → 0.3.0 |
trisha-wgpu |
trisha/wgpu/Cargo.toml |
0.2.0 → 0.3.0 |
zheng-cli |
zheng/cli/Cargo.toml |
0.1.0 → 0.2.0 |
zheng |
zheng/rs/Cargo.toml |
0.3.3 → 0.4.0 |
Every local dependency edge needing a requirement edit
Proposed requirements below are normal Cargo caret minimums, e.g. version = "0.4.0"; source candidate lockfiles pin exact resolved versions. New path-only requirements are needed for registry packaging even when the dependency itself is unchanged. Unchanged versioned edges are intentionally omitted. Workspace-inherited edges must be edited at their workspace declaration, not duplicated in each member.
| Consumer manifest | Dependency package | Current requirement | Required minimum |
|---|---|---|---|
bbg/rs/Cargo.toml |
cyber-lens |
^0.1.3 |
0.2.0 |
bbg/rs/Cargo.toml |
cyber-nox |
^0.2 |
0.3.0 |
bbg/rs/Cargo.toml |
zheng |
^0.3 |
0.4.0 |
honeycrisp/acpu/Cargo.toml (dev) |
strata-nebu |
* |
0.1.1 |
joy/cli/Cargo.toml |
joy-rs |
^0.4.0 |
0.5.0 |
joy/cli/Cargo.toml |
trident-lang |
^0.3 |
0.4.0 |
joy/cli/Cargo.toml (dev) |
bbg |
^0.2 |
0.3.0 |
joy/rs/Cargo.toml |
bbg |
^0.2 |
0.3.0 |
joy/rs/Cargo.toml |
cyber-nox |
^0.2 |
0.3.0 |
joy/rs/Cargo.toml |
trident-lang |
^0.3 |
0.4.0 |
joy/rs/Cargo.toml |
trisha-rs |
* |
0.3.0 |
joy/rs/Cargo.toml |
zheng |
^0.3.1 |
0.4.0 |
lens/assayer/Cargo.toml |
cyber-lens-brakedown |
^0.1.1 |
0.2.0 |
lens/cli/Cargo.toml |
cyber-lens |
* |
0.2.0 |
lens/ikat/Cargo.toml |
cyber-lens-brakedown |
^0.1.1 |
0.2.0 |
lens/src/Cargo.toml |
cyber-lens-assayer |
^0.1.1 |
0.2.0 |
lens/src/Cargo.toml |
cyber-lens-brakedown |
^0.1.1 |
0.2.0 |
lens/src/Cargo.toml |
cyber-lens-ikat |
^0.1.1 |
0.2.0 |
lens/src/Cargo.toml |
cyber-lens-porphyry |
^0.1.1 |
0.2.0 |
nox/cli/Cargo.toml |
cyber-nox |
* |
0.3.0 |
nox/cli/Cargo.toml |
strata-nebu |
* |
0.1.1 |
nox/rs/Cargo.toml |
cyber-lens-brakedown |
^0.1 |
0.2.0 |
trident/Cargo.toml |
cyber-nox |
^0.2 |
0.3.0 |
trident/silicon/Cargo.toml |
cyber-nox |
^0.2 |
0.3.0 |
trisha/cli/Cargo.toml |
trident-lang |
^0.3 |
0.4.0 |
trisha/cli/Cargo.toml |
trisha-honeycrisp |
^0.2 |
0.3.0 |
trisha/cli/Cargo.toml |
trisha-rs |
^0.2 |
0.3.0 |
trisha/cli/Cargo.toml |
trisha-wgpu |
^0.2 |
0.3.0 |
trisha/honeycrisp/Cargo.toml |
acpu |
* |
0.2.0 |
trisha/honeycrisp/Cargo.toml |
aruminium |
* |
0.2.0 |
trisha/honeycrisp/Cargo.toml |
trident-lang |
^0.3 |
0.4.0 |
trisha/rs/Cargo.toml |
trident-lang |
^0.3 |
0.4.0 |
trisha/rs/Cargo.toml |
zheng |
* |
0.4.0 |
trisha/wgpu/Cargo.toml |
trident-lang |
^0.3 |
0.4.0 |
zheng/cli/Cargo.toml |
cyber-hemera |
* |
0.3.1 |
zheng/cli/Cargo.toml |
cyber-lens |
* |
0.2.0 |
zheng/cli/Cargo.toml |
strata-nebu |
* |
0.1.1 |
zheng/cli/Cargo.toml |
cyber-nox |
* |
0.3.0 |
zheng/cli/Cargo.toml |
cyber-tape |
* |
0.1.0 |
zheng/cli/Cargo.toml |
zheng |
* |
0.4.0 |
zheng/rs/Cargo.toml |
cyber-lens |
^0.1.3 |
0.2.0 |
zheng/rs/Cargo.toml |
cyber-nox |
^0.2 |
0.3.0 |
honeycrisp/acpu dev-nebu is inherited from honeycrisp/Cargo.toml; set the version there. The Lens algebra/Hemera requirements already have compatible versions and need no release-driven edit. Source closure keeps vendored fjall2.11.2, the seven Triton/tasm crates7.0.0 and twenty-first1.1.0 unchanged; do not assign upstream crates local product versions.
Regenerate/check all affected root lockfiles after applying edits: trident/Cargo.lock, trisha/Cargo.lock, joy/Cargo.lock, zheng/Cargo.lock, lens/Cargo.lock, nox/Cargo.lock, bbg/rs/Cargo.lock; Honeycrisp if its inherited dev requirement changes. Before migration, six reviewed root metadata checks passed and nox failed because its lockfile was stale. The applied checkpoint below supersedes that finding: all eight roots now pass locked metadata.
Version literals and protocol identifiers
- Product/owner versions come from
env!("CARGO_PKG_VERSION")in Trisha/Joyrs/target.rs; clap versions derive from Cargo. Rebuild embedded packages, lock artifacts and expected package hashes after a bump. - Before migration,
compiler_api = 1andschema_version = 1were used in Trisha/Joy target constructors and Trident package validation. The review recommended compiler_api2 for a coordinated incompatible compiler/warrior contract; update constructors, validator, target-package test fixtures and CLI fake-warrior descriptions together. JSON schema1 can remain if its structure is unchanged. If compiler_api is intended to describe only JSON compatibility, explicitly document that narrower meaning instead of claiming old-warrior compatibility. - Protocol identifiers must not be mechanically replaced with Cargo versions: native
stark-triton-v7; CCSzheng-ccs-triton7-zk-v2; Joyjoy-nox-ccs-triton7-zk-v3/JOYZK003; publicJOYEXEC2; public-stateJOYST001; BBG certificate2; Brakedown commitment2 and opening3; recursive witness schema1. Current source already distinguishes these. - Lens CLI
src/artifact.rsversion2 andsrc/assayer.rsversion1 are file-envelope versions;src/algo.rsandsrc/assayer.rscontain/v0.1.0transcript domains. They are protocol domains, not stale Cargo labels to replace blindly. Check whether the opening3 payload is explicitly distinguished by existing decoding before choosing any additional envelope/domain bump. - Pinned upstream7.0.0/1.1.0 strings occur in Trisha
patches/apply.nu,patches/tasm.nu, build-candidate checks and migration/wire tests. Preserve them unless the backend changes again. - Release smoke asserts
stark-triton-v7andJOYZK003; retain assertions. Recreate source snapshots, provenance hashes, package JSON, installed binaries and proof fixtures after the final version/requirement edits. Historical changelog versions and frozen protocol vectors should remain historical.
Registry package and path-escape blockers
Cargo requires a version alongside a path dependency for registry publication; published resolution uses that version rather than the local path (Cargo dependency documentation). Path-only edges are enumerated above. This alone is insufficient:
trisha/rs/build.rsscans sibling../lib,../targets,../networks;rs/target.rsdirectly includes sibling target/network files.trisha/cli/build.rsreads../networks/neptune/states. These resources are outside the individual crate roots and are absent in isolated.cratearchives.joy/rs/target.rsincludes../targets/nox/capabilities.json, also outside its crate. Trisha tests include sibling baselines/examples; packaged test targets require those resources too if retained. A packageincludepattern does not make arbitrary sibling trees part of an isolated crate. Move/package generated resources or introduce publishable resource crates before claiming registry installation works.- Trisha and Joy rely on root
[patch.crates-io]vendor overlays. Patches are only read from the workspace root, not propagated through published dependencies (Cargo overrides). A versioned registry dependency on trisha-rs will not install those overlays automatically. Either use compatible upstream APIs without patches or publish/rename owned forks with explicit dependencies, subject to upstream licensing and registry ownership. - Path-version fallback for vendored
bbg/rs/vendor/fjallresolves registry fjall2.11.2 when published; verify that local modifications are not required before relying on that fallback. This review did not assert byte identity of that vendor copy. - Source packaging currently preserves sibling repositories and regenerates vendor overlays, so it can handle these paths.
package-source.nuis a coordinated source distribution, not evidence thatcargo publishorcargo install <registry-name>succeeds. No registry upload/package verification was performed.
Platform evidence and available checks
Host observed: Darwin arm64, aarch64-apple-darwin, rustc1.95.0 (Homebrew), LLVM22.1.3. The current session passed Trident release tests (765 at the last compiler checkpoint) and neural compilation on this host. Trisha7 functional tests and Joy checks are separately recorded by their owners; the expensive recursive outer proof is a separate active gate. This is not an all-platform certificate.
Installed Rust targets: aarch64-apple-darwin, aarch64-linux-android, i686-unknown-linux-musl, wasm32-unknown-unknown, x86_64-unknown-linux-gnu. Only the first is natively executable here. Installed std libraries alone do not provide a cross linker, Linux runtime, Android NDK/device, Wasm engine or GPU.
Available honest next checks:
- Host CPU: rebuild the final versioned archive with
nu trisha/scripts/build-candidate.nu <archive> <prefix>then runsmoke-release.nu; captures installed-bin discovery, source assets, native7 proof and Joy v3 verification. Require the final source hashes and real recursive gate result. - Linux type/build check:
cargo check --manifest-path trident/Cargo.toml --target x86_64-unknown-linux-gnuand equivalent CPU-only Trisha/Joy checks, provided target-specific dependencies/toolchains resolve. This was not run in this read-only version review. A native Linux CI/runner is still required for linkage and runtime/proof validation. - 32-bit/Wasm/Android: installed-target compilation can reveal unsupported assumptions, but these are not current release promises. Native prover dependencies and OS integrations may reject those targets. Do not infer support from the Trident target-design catalog.
- Metal/WGPU/Honeycrisp: host availability does not establish complete proving or execution semantics. Run backend-specific tests and supported capability reports; CPU release results do not certify experimental GPU paths.
- Minimum Rust version: current compiler1.95 does not prove the declared lower MSRV (Lens declares1.89). Run the pinned minimum toolchain separately before publishing an MSRV promise.
Trident README machine/target tables include design and experimental architectures, not verified host platforms. Current packaging scripts explicitly describe CPU coordinated candidates and exclude live deployment/unsupported network capabilities. Preserve those qualifications; raising Cargo versions must not silently promote catalog entries into working release claims.
Applied checkpoint
The 18 proposed package versions and dependent requirements were applied after
parent authorization. Lens core and Binius versions remain unchanged. Target
schema stays 1; compiler API is now 2, with API 1 explicitly rejected. Root
lockfiles were refreshed only through offline Cargo metadata resolution, not
cargo update; observed dependency updates were local workspace packages.
The previously stale nox lockfile was refreshed too. Packaging and platform
limitations above remain applicable; this version change is not publication.
Final metadata validation: all eight roots listed above pass offline locked all-features resolution. Registry package/version sets for the six roots with a pre-migration snapshot are unchanged. Focused API 2 checks passed: Trident target-package/CLI-warrior/source-parity tests, Trisha owner-package tests and Joy build metadata tests. Smoke script syntax was checked; the newly versioned installed full smoke remains the separate final-candidate gate.
2026-09-12 adapter and distribution closure
The new trisha-neptune crate makes Trisha a five-crate workspace. The CLI's
default triton feature enables its optional path dependency; a mining-only
CLI does not pull in transaction proving. The adapter belongs to the warrior,
outside the compiler and CPU execution engine. It constructs canonical output
commitments and validates a complete supplied transaction intent before the
explicit authenticated-gateway submission path.
The production adapter adds seven upstream Git packages, all version 0.15.1
and pinned to Neptune commit 9869b5e35b659dc520fad51ba5a9c812fed46db0:
consensus, primitives, mutator-set, job-queue, rpc-api, rpc-macros and wallet.
This deliberately extends the earlier registry-unchanged checkpoint; the
Trisha and Joy lockfiles now carry the new adapter closure. No broad
cargo update was used. The isolated protocol oracle has its own lockfile.
Fresh --all-features --locked --offline metadata passes for Trident, Trisha,
Joy, Zheng, Lens, BBG (bbg/rs), nox and Honeycrisp. The original seven-root
package inventory now contains 45 local packages, including the new
adapter; including the entire Honeycrisp workspace gives 49. The source
packager's narrower Trisha+Joy dependency closure contains 39 local packages
across 10 repositories. These are different denominators, not omitted files:
each selected repository is copied completely except explicit build artifacts.
Receipts: /tmp/cyber-release-metadata-<repository>.json.
The source distribution carries local repositories and eight pinned patched
Triton-family sources. Other locked Git/registry sources still need Cargo
cache or network access; it is not an offline vendor cache. The public-state
fixture builder now ships its own manifest and lockfile under
trisha/scripts/fixtures/ and builds with --locked --offline. Deterministic
archive ordering, fixed prefix, normalized metadata and complete dirty-input
detection pass their regression tests. Final committed source and installed
binary receipts remain separate release gates.
Typed-entry interface continuation — 2026-09-12
The unshipped coordinated versions remain Trident0.4 / Trisha0.3 / Joy0.5.
Compiler API3 supersedes API2 for resolved typed executable-entry metadata.
trident::COMPILER_API now owns the value; all compiled descriptors and core
package fixtures use it. Schema1 is unchanged. API0/1/2/future values are rejected
by regression tests. Frozen earlier candidate receipts retain API2 identities.
The canonical contract is reference/warrior-api.md; actual typed entry
behavior and proof evidence belong to Trisha's entry ABI reference and audit.