System-scoped naming for the alpha trading system's training binaries —
same rationale as the earlier phase_e_* → alpha_* rename. These binaries
produce / validate the durable alpha-system components (Mamba2 + stacker
+ calibration); they're tooling, not milestone artifacts.
phase1a.rs → alpha_bar_baseline.rs
phase1a_detailed.rs → alpha_bar_detailed.rs
phase1d_calibrate.rs → alpha_calibrate.rs
phase1d_mamba.rs → alpha_mamba_baseline.rs
phase1d_long_horizon.rs → alpha_train_stacker.rs
clap `name = "..."` strings updated to match new filenames; cross-refs
in docstrings (alpha_calibrate.rs, gbm_baseline.rs) fixed.
Plus: NEW `--alpha-cache-out <PATH>` flag on alpha_train_stacker.rs
(Phase E.1 Task 12b). After the existing Mamba2 + stacker training
completes, runs stacker inference on ALL bars (not just val/test) and
dumps the resulting alpha_logits as a little-endian binary file:
[u32 n_bars] [f32 logits[n_bars]]
Bars `< seq_len − 1` are written as 0.0 (Pearl A sentinel — no history).
Inference uses the same Block-S column normalisation (col_mean/col_std)
computed during stacker training, applied to all bars consistently.
This cache is consumed by alpha_dqn_h600_smoke.rs (next commit) which
loads it and populates SnapshotRow.alpha_logit — replacing the current
hardcoded 0.0 placeholder with the real Phase 1d.3 stacker output.
Build verified: `cargo build -p ml-alpha --release --example alpha_train_stacker`
completes clean in 40s.