The retrieve-grade-rewrite loop never terminates
When no passage clears the relevance bar, the agent keeps reformulating and re-querying. Without a ceiling it burns tokens and latency chasing context that may not exist in the corpus.
Fix · Bound the loop: cap reformulation rounds, and on exhaustion fall back to answering from what was retrieved (or declaring the gap) rather than looping again.
The relevance grader passes a similar-but-unsupporting passage
A passage scores high on embedding similarity yet does not actually contain the answer. The grader waves it through, and the agent grounds a confident answer on evidence that never supported it.
Fix · Grade for answerability, not similarity: require the passage to actually support the claim (an entailment / does-it-contain-the-answer check), and cross-check across sources before generating.