Release note
Research surface now classifies queries across 16 typed intents
The research and chat surface used to dispatch queries with a regex template — fast and cheap, but it failed quietly on anything that didn't match a hard-coded shape. Asking for "compare AAPL and MSFT capital allocation over the last decade" might route to a generic news search instead of the structured comparison view.
The classifier now runs on Anthropic Haiku and returns a typed intent ("compare", "screen", "explain", "macro_lookup", and thirteen others) along with structured entities and a confidence score. The 16 dispatch handlers each render their own component — a stock comparison page looks different from a screener result, which looks different from a macro chart. When confidence is low, the response says so and asks you to clarify, instead of guessing.
If you've been doing research that needed manual workarounds — phrasing things in specific ways to get the right view — try the natural phrasing now. It should mostly just work.
Source sprint log: SPRINT_LOG-R-SEMANTIC.md— transparency-by-default. The full log lives in the repo.