During grounded research, Gemini is constrained via structured output to return a JSON array of facts, where each fact string contains a nested list of sources detailing the supporting url and optional title.

flowchart TD
    A[Grounded Research Call] --> B[JSON Output]
    B --> C[Fact Object 1]
    B --> D[Fact Object N]
    C --> E["fact: string"]
    C --> F["sources: array"]
    F --> G["Source 1: url, title"]
    F --> H["Source M: url, title"]