Pure vector search over per-filing extraction-summary embeddings (one embedding per filing, ~59K rows total). Each hit is a filing whose extraction summary is semantically closest to your query, with the matching excerpt and lite filing metadata (state, year, company, product type, filing type, filing date).
**Cost**: one query-embedding call + one indexed Postgres lookup. Bounded, cheap, fast. No LLM planning, no LLM composition. Always reach for this before any LLM-driven alternative.
**Right surface for *what is this filing about* questions**:
- "Show me filings discussing X" — content questions where X is not a concrete filter (wildfire scoring, telematics programmes, autonomous-vehicle exposure, ESG factors, parametric triggers, etc.).
- "Find filings that mention <topic>" — when you need to discover filings by content rather than by structured metadata.
- "Filings citing trend data on <thing>" — when the question is content-shaped, not numerics-shaped.
**Wrong surface for**:
- *Actuarial-shape* questions like "filings with credibility under 50%", "filings whose indicated and selected rate diverge sharply", "rate filings where frequency trend is negative". Use `search_actuarial_embeds` — those numerics live in the actuarial memo, not the summary.
- Concrete-filter questions like "Filings from carrier NAIC 12345 in 2024" or "ISOF-rooted filings carriers adopted". Use `search_filings` with the typed filters — much faster, no embedding cost at all.
- Anything with a SERFF id already in hand — use the `get_filing_*` tools.
**How to combine**:
- For "recent auto programmes in California with novel rating factors": first `search_filings` (state=CA, product_type="Auto", year_from=…) to get a candidate set, then call this tool over those candidates' descriptions implied by the question.
- For "filings whose summary mentions X": this tool alone, then `get_filing_summary` on the top hits to read in full.
Returns top-K hits, each with `{serff, similarity, excerpt, meta}`. Default `topK=10`, max 50. Excerpt is the first 800 chars of the matching summary.