Orchestrated pipeline with one real agentic hop: the Critic Agent observes the first search, decides accept or retry, and can re-search once. Method matching and ranking stay deterministic on purpose. Step through with Prev / Next — this view does not re-run the pipeline.
Critic Agent observes the first search and may re-search once. Method matching and ranking stay rules/math — not agents. Step with Prev / Next for judges.
Lexical alone misses synonyms. Pure pgvector needs a pre-indexed catalog. Live web candidates aren’t in Postgres until we embed the shortlist — so we discover, embed, then cosine + rules.
The Critic Agent: Observe pass-1 → Reason → Decide accept|retry → Act (revised search, max once). Fail-open if it errors. Everything else is LLM roles, tools, or rules — labeled honestly.
Hard: exact yt_/web_ ids filtered forever. Soft: disliked titles rewrite the next live identity query. UI removes the card immediately; soft text refreshes on the next curate.