{
  "name": "python-docs-rag-questions-v1",
  "task": "Answer developer questions using only passages from the requested Python documentation version; abstain when this bounded corpus does not answer.",
  "cases": [
    {
      "id": "utf8-write",
      "split": "development",
      "class": "answerable",
      "input": "How do I explicitly select UTF-8 when saving text with pathlib?",
      "expected": {
        "status": "answered",
        "targets": [
          {
            "source_id": "path-write",
            "chunk_id": "path-write:b71a2d18a53d86bf",
            "source_version": "3.12",
            "source_text_sha256": "a48b4b9f763cd6309ebe32af19c5a814adcf810c2259683da9f328ccee46948e",
            "chunk_text_sha256": "a48b4b9f763cd6309ebe32af19c5a814adcf810c2259683da9f328ccee46948e"
          }
        ]
      },
      "fail_if": [],
      "why": "The supplied write_text summary names the encoding option.",
      "tags": {
        "python_version": "3.12",
        "intent_family": "path-write"
      }
    },
    {
      "id": "replace-file",
      "split": "development",
      "class": "answerable",
      "input": "Will write_text replace the contents of an existing file?",
      "expected": {
        "status": "answered",
        "targets": [
          {
            "source_id": "path-write",
            "chunk_id": "path-write:b71a2d18a53d86bf",
            "source_version": "3.12",
            "source_text_sha256": "a48b4b9f763cd6309ebe32af19c5a814adcf810c2259683da9f328ccee46948e",
            "chunk_text_sha256": "a48b4b9f763cd6309ebe32af19c5a814adcf810c2259683da9f328ccee46948e"
          }
        ]
      },
      "fail_if": [],
      "why": "The supplied summary explicitly states existing-file replacement.",
      "tags": {
        "python_version": "3.12",
        "intent_family": "path-write"
      }
    },
    {
      "id": "json-result-type",
      "split": "development",
      "class": "answerable",
      "input": "Does json.dumps produce text or a bytes object?",
      "expected": {
        "status": "answered",
        "targets": [
          {
            "source_id": "json-text",
            "chunk_id": "json-text:8a17e251a41ccb3b",
            "source_version": "3.12",
            "source_text_sha256": "0f5efa9669a97f93d5e7e8fe91de80a0d954643947ac9619dba41d3904166288",
            "chunk_text_sha256": "0f5efa9669a97f93d5e7e8fe91de80a0d954643947ac9619dba41d3904166288"
          }
        ]
      },
      "fail_if": [],
      "why": "The supplied JSON summary states the result type.",
      "tags": {
        "python_version": "3.12",
        "intent_family": "json-return"
      }
    },
    {
      "id": "backup-schedule",
      "split": "development",
      "class": "unsupported",
      "input": "How frequently does our cloud provider back up these files?",
      "expected": {
        "status": "not_in_docs",
        "targets": []
      },
      "fail_if": [],
      "why": "No service operations policy exists in this corpus.",
      "tags": {
        "python_version": "3.12",
        "intent_family": "service-policy"
      }
    },
    {
      "id": "read-newline-312",
      "split": "held_out",
      "class": "version_specific",
      "input": "Can Path.read_text take a newline argument in Python 3.12?",
      "expected": {
        "status": "answered",
        "targets": [
          {
            "source_id": "path-read",
            "chunk_id": "path-read:1f1129b8d1011a82",
            "source_version": "3.12",
            "source_text_sha256": "dc097ca63486ace45279f412ea266bf754fcd2f0b1153f5d763ce905dafbc2c0",
            "chunk_text_sha256": "dc097ca63486ace45279f412ea266bf754fcd2f0b1153f5d763ce905dafbc2c0"
          }
        ]
      },
      "fail_if": [],
      "why": "The 3.12 signature has no newline; actual 3.12 check can verify rejection.",
      "tags": {
        "python_version": "3.12",
        "intent_family": "read-newline"
      }
    },
    {
      "id": "read-newline-313",
      "split": "held_out",
      "class": "version_specific",
      "input": "In Python 3.13, is newline an accepted Path.read_text parameter?",
      "expected": {
        "status": "answered",
        "targets": [
          {
            "source_id": "path-read-3-13",
            "chunk_id": "path-read-3-13:3f86296ba6f04cc2",
            "source_version": "3.13",
            "source_text_sha256": "0dd5becb0c04458ad5f8bbf3fdef4f71034c584ef863bf748793bef7309b9f4f",
            "chunk_text_sha256": "0dd5becb0c04458ad5f8bbf3fdef4f71034c584ef863bf748793bef7309b9f4f"
          }
        ]
      },
      "fail_if": [],
      "why": "Official 3.13 documentation states the added parameter; documented-only here.",
      "tags": {
        "python_version": "3.13",
        "intent_family": "read-newline"
      }
    },
    {
      "id": "json-throughput",
      "split": "held_out",
      "class": "unsupported",
      "input": "How many objects per second can this deployment serialize?",
      "expected": {
        "status": "not_in_docs",
        "targets": []
      },
      "fail_if": [],
      "why": "API summaries contain no deployment throughput measurements.",
      "tags": {
        "python_version": "3.12",
        "intent_family": "runtime-throughput"
      }
    },
    {
      "id": "create-parents",
      "split": "held_out",
      "class": "unsupported",
      "input": "Does writing text also create missing parent directories?",
      "expected": {
        "status": "not_in_docs",
        "targets": []
      },
      "fail_if": [],
      "why": "The bounded corpus does not state parent-directory behavior; unsupported means absent here, not unknowable.",
      "tags": {
        "python_version": "3.12",
        "intent_family": "parent-directory-policy"
      }
    }
  ]
}
