//! Training infrastructure: curriculum trainer and metrics collection.
//!
//! # Sub-modules
//!
//! - [`curriculum`] — [`CurriculumTrainer`] orchestrates the five-stage
//! progressive training loop. Each stage loads its dataset, runs AdamW
//! optimisation with cosine LR scheduling and early stopping, saves
//! checkpoints, and writes predictions for the test set.
//!
//! - [`metrics`] — [`metrics::StageMetrics`] accumulates per-epoch numbers (loss,
//! perplexity, accuracy, macro recall) and serialises them to CSV, four SVG
//! plots, and a self-contained HTML dashboard.
//!
//! [`CurriculumTrainer`]: curriculum::CurriculumTrainer