Release · v3.11.9
Gate FD-gradient check on magnitude, not…
test(tpp): gate FD-gradient check on magnitude, not non-portable bit-exactness
Details
Wiring the TPP suite into CI surfaced a portability gap in the pre-existing "FD gradient + objective are bit-exact vs scipy" test: it asserted all-but-one bit-identical gradient components, but the runner's libm differs from the machine the goldens were captured on, and the 2-point finite-difference quotient amplifies each V8-vs-glibc `pow` ULP difference (16/20 exact on the CI runner vs 19/20 locally). The magnitude bounds (objective ≤1e-15, gradient ≤1e-4 relative) are the portable correctness guarantee and still hold everywhere, so assert those and log the bit-exact counts for insight instead of asserting them. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dqq3yLFbZnaCYwTcZZEZRU
Files changed (1)
| frontend/client/tests/tpp-core.test.mjs | +9 | −5 |