Appreciate the detailed insight! You hit the nail on the head regarding the embedding model choice—it really dictates the semantic ceiling. And that's exactly why BM25 is non-negotiable for systems dealing with strict identifiers or part IDs where vectors lose precision. Thanks for the production latency tip as well, aggressive caching is definitely the way to scale this up properly!