The framework_aliases table exists in the schema and contains 22 rows with a populated synonyms column (verified directly via SELECT identifier, synonyms FROM framework_aliases WHERE synonyms IS NOT NULL). The DATA is there.
But the ranking layer does not appear to consult framework_aliases.synonyms when scoring matches against a bare acronym query. The query NFC finds the literal-token nfc in authenticationservices/.../transport/nfc and ranks it at position 1 by BM25F because that page's content happens to contain the token in a deep authentication-flow paragraph. The corenfc framework root, which the synonyms table says is the canonical answer for nfc, is at rank 3 — likely retrieved via the framework-identifier-substring path, not the synonyms path.
This is not necessarily a bug. The synonyms table may be intentionally consulted only by --framework <slug> resolution (mapping --framework nfc to corenfc for explicit filtering), not by free-text query ranking. The code paths to verify are:
Search.Index.SearchByAttributefor filter-time useSearch.Index.Search.swiftfor query-time useSearch.Index.CountsAndAliases.swiftfor alias-managementSearch.SmartQuery/Search.CandidateFetcherfor cross-source synonym handling
A code reading would clarify whether the synonyms are wired into BM25F scoring at all, or only into framework-name normalisation at filter time.