{
  "repository": "astral-sh/ruff",
  "ref": "1abd01c669c38368ca8da97fb3b2cc4280c63295",
  "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": "actionlint",
      "method": "static_analysis",
      "commands": [
        "pre-commit hook actionlint"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.actionlint"
        }
      ],
      "upstream": "https://github.com/rhysd/actionlint",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "cargo-check",
      "method": "static_analysis",
      "commands": [
        "cargo check --locked -p ruff_python_parser --no-default-features --all-targets",
        "cargo check"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-test-linux.steps[7] (Check parser without stacker)"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.scripts.steps[8]"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.scripts.steps[10]"
        }
      ],
      "upstream": "https://github.com/rust-lang/cargo",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "clippy",
      "method": "static_analysis",
      "commands": [
        "cargo clippy --workspace --all-targets --all-features --locked",
        "cargo clippy -p ruff_wasm -p ty_wasm --target wasm32-unknown-unknown --all-features --locked"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-clippy.steps[3] (Clippy)"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-clippy.steps[4] (Clippy (wasm))"
        },
        {
          "path": "clippy.toml",
          "locator": "config file"
        }
      ],
      "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 --strict -f mkdocs.yml"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.docs.steps[7] (Build docs)"
        },
        {
          "path": ".github/workflows/publish-docs.yml",
          "locator": "jobs.mkdocs.steps[6] (Build docs)"
        },
        {
          "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"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.scripts.steps[12]"
        }
      ],
      "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": "ruff-check",
      "method": "static_analysis",
      "commands": [
        "ruff --help",
        "ruff check",
        "ruff --version",
        "pre-commit hook ruff-check"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/build-binaries.yml",
          "locator": "jobs.macos-aarch64.steps[7] (Test wheel - aarch64)"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.scripts.steps[14]"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.python-package.steps[5] (Test wheel)"
        },
        {
          "path": ".github/workflows/sign-release-binaries.yml",
          "locator": "jobs.verify-macos.steps[6] (Install and run the signed wheels)"
        },
        {
          "path": ".github/workflows/sign-release-binaries.yml",
          "locator": "jobs.verify-windows.steps[5] (Install and run the signed wheels)"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.ruff-check"
        },
        {
          "path": "Cargo.toml",
          "locator": "[workspace.dependencies]: ruff"
        },
        {
          "path": "pyproject.toml",
          "locator": "[tool.ruff]"
        },
        {
          "path": "crates/ruff_linter/resources/test/project/examples/docs/ruff.toml",
          "locator": "config file"
        },
        {
          "path": "crates/ty_python_semantic/resources/lint_docs/ruff.toml",
          "locator": "config file"
        },
        {
          "path": "crates/ty_python_semantic/resources/mdtest/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": "tsc",
      "method": "static_analysis",
      "commands": [
        "tsc"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/build-playground.yml",
          "locator": "jobs.build.steps[5] (Run TypeScript checks)"
        },
        {
          "path": "playground/package.json",
          "locator": "scripts.check"
        },
        {
          "path": "playground/package.json",
          "locator": "scripts.tsc"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.check-playground.steps[8] (Run TypeScript checks)"
        },
        {
          "path": ".github/workflows/publish-ty-playground.yml",
          "locator": "jobs.build.steps[5] (Run TypeScript checks)"
        },
        {
          "path": "playground/package.json",
          "locator": "devDependencies: typescript"
        }
      ],
      "upstream": "https://github.com/microsoft/TypeScript",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "zizmor",
      "method": "static_analysis",
      "commands": [
        "pre-commit hook zizmor"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "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-fuzz",
      "method": "testing",
      "commands": [
        "cargo fuzz build -s none"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-fuzz-build.steps[4]"
        },
        {
          "path": "fuzz/Cargo.toml",
          "locator": "[dependencies]: libfuzzer-sys"
        },
        {
          "path": "fuzz/fuzz_targets/ruff_fix_validity.rs",
          "locator": "6 file(s)"
        }
      ],
      "upstream": "https://github.com/rust-fuzz/cargo-fuzz",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "cargo-test",
      "method": "testing",
      "commands": [
        "cargo test -p ty_python_semantic --test mdtest",
        "cargo test --doc --all-features",
        "cargo nextest run --cargo-profile profiling --all-features",
        "cargo test --doc --profile profiling --all-features",
        "cargo nextest run --all-features --profile ci"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-test-linux.steps[4] (ty mdtests (GitHub annotations))"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-test-linux.steps[6] (Run doctests)"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-test-linux-release.steps[4] (Run tests)"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-test-linux-release.steps[5] (Run doctests)"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-test-other.steps[6] (Run tests)"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-build-msrv.steps[4] (Build tests)"
        }
      ],
      "upstream": "https://github.com/rust-lang/cargo",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "ci-matrix",
      "method": "testing",
      "commands": [
        "cargo-test-other (platform: 2)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-test-other.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": "proptest",
      "method": "testing",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "Cargo.toml",
          "locator": "[workspace.dependencies]: quickcheck"
        }
      ],
      "upstream": "https://github.com/proptest-rs/proptest",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "unittest",
      "method": "testing",
      "commands": [
        "unittest discover -s tests"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.scripts.steps[11]"
        }
      ],
      "upstream": "https://github.com/python/cpython",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "black",
      "method": "formatting",
      "commands": [
        "black ${VENDORED_TYPESHED}/stdlib --config ${VENDORED_TYPESHED}/pyproject.toml"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/sync_typeshed.yaml",
          "locator": "jobs.docstrings-macos.steps[5] (Format the changes)"
        },
        {
          "path": "pyproject.toml",
          "locator": "[tool.black]"
        },
        {
          "path": "pyproject.toml",
          "locator": "[dependency-groups] typeshed-formatting: black"
        }
      ],
      "upstream": "https://github.com/psf/black",
      "docs": null,
      "exit_codes": {
        "0": "nothing to change",
        "1": "files would be reformatted (--check)",
        "123": "internal error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "pre-commit-hooks",
      "method": "formatting",
      "commands": [
        "pre-commit hook check-merge-conflict",
        "pre-commit hook end-of-file-fixer"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.check-merge-conflict"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.end-of-file-fixer"
        }
      ],
      "upstream": "https://github.com/pre-commit/pre-commit-hooks",
      "docs": null,
      "exit_codes": {},
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "prettier",
      "method": "formatting",
      "commands": [
        "prettier --cache --check .",
        "pre-commit hook prettier",
        "prettier --cache -w ."
      ],
      "triggers": [
        "pre_commit",
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.check-playground.steps[9] (Check formatting)"
        },
        {
          "path": "playground/package.json",
          "locator": "scripts.fmt:check"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.prettier"
        },
        {
          "path": "playground/package.json",
          "locator": "scripts.fmt"
        },
        {
          "path": "playground/package.json",
          "locator": "devDependencies: prettier"
        }
      ],
      "upstream": "https://github.com/prettier/prettier",
      "docs": "https://prettier.io/docs/cli#exit-codes",
      "exit_codes": {
        "0": "everything formatted",
        "1": "something was not formatted (--check)",
        "2": "prettier error"
      },
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "ruff-format",
      "method": "formatting",
      "commands": [
        "ruff format --check",
        "pre-commit hook ruff-format"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.scripts.steps[13]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.ruff-format"
        }
      ],
      "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 --all --check",
        "rustfmt"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-fmt.steps[2]"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.rustfmt"
        },
        {
          "path": "rustfmt.toml",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/rust-lang/rustfmt",
      "docs": null,
      "exit_codes": {},
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "cargo-deny",
      "method": "supply_chain",
      "commands": [
        "cargo deny --locked --all-features check licenses",
        "cargo deny --locked --all-features check sources",
        "cargo deny --locked --all-features check bans"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-deny.steps[2] (Check licenses)"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-deny.steps[3] (Check sources)"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-deny.steps[5] (Check bans)"
        },
        {
          "path": ".cargo/deny.toml",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/EmbarkStudios/cargo-deny",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "uv-lock",
      "method": "supply_chain",
      "commands": [
        "pre-commit hook uv-lock"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.uv-lock"
        }
      ],
      "upstream": "https://github.com/astral-sh/uv",
      "docs": null,
      "exit_codes": {},
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "COPY --from=${RUFF_BASE_IMG}:latest /ruff /usr/local/bin/ruff"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/build-docker.yml",
          "locator": "jobs.docker-publish-extra.steps[2] (Generate Dynamic Dockerfile Tags)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "cargo hawk check --color=always -D warnings"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.hawk.steps[4] (Hawk)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "cargo insta test --accept --all-features --test-runner nextest --disable-nextest-doctest"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/sync_typeshed.yaml",
          "locator": "jobs.update-snapshots.steps[3] (Update snapshots)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "cargo insta test --all-features --unreferenced reject --test-runner nextest --disable-nextest-doctest"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-test-linux.steps[5] (Run tests)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "dist ${dist_args[@]} --output-format=json > plan-dist-manifest.json"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/release.yml",
          "locator": "jobs.plan.steps[3]"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "fuzz --test-executable=target/debug/ruff ${FUZZ_CORPUS:+--corpus-dir=$FUZZ_CORPUS} --budget-minutes=${FUZZ_JOB_TIMEOUT_MINUTES} --job-started-at=${FUZZ_JOB_STARTED_AT} --bin=ruff 0-500"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.fuzz-parser.steps[7] (Fuzz)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "fuzz --test-executable=target/debug/ruff --budget-minutes=${FUZZ_JOB_TIMEOUT_MINUTES} --job-started-at=${FUZZ_JOB_STARTED_AT} --bin=ruff ${issue_options[@]} $(shuf -i 0-9999999999999999999 -n 1000)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/daily_fuzz.yaml",
          "locator": "jobs.fuzz.steps[6] (Fuzz)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "fuzz --test-executable=ty-new --baseline-executable=ty-old --only-new-bugs ${FUZZ_CORPUS:+--corpus-dir=$FUZZ_CORPUS} --budget-minutes=${FUZZ_JOB_TIMEOUT_MINUTES} --job-started-at=${FUZZ_JOB_STARTED_AT} --bin=ty $FUZZ_CORPUS_SEEDS"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.fuzz-ty.steps[7] (Fuzz)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "go run github.com/wasilibs/go-shellcheck/cmd/shellcheck@v0.11.1 ${files[@]}"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.shellcheck.steps[2] (Run ShellCheck)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "oxlint ruff/src ty/src"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/build-playground.yml",
          "locator": "jobs.build.steps[5] (Run TypeScript checks)"
        },
        {
          "path": "playground/package.json",
          "locator": "scripts.check"
        },
        {
          "path": "playground/package.json",
          "locator": "scripts.lint"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.check-playground.steps[8] (Run TypeScript checks)"
        },
        {
          "path": ".github/workflows/publish-ty-playground.yml",
          "locator": "jobs.build.steps[5] (Run TypeScript checks)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pre-commit hook check-github-workflows"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.check-github-workflows"
        }
      ],
      "upstream": "https://github.com/python-jsonschema/check-jsonschema",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pre-commit hook markdownlint-fix"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.markdownlint-fix"
        }
      ],
      "upstream": "https://github.com/igorshubovych/markdownlint-cli",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pre-commit hook mdformat"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.mdformat"
        }
      ],
      "upstream": "https://github.com/executablebooks/mdformat",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pre-commit hook typos"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.typos"
        }
      ],
      "upstream": "https://github.com/crate-ci/typos",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pre-commit hook validate-pyproject"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.validate-pyproject"
        }
      ],
      "upstream": "https://github.com/abravalheri/validate-pyproject",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "python crates/ruff_python_formatter/generate.py"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.scripts.steps[5]"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "ruff-ecosystem check ./target/debug/ruff-baseline ./target/debug/ruff --cache $RUNNER_TEMP/ruff-ecosystem-checkouts --output-format markdown --force-preview --html-output ecosystem-html/check-preview.html"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.ecosystem.steps[9] (Run `ruff check` preview ecosystem check)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "ruff-ecosystem check ./target/debug/ruff-baseline ./target/debug/ruff --cache $RUNNER_TEMP/ruff-ecosystem-checkouts --output-format markdown --html-output ecosystem-html/check-stable.html"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.ecosystem.steps[8] (Run `ruff check` stable ecosystem check)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "ruff-ecosystem format ./target/debug/ruff-baseline ./target/debug/ruff --cache $RUNNER_TEMP/ruff-ecosystem-checkouts --output-format markdown --force-preview --html-output ecosystem-html/format-preview.html"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.ecosystem.steps[11] (Run `ruff format` preview ecosystem check)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "ruff-ecosystem format ./target/debug/ruff-baseline ./target/debug/ruff --cache $RUNNER_TEMP/ruff-ecosystem-checkouts --output-format markdown --html-output ecosystem-html/format-stable.html"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.ecosystem.steps[10] (Run `ruff format` stable ecosystem check)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "tee ecosystem-result-check-preview"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.ecosystem.steps[9] (Run `ruff check` preview ecosystem check)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "tee ecosystem-result-check-stable"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.ecosystem.steps[8] (Run `ruff check` stable ecosystem check)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "tee ecosystem-result-format-preview"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.ecosystem.steps[11] (Run `ruff format` preview ecosystem check)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "tee ecosystem-result-format-stable"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.ecosystem.steps[10] (Run `ruff format` stable ecosystem check)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "wasm-pack test --node"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-test-wasm.steps[5] (Test ruff_wasm)"
        },
        {
          "path": ".github/workflows/ci.yaml",
          "locator": "jobs.cargo-test-wasm.steps[6] (Test ty_wasm)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
