//! ml-alpha — CfC perception + multi-horizon alpha heads.
//!
//! Phase A (this crate): snapshot-level CfC trunk + 5 horizon heads,
//! trained supervised on MBP-10 with multi-horizon BCE. The CfC trunk
//! must beat the Mamba2 baseline (`mamba2_block`) at every horizon
//! before Phase B (PPO) is allowed to start.
//!
//! All hot-path arithmetic runs on GPU. The crate owns no CPU compute
//! on model tensors. See `docs/superpowers/specs/2026-05-16-ml-alpha-cfc-ppo-design.md`.

#![warn(clippy::all)]
#![allow(
    clippy::module_name_repetitions,
    clippy::cast_precision_loss,
    clippy::cast_possible_truncation,
    clippy::missing_errors_doc
)]

// Module declarations are added as each task lands its source.
// Tasks 3-17 progressively turn these on.
//   Task 3:  pub mod isv;
//   Task 4:  pub mod pinned;
//   Task 5+: pub mod cfc;
//   Task 7+: pub mod heads;
//   Task 10+: pub mod trainer;
//   Task 12: pub mod data;
//   Task 16+: pub mod gate;
pub mod cfc;
pub mod data;
pub mod eval;
pub mod heads;
pub mod isv;
pub mod pinned;
pub mod pinned_mem;
pub mod trainer;

// Preserved from prior crate state — used by Phase A.
pub mod fxcache_reader;
pub mod purged_split;
pub mod multi_horizon_labels;

// Gate reference only — Mamba2 baseline against which CfC must compete.
pub mod mamba2_block;

pub use isv::IsvBus;
pub use multi_horizon_labels::{generate_labels, LongHorizonLabels};
// Re-exports added as the relevant tasks land:
//   pub use cfc::CfcTrunk;
//   pub use heads::{MultiHorizonHeads, Projection};
//   pub use pinned::{MappedPinnedSnapshotSlot, MappedPinnedFillSlot};
