- input-policy: revert the odds->Elo change that passed the policy's
eloMin/eloMax into convertFuturesToElo. That widened the default odds-derived
spread (1100/1900 vs the calibrated 1250/1750) — sharpening favorites for
default-policy odds sims (UCL, World Cup, NCAA-FB, MLB) — and clamped the
blend of a high directly-entered base Elo down to the ceiling. Odds now use
the calibrated band; the policy's eloMin/eloMax still clamp the result
(clampDerived), so a season's floor/ceiling narrows the spread without
widening it or capping high base Elos.
- admin simulator UI: restrict the structured Engine fields to a
HONORED_ENGINE_KNOBS allowlist of keys actually read from config (by a
simulator or the input-policy resolver). Bespoke per-sim constants present in
a profile but not read from config (homeFieldElo, eloDivisor, srsEloScale,
raceNoise, plBeta, fieldSize, bracketSize, ...) no longer render as editable
controls that silently do nothing; the raw-JSON escape hatch still edits them.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAFMogMkFJf52YpHyCDvuf