Go canonical entry-point for the Lux cryptography stack. Vanilla Go bodies for primitives that need them in-process (secp256k1, blake3, banderwagon, verkle), with a Rust workspace of 21 crates that bind to the `luxcpp/crypto` C-ABI for everything else.
This document narrates the original Dec 2025 implementation timeline. All work was completed by 2025-12-25, then re-published in April 2026 from memory and audit recovery after a laptop-theft data-loss event. Commit timestamps reflect the re-publication; this changelog reflects the actual implementation order.
Removed org-prefixed identifiers from domain-separation tags, env vars, and Rust extern link names. The Rust C-ABI declarations were aligned with the bare symbol convention so that one `lux-crypto-*` crate per primitive can dlsym a single uniformly-prefixed surface.
- Re-published as: `crypto: brand-neutral DSTs, env vars, and Rust c-abi link names` (`61f15bf7b650210b21e4f0e6c565a17d86df0c87`)
- Re-published as: `rust: align extern "C" decls with bare C-ABI symbol convention` (`889c15c88243bd5763a2fbeba8798203299825a9`)
Wired the canonical `lux/crypto/banderwagon` package as the import target across the verkle implementation: 10 imports rewritten across 9 files. After this pass there is a single banderwagon home and all dependents follow it.
Added a deterministic seeded generator constructor so cross-language KATs (Go, Rust, C++) all derive byte-equal generators from a frozen golden seed. The golden vector was frozen at this point and has not moved since.
Twenty-one Rust crates landed: one umbrella (`lux-crypto`) plus twenty leaves. Five crates ship fully-working bodies on the canonical C-ABI; fifteen leaves are honest `NOTIMPL` with `#[ignore]`'d tests so the workspace builds clean and no fake passes are reported. All six standard checks (build / test / fmt / clippy / docs / publish-dry-run) pass green.
Original implementation completed by 2025-12-25. Source tree was lost in a laptop-theft event in early 2026. Re-published 2026-04-27 / 2026-04-28 from memory and audit recovery. Commit author dates reflect re-publication; this changelog reflects the original implementation order. Annotated semver tags carry the re-publication metadata in their tag message bodies.