//! # `viterbi`
//!
//! Pure-Rust, `#![forbid(unsafe_code)]`, `no_std`-friendly convolutional encoder
//! and Viterbi (Maximum-Likelihood Sequence Estimation) decoder.
//!
//! This crate is the **inner code** of the classic CCSDS concatenated coding
//! scheme (`K = 7`, `R = 1/2`), designed to pair with the outer Reed–Solomon
//! code [`reedsolomon-rs`](https://github.com/BolivarTech/reedsolomon-rs) via an
//! interleaver:
//!
//! ```text
//! TX: data → [RS(255,223)] → [interleaver] → [conv. K=7] → CHANNEL
//! RX: CHANNEL → [Viterbi] → [de-interleaver] → [RS decode] → data
//! └── this crate
//! ```
//!
//! ## Status
//!
//! **Pre-release (`v0.0.0`).** This is a name-reservation placeholder; the public
//! API is not yet stable and the encoder/decoder are under active development
//! following an SBTDD (Spec → Behavior → Test-Driven Development) methodology.
//! See `VITERBI_CRATE_SPEC.md` in the repository for the full design.
//!
//! ## Design invariants
//!
//! - Pure Rust, no `unsafe` (`forbid`ed crate-wide).
//! - `no_std`-first; `alloc`/`std` reserved as additive features.
//! - Deterministic: same input ⇒ same output, bit-for-bit, on every platform.
/// Crate version string, sourced from `Cargo.toml` at compile time.
pub const VERSION: &str = env!;