{
  "claims": [
    {
      "id": "C1",
      "text": "Keep file inputs binary when using tomllib.load; both pinned documentation versions require a readable binary file object and document a dict result. This is not a newly introduced 3.14 requirement.",
      "citations": [
        {
          "source": "S1",
          "quote": "Read a TOML file. The first argument should be a readable and binary file object.\n   Return a :class:`dict`."
        },
        {
          "source": "S2",
          "quote": "Read a TOML file. The first argument should be a readable and binary file object.\n   Return a :class:`dict`."
        }
      ]
    },
    {
      "id": "C2",
      "text": "For explicit decimal handling, both versions document parse_float as a hook that can use decimal.Decimal. A hook returning a dict or list raises ValueError. Decimal support is not new in the 3.14 document.",
      "citations": [
        {
          "source": "S1",
          "quote": "This can be used to use another datatype or parser for TOML floats\n   (e.g. :class:`decimal.Decimal`). The callable must not return a\n   :class:`dict` or a :class:`list`, else a :exc:`ValueError` is raised."
        },
        {
          "source": "S2",
          "quote": "This can be used to use another datatype or parser for TOML floats\n   (e.g. :class:`decimal.Decimal`). The callable must not return a\n   :class:`dict` or a :class:`list`, else a :exc:`ValueError` is raised."
        }
      ]
    },
    {
      "id": "C3",
      "text": "Audit exception construction and inspection when migrating: the 3.14 document marks msg/doc/pos parameters and msg/doc/pos/lineno/colno attributes as added in 3.14, and deprecates passing free-form positional arguments. This documentation does not establish how every existing application handles those changes.",
      "citations": [
        {
          "source": "S2",
          "quote": ".. versionchanged:: 3.14\n      Added the *msg*, *doc* and *pos* parameters.\n      Added the :attr:`msg`, :attr:`doc`, :attr:`pos`, :attr:`lineno` and :attr:`colno` attributes.\n\n   .. deprecated:: 3.14\n      Passing free-form positional arguments is deprecated."
        }
      ]
    },
    {
      "id": "C4",
      "text": "Do not plan to write edited configuration with tomllib itself: both documentation versions explicitly say it does not support writing TOML. A separate writer needs evaluation; this brief does not test one.",
      "citations": [
        {
          "source": "S1",
          "quote": "This module does not\nsupport writing TOML."
        },
        {
          "source": "S2",
          "quote": "This module does not\nsupport writing TOML."
        }
      ]
    },
    {
      "id": "C5",
      "text": "In the single local CPython 3.14.4 probe, Decimal parsing retained the value string 1.20. This is a narrow runtime observation, not a Python 3.11 run or a complete configuration-migration test.",
      "citations": [
        {
          "source": "S3",
          "quote": "\"runtime\": \"CPython 3.14.4\""
        },
        {
          "source": "S3",
          "quote": "\"decimal_loads\": {\n      \"type\": \"Decimal\",\n      \"value\": \"1.20\"\n    }"
        },
        {
          "source": "S3",
          "quote": "\"scope\": \"One local Python runtime. No Python 3.11 run, performance measurement, cross-version guarantee, real configuration migration or third-party writer test.\""
        }
      ]
    },
    {
      "id": "C6",
      "text": "Python 3.14 tomllib can write edited TOML files without a separate writer.",
      "citations": [
        {
          "source": "S2",
          "quote": "This module does not\nsupport writing TOML."
        }
      ]
    }
  ],
  "questions": [
    "Which supported Python versions and exception-construction patterns occur in the real application? Inspect its code and test all required runtimes before changing error handling.",
    "If configuration editing is required, which writer preserves the formatting and comments the application needs? Evaluate a writer separately; no writer was tested here.",
    "Does the real configuration corpus contain non-finite floats, dates or malformed documents that need additional policy/tests? This probe covers only tiny authored inputs."
  ]
}
