from cigar_sdk import LocalContextGraph

with LocalContextGraph("website-example") as graph:
    graph.replace_source("docs/retry.md", [
        {
            "id": "retry",
            "source": "docs/retry.md",
            "text": "Retry only idempotent operations.",
        }
    ])
    result = graph.compile({
        "query": "idempotent retry",
        "max_tokens": 512,
        "reserve_tokens": 64,
    })
    assert graph.verify(result["snapshot"]) == result
    assert result["snapshot"]["stats"]["rendered_tokens"] <= 448
    print(result["rendered"])
