Files
foxhunt/config/ml
jgrusewski 79d15b3196 chore(alpha): Milestone E.1 H=6000 scale-up — PASS
Phase E.1 Task 13. Same pipeline as the H=600 PASS run (cd5aa3402),
just `--horizon 6000` — the plan's production horizon. Result:

  Q_SPREAD_EMA         = 35.44    ≥ 0.05      PASS
  ACTION_ENTROPY_EMA   = 2.00     ≥ 1.099     PASS
  RETURN_VS_RANDOM_EMA = +1.003σ  ≥ 0.0       PASS
  EARLY_Q_MOVEMENT_EMA = 0.130    ≥ 0.01      PASS
  Overall: PASS (H=6000 scale-up VIABLE)

H=600 vs H=6000 side-by-side (same DQN, only horizon changed):

                          H=600       H=6000
  rollout_R_mean         -18         -236      (13× for 10× horizon — sublinear)
  RETURN_VS_RANDOM_EMA   +1.043σ     +1.003σ   (alpha signal generalizes)
  Q_SPREAD_EMA           10.92       35.44     (sharper action discrimination)
  EARLY_Q_MOVEMENT_EMA   0.099       0.130     (more weight movement per episode)
  Overall                PASS        PASS

The Mamba2 K=6000 alpha-cache (config/ml/alpha_logits_cache.bin) was
directly trained for this horizon, so generalization at H=6000 is the
expected result. Confirmed empirically.

Runtime: 80s for 1000 episodes × 6000 steps = 6M transitions
(~75K transitions/sec, same throughput as H=600).

Milestone E.1 is now CLOSED with all kill criteria PASSING at the
production horizon. Per the plan, this unlocks Milestone E.2 — the
stacker-threshold ISV controller (engagement-rate self-correction).

Reproduction:
  cargo run -p ml --release --example alpha_dqn_h600_smoke -- \
    --fxcache-path .../9297....fxcache \
    --alpha-cache config/ml/alpha_logits_cache.bin \
    --horizon 6000 --n-episodes 1000 \
    --max-snapshots 1500000

Verdict + per-checkpoint KC trajectory in config/ml/alpha_dqn_h6000_smoke.json.
2026-05-15 16:59:03 +02:00
..