{
  "repository": "Aider-AI/aider",
  "ref": "5dc9490bb35f9729ef2c95d00a19ccd30c26339c",
  "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": "flake8",
      "method": "static_analysis",
      "commands": [
        "pre-commit hook flake8"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/pre-commit.yml",
          "locator": "jobs.pre-commit.steps[4] (Run pre-commit hooks)"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.flake8"
        },
        {
          "path": ".flake8",
          "locator": "config file"
        }
      ],
      "upstream": "https://github.com/PyCQA/flake8",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "ci-matrix",
      "method": "testing",
      "commands": [
        "build (python-version: 5)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ubuntu-tests.yml",
          "locator": "jobs.build.strategy.matrix"
        },
        {
          "path": ".github/workflows/windows-tests.yml",
          "locator": "jobs.build.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": "pytest",
      "method": "testing",
      "commands": [
        "pytest"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ubuntu-tests.yml",
          "locator": "jobs.build.steps[4] (Run tests)"
        },
        {
          "path": ".github/workflows/windows-tests.yml",
          "locator": "jobs.build.steps[3] (Run tests)"
        },
        {
          "path": "pytest.ini",
          "locator": "config file"
        }
      ],
      "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": "black",
      "method": "formatting",
      "commands": [
        "pre-commit hook black"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/pre-commit.yml",
          "locator": "jobs.pre-commit.steps[4] (Run pre-commit hooks)"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.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": "codespell",
      "method": "formatting",
      "commands": [
        "pre-commit hook codespell"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/pre-commit.yml",
          "locator": "jobs.pre-commit.steps[4] (Run pre-commit hooks)"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.codespell"
        },
        {
          "path": "pyproject.toml",
          "locator": "[tool.codespell]"
        }
      ],
      "upstream": "https://github.com/codespell-project/codespell",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "isort",
      "method": "formatting",
      "commands": [
        "pre-commit hook isort"
      ],
      "triggers": [
        "pre_commit",
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/pre-commit.yml",
          "locator": "jobs.pre-commit.steps[4] (Run pre-commit hooks)"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.isort"
        }
      ],
      "upstream": "https://github.com/PyCQA/isort",
      "docs": null,
      "exit_codes": {},
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "Write-Error Error: Installed aider version ($EXPR) does not match the latest tag ($EXPR)."
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/windows_check_pypi_version.yml",
          "locator": "jobs.check_version.steps[5] (Compare versions)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "Write-Host Getting latest non-dev tag..."
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/windows_check_pypi_version.yml",
          "locator": "jobs.check_version.steps[4] (Get latest tag)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "Write-Host Latest non-dev tag: $latest_tag"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/windows_check_pypi_version.yml",
          "locator": "jobs.check_version.steps[4] (Get latest tag)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "Write-Host Latest tag version: $EXPR"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/windows_check_pypi_version.yml",
          "locator": "jobs.check_version.steps[5] (Compare versions)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "linkchecker --ignore-url='.+\\.(mp4"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/pages.yml",
          "locator": "jobs.deploy.steps[3] (Run linkchecker)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
