"""Selected offline task/output checks. No network, credentials or access check."""
import json
import sys
from pathlib import Path

EXPECTED = {
    "gemini-3.8-flash": "text",
    "gemini-nano-banana-2.1": "image",
    "gemini-3.8-flash-tts": "audio",
    "gemini-3.8-live": "live_audio",
}

def valid(row):
    return row.get("model") in EXPECTED and EXPECTED[row["model"]] == row.get("output")

if __name__ == "__main__":
    source = Path(sys.argv[1]) if len(sys.argv) > 1 else Path(__file__).with_name("gemini-route-contract.json")
    packet = json.loads(source.read_text(encoding="utf-8"))
    assert all(valid(row) for row in packet["tasks"])
    assert not valid({"model": "gemini-3.8-flash", "output": "audio"})
    assert not valid({"model": "outside-this-exercise", "output": "text"})
    print(json.dumps({"example_pairs_passed": len(packet["tasks"]), "mismatch_rejected": True, "outside_example_rejected": True, "provider_contacted": False}))
