{
  "repository": "pydantic/pydantic",
  "ref": "bfa7f4f6cbb442678df7e2ba976943599182411a",
  "methods": [
    {
      "slug": "formal",
      "title": "Formal verification and model checking"
    },
    {
      "slug": "static_analysis",
      "title": "Static analysis"
    },
    {
      "slug": "testing",
      "title": "Testing"
    },
    {
      "slug": "formatting",
      "title": "Formatting and hygiene"
    },
    {
      "slug": "supply_chain",
      "title": "Supply chain"
    },
    {
      "slug": "unclassified",
      "title": "Unclassified"
    }
  ],
  "verifications": [
    {
      "tool": "clippy",
      "method": "static_analysis",
      "commands": [
        "cargo clippy --version",
        "cargo clippy --tests -- -D warnings"
      ],
      "triggers": [
        "pre_commit",
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.lint rust"
        },
        {
          "path": "Makefile",
          "locator": "target lint-rust (line 43)"
        },
        {
          "path": "pydantic-core/Makefile",
          "locator": "target lint-rust (line 82)"
        }
      ],
      "upstream": "https://github.com/rust-lang/rust-clippy",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "mkdocs",
      "method": "static_analysis",
      "commands": [
        "mkdocs build",
        "mkdocs build --strict"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.docs-build.steps[5]"
        },
        {
          "path": "Makefile",
          "locator": "target docs (line 136)"
        },
        {
          "path": "pyproject.toml",
          "locator": "[dependency-groups] docs: mkdocs"
        }
      ],
      "upstream": "https://github.com/mkdocs/mkdocs",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "mypy",
      "method": "static_analysis",
      "commands": [
        "mypy --version",
        "mypy --cache-dir=/dev/null --config-file pyproject.toml .'"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-typechecking-integration.steps[4] (Run typechecking integration tests (Mypy))"
        },
        {
          "path": "Makefile",
          "locator": "target test-typechecking-mypy (line 70)"
        },
        {
          "path": "pydantic-core/pyproject.toml",
          "locator": "[dependency-groups] linting: mypy"
        },
        {
          "path": "pyproject.toml",
          "locator": "[dependency-groups] typechecking: mypy"
        }
      ],
      "upstream": "https://github.com/python/mypy",
      "docs": "https://mypy.readthedocs.io/en/stable/command_line.html",
      "exit_codes": {
        "0": "no type errors",
        "1": "type errors found",
        "2": "crash or invalid invocation"
      },
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "pyright",
      "method": "static_analysis",
      "commands": [
        "pyright pydantic",
        "pyright --version",
        "pyright -p pyproject.toml'",
        "pyright"
      ],
      "triggers": [
        "pre_commit",
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.typecheck"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-typechecking-integration.steps[3] (Run typechecking integration tests (Pyright))"
        },
        {
          "path": "Makefile",
          "locator": "target test-typechecking-pyright (line 66)"
        },
        {
          "path": "Makefile",
          "locator": "target typecheck (line 54)"
        },
        {
          "path": "pydantic-core/Makefile",
          "locator": "target pyright (line 92)"
        },
        {
          "path": "pydantic-core/pyproject.toml",
          "locator": "[tool.pyright]"
        },
        {
          "path": "pydantic-core/pyproject.toml",
          "locator": "[dependency-groups] linting: pyright"
        },
        {
          "path": "pyproject.toml",
          "locator": "[tool.pyright]"
        },
        {
          "path": "pyproject.toml",
          "locator": "[dependency-groups] linting: pyright"
        },
        {
          "path": "pyproject.toml",
          "locator": "[dependency-groups] typechecking: pyright"
        }
      ],
      "upstream": "https://github.com/microsoft/pyright",
      "docs": "https://microsoft.github.io/pyright/#/command-line",
      "exit_codes": {
        "0": "no errors",
        "1": "errors reported",
        "2": "fatal error",
        "3": "config file could not be read or parsed",
        "4": "illegal command-line parameters"
      },
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "ruff-check",
      "method": "static_analysis",
      "commands": [
        "ruff check $(sources)",
        "ruff check --fix $(sources)"
      ],
      "triggers": [
        "pre_commit",
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.lint"
        },
        {
          "path": "Makefile",
          "locator": "target lint-python (line 38)"
        },
        {
          "path": "Makefile",
          "locator": "target format (line 32)"
        },
        {
          "path": "pydantic-core/Makefile",
          "locator": "target format (line 69)"
        },
        {
          "path": "pydantic-core/Makefile",
          "locator": "target lint-python (line 75)"
        },
        {
          "path": "pydantic-core/pyproject.toml",
          "locator": "[tool.ruff]"
        },
        {
          "path": "pydantic-core/pyproject.toml",
          "locator": "[dependency-groups] linting: ruff"
        },
        {
          "path": "pydantic-core/pyproject.toml",
          "locator": "[dependency-groups] wasm: ruff"
        },
        {
          "path": "pyproject.toml",
          "locator": "[tool.ruff]"
        },
        {
          "path": "pyproject.toml",
          "locator": "[dependency-groups] linting: ruff"
        },
        {
          "path": "pydantic-core/tests/ruff.toml",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/astral-sh/ruff",
      "docs": "https://docs.astral.sh/ruff/linter/#exit-codes",
      "exit_codes": {
        "0": "no violations",
        "1": "violations found",
        "2": "invalid configuration, CLI options or internal error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "zizmor",
      "method": "static_analysis",
      "commands": [
        "pre-commit hook zizmor"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.zizmor"
        }
      ],
      "upstream": "https://github.com/zizmorcore/zizmor",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "cargo-test",
      "method": "testing",
      "commands": [
        "cargo test"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-os.steps[7]"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-msrv.steps[8]"
        }
      ],
      "upstream": "https://github.com/rust-lang/cargo",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "ci-matrix",
      "method": "testing",
      "commands": [
        "lint (python-version: 6)",
        "core-test-builds-os (platform: 5)",
        "core-test-os (os: 3)",
        "core-test-graalpy (python-version: 2)",
        "core-test-debug (python-version: 2)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.strategy.matrix"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-builds-os.strategy.matrix"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-os.strategy.matrix"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-graalpy.strategy.matrix"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-debug.strategy.matrix"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-python-debug.strategy.matrix"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-pyemscripten.strategy.matrix"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test.strategy.matrix"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-typing-extensions.strategy.matrix"
        },
        {
          "path": ".github/workflows/third-party.yml",
          "locator": "jobs.test-fastapi.strategy.matrix"
        },
        {
          "path": ".github/workflows/third-party.yml",
          "locator": "jobs.test-sqlmodel.strategy.matrix"
        },
        {
          "path": ".github/workflows/third-party.yml",
          "locator": "jobs.test-beanie.strategy.matrix"
        }
      ],
      "upstream": "https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "hypothesis",
      "method": "testing",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "pydantic-core/pyproject.toml",
          "locator": "[dependency-groups] testing-extra: hypothesis"
        }
      ],
      "upstream": "https://github.com/HypothesisWorks/hypothesis",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "pytest",
      "method": "testing",
      "commands": [
        "pytest tests/pydantic_core --ignore=tests/pydantic_core/test_docstrings.py",
        "pytest tests/pydantic_core",
        "pytest tests/pydantic_core --ignore=tests/pydantic_core/test_docstrings.py $EXTRA_PYTEST_ARGS",
        "pytest",
        "pytest --ignore=tests/mypy/ --ignore=tests/test_docs.py --memray"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-builds-os.steps[3]"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-os.steps[6]"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-graalpy.steps[6]"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-msrv.steps[7]"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-debug.steps[7]"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-test-python-debug.steps[7]"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-pyemscripten.steps[3]"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-memray.steps[3] (Run tests)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test.steps[5] (Run pytest)"
        },
        {
          "path": "Makefile",
          "locator": "target test (line 78)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test.steps[6] (Run pytest (no coverage))"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-plugin.steps[4]"
        }
      ],
      "upstream": "https://github.com/pytest-dev/pytest",
      "docs": "https://docs.pytest.org/en/stable/reference/exit-codes.html",
      "exit_codes": {
        "0": "all tests passed",
        "1": "some tests failed",
        "2": "interrupted by the user",
        "3": "internal error",
        "4": "command line usage error",
        "5": "no tests were collected"
      },
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "codespell",
      "method": "formatting",
      "commands": [
        "pre-commit hook codespell"
      ],
      "triggers": [
        "pre_commit",
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.codespell"
        },
        {
          "path": "Makefile",
          "locator": "target codespell (line 50)"
        },
        {
          "path": "pyproject.toml",
          "locator": "[tool.codespell]"
        }
      ],
      "upstream": "https://github.com/codespell-project/codespell",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "pre-commit-hooks",
      "method": "formatting",
      "commands": [
        "pre-commit hook check-yaml",
        "pre-commit hook check-toml",
        "pre-commit hook end-of-file-fixer",
        "pre-commit hook trailing-whitespace"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.check-yaml"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.check-toml"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.end-of-file-fixer"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.trailing-whitespace"
        }
      ],
      "upstream": "https://github.com/pre-commit/pre-commit-hooks",
      "docs": null,
      "exit_codes": {},
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "ruff-format",
      "method": "formatting",
      "commands": [
        "ruff format --check $(sources)",
        "ruff format $(sources)"
      ],
      "triggers": [
        "pre_commit",
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.lint"
        },
        {
          "path": "Makefile",
          "locator": "target lint-python (line 38)"
        },
        {
          "path": "Makefile",
          "locator": "target format (line 32)"
        },
        {
          "path": "pydantic-core/Makefile",
          "locator": "target format (line 69)"
        },
        {
          "path": "pydantic-core/Makefile",
          "locator": "target lint-python (line 75)"
        }
      ],
      "upstream": "https://github.com/astral-sh/ruff",
      "docs": "https://docs.astral.sh/ruff/formatter/#exit-codes",
      "exit_codes": {
        "0": "already formatted",
        "1": "files would be reformatted (--check)",
        "2": "error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "rustfmt",
      "method": "formatting",
      "commands": [
        "cargo fmt --version",
        "cargo fmt --all -- --check",
        "cargo fmt --manifest-path pydantic-core/Cargo.toml",
        "cargo fmt"
      ],
      "triggers": [
        "pre_commit",
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.lint rust"
        },
        {
          "path": "Makefile",
          "locator": "target lint-rust (line 43)"
        },
        {
          "path": "pydantic-core/Makefile",
          "locator": "target lint-rust (line 82)"
        },
        {
          "path": "Makefile",
          "locator": "target format (line 32)"
        },
        {
          "path": "pydantic-core/Makefile",
          "locator": "target format (line 69)"
        },
        {
          "path": "pydantic-core/.rustfmt.toml",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/rust-lang/rustfmt",
      "docs": null,
      "exit_codes": {},
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "The navigation check could not be queued. See [the workflow run](${RUN_URL}) for details."
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/docs-navigation.yml",
          "locator": "jobs.dispatch.steps[4] (Comment failure on PR)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "alembic check"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/third-party.yml",
          "locator": "jobs.test-polar.steps[11] (⚗️ alembic check)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "bash -c 'cd tests/typechecking"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-typechecking-integration.steps[3] (Run typechecking integration tests (Pyright))"
        },
        {
          "path": "Makefile",
          "locator": "target test-typechecking-pyright (line 66)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-typechecking-integration.steps[4] (Run typechecking integration tests (Mypy))"
        },
        {
          "path": "Makefile",
          "locator": "target test-typechecking-mypy (line 70)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-typechecking-integration.steps[5] (Run typechecking integration tests (Pyrefly))"
        },
        {
          "path": "Makefile",
          "locator": "target test-typechecking-pyrefly (line 74)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "bash ./tests/test_pydantic_extra_types.sh"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/integration.yml",
          "locator": "jobs.test-pydantic-extra-types.steps[2] (Run tests)"
        },
        {
          "path": "Makefile",
          "locator": "target test-pydantic-extra-types (line 103)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "bash ./tests/test_pydantic_settings.sh"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/integration.yml",
          "locator": "jobs.test-pydantic-settings.steps[2] (Run tests)"
        },
        {
          "path": "Makefile",
          "locator": "target test-pydantic-settings (line 98)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "coverage combine coverage"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.coverage-combine.steps[5]"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "coverage html"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "Makefile",
          "locator": "target testcov (line 86)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "coverage html --show-contexts --title pydantic coverage for $EXPR"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.coverage-combine.steps[7]"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "coverage html -d htmlcov/python"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "pydantic-core/Makefile",
          "locator": "target testcov (line 100)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "coverage lcov"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "Makefile",
          "locator": "target testcov (line 86)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "coverage report"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.coverage-combine.steps[6]"
        },
        {
          "path": "pydantic-core/Makefile",
          "locator": "target testcov (line 100)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "coverage-prepare html python/pydantic_core/*.so"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "pydantic-core/Makefile",
          "locator": "target testcov (line 100)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "griffe dump -f -d google -LWARNING -o/dev/null python/pydantic_core"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "pydantic-core/Makefile",
          "locator": "target lint-python (line 75)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "ln -s .venv/lib/python*/site-packages/pydantic_extra_types pydantic_extra_types"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.docs-build.steps[4] (prepare shortcuts for extra modules)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "metadata --format-version 1 --no-deps --frozen --quiet --offline --manifest-path pydantic-core/Cargo.toml"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.release-pydantic-core.steps[3] (Extract pydantic-core version)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "mkdocs serve --strict"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "Makefile",
          "locator": "target docs-serve (line 140)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pdm test"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/third-party.yml",
          "locator": "jobs.test-openapi-python-client.steps[5] (Run openapi-python-client tests)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pre-commit hook markdownlint-cli2"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.markdownlint-cli2"
        }
      ],
      "upstream": "https://github.com/DavidAnson/markdownlint-cli2",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pre-commit hook no-commit-to-branch"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.no-commit-to-branch"
        }
      ],
      "upstream": "https://github.com/pre-commit/pre-commit-hooks",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pre-commit hook yamlfmt"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.lint.steps[3]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.yamlfmt"
        }
      ],
      "upstream": "https://github.com/google/yamlfmt",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pyrefly --version"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-typechecking-integration.steps[5] (Run typechecking integration tests (Pyrefly))"
        },
        {
          "path": "Makefile",
          "locator": "target test-typechecking-pyrefly (line 74)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pyrefly check --config pyproject.toml'"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test-typechecking-integration.steps[5] (Run typechecking integration tests (Pyrefly))"
        },
        {
          "path": "Makefile",
          "locator": "target test-typechecking-pyrefly (line 74)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "python -c import docs.plugins.main"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.docs-build.steps[3]"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "rustup component add llvm-tools-preview"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "pydantic-core/Makefile",
          "locator": "target install-rust-coverage (line 29)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "smokeshow upload coverage-html"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/upload-previews.yml",
          "locator": "jobs.upload-previews.steps[3]"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "tweet = os.getenv(BETA_TWEET).format(version=version, official_version=official_version)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.send-tweet.steps[2] (Send tweet)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "tweet = os.getenv(TWEET).format(version=version)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.send-tweet.steps[2] (Send tweet)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "twine check --strict pydantic-core-dist/*"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.release-pydantic-core.steps[7] (Test pydantic-core wheels integrity)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "twine check --strict pydantic-core/dist/*"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.core-build.steps[6]"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "twine check --strict pydantic-dist/*"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.release-pydantic.steps[5] (Test pydantic artifacts integrity)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "xargs -I'{}' sh -c 'uv run python {} >/dev/null 2>&1"
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "Makefile",
          "locator": "target test-examples (line 93)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
