Faster memory search on Linux and Windows, broader test debugging and clearer mid-turn replies
This is a smaller update on the surface, but it brings a lot of upgrades under the hood. Mercury should feel quicker on Windows and Linux, the test and debugger tools cover more languages, and mid-turn messages are easier to follow when steering a running session.
Memory search by meaning is now 15 times faster on Linux and Windows, tested on both platforms. In beta.35, macOS used Accelerate to run the local BGE embedding model in a few hundredths of a second, while Linux and Windows ran a plain maths loop that took about a second and a half. Beta.36 moves that maths onto a vectorised kernel (AVX2 with FMA on x86-64 and NEON on arm64), bringing semantic Recall on Linux and Windows down to about a tenth of a second.
The Test tool is now offered directly whenever your project declares a test runner. It reads machine reports from Vitest, Jest and Go (go test -json) for exact pass, fail and skip counts with each failure's file and line, and can step a failing test straight into the debugger with local variables readable in Vitest, Jest, Go and Rust (cargo), alongside Python and node --test. Importing .vscode/launch.json also carries env, envFile, preLaunchTask from tasks.json, Python module launches and attach configurations.
Mid-turn message handling is cleaner too, so your messages reach the agent and stay easy to track when you steer a session mid-flight. A reply to a message sent while the agent was working now carries a faint line above it naming which message it answers in time order, with the tool calls in between kept in place, and pressing Esc keeps any reply that was already composed on screen and in the transcript. This wasn't an issue in normal use, but running models on continuous autonomous loops inside Mercury exposed small edge cases here and in rerunFailed and /usage's Gemini rows that we have now ironed out.