The symbol_components column does what #77 designed it to do: a query for a CamelCase fragment surfaces pages whose symbols contain that fragment as a component. This works for simple compound types (LazyVGrid → retrievable by Grid, Lazy, or VGrid), for protocol families (Decoder → retrievable surfaces JSONDecoder etc.), and for SwiftUI patterns (Picker → retrieves DatePicker, ColorPicker, etc.).
The BM25F weight balance is correct: with symbols=5.0 and symbol_components=1.5, an exact name match always wins (verified separately by the canonical-lookup baseline search-quality-baseline-v1.2.0.md where LazyVGrid ranks the canonical apple-docs://swiftui/lazyvgrid at rank 1), and a fragment-only query still retrieves the right family via the symbol_components contribution.