What was broken
The embedding storage was corrupting every stored vector. Buffer.from(Float32Array) truncated each 4-byte float to a single byte, making every cosine similarity computation return NaN. Semantic search - the feature that makes Recon different from every other API client - has been broken since launch.
What is fixed
- Semantic search works. Embeddings are stored and retrieved correctly. Natural language queries like "user account profile" now find the right request.
- Response headers and timing visible. Snake_case column names were not aliased to camelCase. The renderer expected camelCase. Fixed.
- Search no longer returns everything for no-match queries. Added 0.1 minimum cosine similarity threshold.
- FTS results now include match_type field.
Tests
23 integration tests covering save/retrieve, FTS + semantic search, FTS5 injection, Postman import (flat + nested), .http export/import roundtrip, collections, environments, history ordering, env var substitution.