The F-3c commit (cdd3dc6ed) pushed `aux_trade_outcome_ce_ema` into
the regression-detection metrics vec but never wired a `tracing::
info!` console emit. Smoke `train-q5k5k` ran clean past the
rollout + post-rollout phases — but `argo logs train-q5k5k | grep
aux_trade_outcome` returned zero hits, so the operator had no way
to read the K=3 head's CE EMA trajectory.
Fix: extend the existing K=2 aux HEALTH_DIAG print
HEALTH_DIAG[N]: aux [next_bar_mse=… regime_ce=… w=…]
to include `trade_outcome_ce=…`:
HEALTH_DIAG[N]: aux [next_bar_mse=… regime_ce=…
trade_outcome_ce=… w=…]
Reads ISV[538] via the same `trainer.read_isv_signal_at(...)`
accessor the regression-detection vec uses — single source of
truth, no duplicated mirroring.
Expected operator-visible trajectory across smoke epochs:
Epoch 0 (cold-start, Pearl A sentinel): 0.000
Epoch 1+ (first non-zero bootstrap): ~1.099 (= ln(3))
Healthy learning: 0.5 - 0.7
Pinned at ln(3) for many epochs: head can't learn
cargo check -p ml clean. Audit doc updated.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>