Release note
Honest refusals for guaranteed-return, crypto, and international queries
Some queries can't be answered honestly with the platform we have today. Asking for a "guaranteed 20% return" misunderstands what backtesting can prove. Asking for "Indian small caps" hits the universe limitation. Asking for "best crypto strategy" hits both data and methodology limits.
The system used to silently degrade these into the closest momentum strategy and return numbers anyway. That was the worst possible behaviour: the user got a number that looked like an answer but was unrelated to what they asked. We now recognise three classes of dead-end query — guarantee-language, unsupported universe, unsupported asset class — and respond with a short refusal that names the specific limitation, plus one or two honest reformulations that we can actually run.
For example, "guaranteed 20%" becomes "no backtest can prove a guarantee — here's a strategy targeting that return level with the historical hit-rate, drawdown, and CI". "Indian small caps" becomes "we're limited to 89 US-listed names; here are some India-exposed ADRs that trade on US exchanges". The point isn't to gatekeep — it's to explain rather than fake an answer.
Source sprint log: SPRINT_LOG-C-2-misconception-handler.md— transparency-by-default. The full log lives in the repo.