Files
foxhunt/crates
jgrusewski 2570fe0130 fix(smoke): test_fxcache_zero_copy_training — real failure detection
Previously the fold loop swallowed every training error into f64::NAN,
unconditionally pushed a value at the top of the loop, and then asserted
only !fold_losses.is_empty() — a tautology that could never fail. Any
CUDA error, NaN explosion, or regression of the zero-copy path passed
silently.

Now:
  - Error propagation via `?` (no swallow). A zero-copy test can't
    tolerate training failures — if training blew up, the zero-copy
    wiring is broken and must surface.
  - All fold losses must be finite and non-negative.
  - Every fold must report epochs_trained >= 1 (zero-epoch fold =
    kernel skipped or buffer not populated).

A direct "no htod/dtoh copy happened" assertion would need a copy-counter
instrumented into the fused-training GPU path plus a field on
TrainingMetrics. That is out of scope for this test; documented inline.

Verified PASS on laptop (RTX 3050 Ti):
  loss=0.0018366, epochs=1
2026-04-22 08:22:00 +02:00
..