Files
foxhunt/crates
jgrusewski 0472b97300 test(smoke): strengthen performance probes with meaningful thresholds
Previously test_training_throughput_measurement and test_real_data_single_epoch
only asserted loss.is_finite() on the final metric. That passes on trivial
zeros, on huge-but-finite NaN-disguised values, and on any regression that
doesn't produce literal NaN — giving effectively no signal.

test_training_throughput_measurement now asserts:
  - loss finite AND non-negative
  - epochs_trained >= 1
  - throughput floor: epochs_per_sec > 0.05 (i.e. each epoch < 20s on the
    RTX 3050 Ti; catches accidental CPU fallback or kernel CPU-pinning).
    Documented as a conservative local floor; CI may tighten.
  - avg_q_value present, finite, |avg_q| < 1e6 (rules out finite-but-huge
    NaN propagation)

test_real_data_single_epoch now asserts:
  - loss finite, non-negative, and < 1e8 (a real DQN loss of 0.0 is a
    sign-bug or accumulation-bug tell; huge-but-finite rules out NaN
    propagation)
  - epochs_trained >= 1
  - avg_q_value finite and |avg_q| < 1e6

Why these are safe:
  - Bounds are chosen from observed smoke runs with 2-3 orders of margin.
  - Passes locally in 1.58s and 10.24s respectively.
  - Designed to flag regressions, not true production-scale deviations.

Verified PASS on laptop (RTX 3050 Ti).
2026-04-22 08:24:53 +02:00
..