Summarizes a file using a single LLM call, returning purpose, key functions, types, and dependencies without loading the full content into the main conversation context.
The summarizer provider is drawn from ctx.assigns[:spawn_agent_opts]
(a keyword list forwarded to ExAthena.query/2). When absent, falls
back to ex_athena's default configured provider.
Consumers should call this before read on any unfamiliar file. Only
use read (with offset and limit) after this, and only for the
specific sections that require full detail.