Release dependency continuation — 2026-09-12
The BBG changes since the source rehearsal preserve the public proof and state
certificate bytes. All three archived state fixtures verify with current BBG and
regenerate byte-for-byte. The dependency closure now requires neuron/id; the
storage migration marker introduces an explicit older-binary boundary.
Compared inputs and scope
Baseline: /tmp/cyber-release-source-v7-20260912/bbg, from source archive SHA-256
9bce1a685bc5568277f01865c505008c43e733e1d242611ca047a228f0ae1961.
Current: /Users/master/cyber/bbg and /Users/master/cyber/neuron/id.
Read BBG and Neuron working instructions and the exact source diffs. This review
changed only this audit file; production code and lock updates belong to their
owners. The Linux VM remained idle.
Dependency and protocol findings
rs/Cargo.tomladdsneuron-idversion0.1 at../../neuron/id. The BBG lock delta adds that dependency and its path package, version0.1.0; no registry package versions change in this delta.types.rsreplacespub type NeuronId = [u8; 32]with the re-exportpub use neuron_id::NeuronId. That crate is#![no_std], has no dependencies, and defines precisely the same alias. It adds no derivation, authentication, serialization adapter or runtime machinery. A neuron identifier remains32bytes.certificate.rs,proof.rs,query.rs,query_auth.rs,query_wire.rs,dim.rs,state.rs,state/commits.rs, and the query-proof golden fixture are unchanged relative to the rehearsal. No public proof/certificate version, namespace layout, root serialization or field encoding changes in this delta.- Neuron's workspace contains other packages, but the product dependency reaches
only
neuron-id. The source archive must include its workspace manifest and inherited license/edition context. Resolving all Neuron workspace members is a different dependency denominator from the product closure.
Storage changes and compatibility boundary
storage/application.rs adds bounded semantic namespace activation:
NamespaceMigration, MigrationTarget, apply_migration, migration_target,
and Error::Fenced. Activation validates nonempty, sorted, distinct source
namespaces (maximum256), checks exact source heads in the transaction, and stores
immutable source-to-target/manifest fences. Ordinary subsequent writes to a
fenced source fail; exact historical retries are checked first and remain usable.
The existing migration status slot receives neuron-v1. Current Database open
accepts that completed status or complete; older binaries reject neuron-v1.
Consequently, reopening an activated database with an older binary is unsupported
by design, even though public state certificates remain compatible. Semantic
mapping, authorization and fingerprint framing belong to the application adapter,
as stated in specs/application-storage.md.
The seven native record domains already existed in the rehearsal. Latest
records.rs and backend_fjall.rs changes are formatting and SSD-only gating of
RecordDomain::ALL. Added tests exercise shared native/application/shard commits,
rollback, bounded reads/scans, reopen and injected storage failures. These changes
do not insert application records into the public certificate tables.
Executed checks
Host compiler: rustc1.95.0 Homebrew. This continuation is separate from the
previous native release build with Rust1.89.
| Command | Actual result |
|---|---|
cargo test --manifest-path bbg/rs/Cargo.toml --all-features --locked |
152 passed, 0 failed, 0 ignored; exit0 |
cargo test --manifest-path bbg/rs/Cargo.toml --locked |
82 passed, 0 failed, 0 ignored; exit0, zero warnings |
cargo test --manifest-path neuron/Cargo.toml -p neuron-id --locked |
exit0; alias-only crate has 0 unit and 0 doc tests |
| Temporary external fixture probe against current BBG with serde | All three old certificates verify, round-trip exactly, and regenerate exactly |
BBG coverage includes72 unit tests, application migration13, application storage5, look integration3, native records3, native transitions13, authenticated queries6, serde wire4, shared application8, state certificates5, storage contract13, persistence5 and storage-tier failures2. No tests were ignored or filtered.
Logs: /tmp/bbg-dependency-continuation-tests.log,
/tmp/bbg-dependency-continuation-default.log,
/tmp/neuron-id-continuation-tests.log, /tmp/bbg-old-fixture-compatibility.log.
The fixture probe lives entirely under /tmp/bbg-old-fixture-compatibility/;
it deserializes each old certificate, recomputes and verifies its root, checks the
pretty-JSON round-trip and independently reconstructs the energy77/88 graph and
requested namespaces to compare complete regenerated bytes.
Three vendored Fjall warnings remain in the all-feature run:
config.rs:49 unused journal_recovery_mode, stats.rs:26 unused
outstanding_flushes, and tx/keyspace.rs:42 mismatched lifetime syntax in
write_tx. The fourth warning-prefixed log line summarizes these three.
This receipt therefore does not claim a warning-free all-feature BBG build.
Exact old fixture compatibility
Input files were extracted from the already verified native Linux archive
/tmp/cyber-native-linux-rehearsal-20260912/cyber-tools-linux-aarch64-rehearsal.tar.gz,
SHA-256 bc0178a663d372420a2713b4aa7f8a9355d1c60e80c206b9ab88a1618234bd1d.
| Fixture | SHA-256, unchanged after current-code regeneration |
|---|---|
| state.json | 8953a46858800afc0b9e9cd3a2a9869efec0f3fea1177c2b63c4180458b3b2e8 |
| other-state.json | 16b1bab42e8f64781c9723cc1b5122ea43690b98eda5673e2dfddd97eb72ab5f |
| state-all.json | 2a0e6d0d29ab36f8259dc3512e9db0b05fb1ea7f62a780a274c36df9d864b02c |
A fresh final source archive and product rebuild must include the new dependency and corrected owning lockfiles. Fixture compatibility does not make the old binary archive a build of the newly changed source. No publication occurred.