Text-to-SQL assumes the schema already exposes everything a query needs. When the join key is buried in a remarks column, or the predicate is implied by a description field, the generated SQL has nothing to bind to. Long-context prompting is the usual fallback, but it pushes whole tables through a language model and becomes expensive and unreliable as row counts grow. What is needed is a planner that decides when latent structure has to be recovered from text, and an engine that spends model calls only where that recovery matters.