The Insights page at authgnosis.com/insights/ searches 225 records across the site. One of them read Can you work in the US? while the page it linked to read Can you work in the U.S.? The cause was a normalisation step that was correct for matching and wrong for display, and finding it exposed that the test suite guarding the search was checking far less than it appeared to.
- One function was doing two jobs, and only one of them wanted the text changed. A search tokenizer splits on punctuation, so U.S. arrives as two single letters and both are discarded as too short to index. The original fix removed the periods before indexing, which made the acronym searchable. That same function also produced the text results display, so every result rendered US where the source said U.S. Lower cased and read back in a sentence, US is the ordinary word us, which this search deliberately keeps rather than discarding because it carries meaning inside a question. The collapse now happens inside tokenization, where it affects matching and nothing else, and stored text keeps what the page actually says.
- The claim that ranking did not move was tested rather than asserted. Changing how text is split into terms can quietly reorder every result. 361 queries drawn from the site's own vocabulary were run against the previous index with the previous tokenizer, and against the new index with the new one. The top twenty results were identical in both their identifiers and their scores for every query, with none changed.
- Ten ranking checks were passing, and four of the six things they named were not being tested. The suite reads as a guarantee that stemming, stop words, acronym handling, prefix matching and fuzzy matching all work. Disabling each in turn and rerunning showed otherwise: only the field weighting and one query fallback changed any result. Two checks had become true for reasons unrelated to what they claimed to cover. Five checks were added, each chosen so it fails when exactly one mechanism is switched off, so a failure now names the part that broke instead of pointing at search in general.