{
  "repository": "Unstructured-IO/unstructured",
  "ref": "d505b6010964de066a33fcce716a644e5887e7d3",
  "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": "codeql",
      "method": "static_analysis",
      "commands": [
        "uses github/codeql-action/analyze"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/codeql-analysis.yml",
          "locator": "jobs.analyze.steps[3] (Perform CodeQL Analysis)"
        }
      ],
      "upstream": "https://github.com/github/codeql",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "ruff-check",
      "method": "static_analysis",
      "commands": [
        "pre-commit hook ruff",
        "ruff check .",
        "ruff check --fix-only --show-fixes ."
      ],
      "triggers": [
        "pre_commit",
        "local"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.ruff"
        },
        {
          "path": "Makefile",
          "locator": "target check-ruff (line 87)"
        },
        {
          "path": "Makefile",
          "locator": "target tidy (line 97)"
        },
        {
          "path": "pyproject.toml",
          "locator": "[tool.ruff]"
        },
        {
          "path": "pyproject.toml",
          "locator": "[dependency-groups] lint: ruff"
        }
      ],
      "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": "mypy",
      "method": "static_analysis",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "pyproject.toml",
          "locator": "[dependency-groups] test: 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": true
    },
    {
      "tool": "pyright",
      "method": "static_analysis",
      "commands": [],
      "triggers": [],
      "evidence": [
        {
          "path": "pyproject.toml",
          "locator": "[tool.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": true
    },
    {
      "tool": "ci-matrix",
      "method": "testing",
      "commands": [
        "test_unit (python-version: 3)",
        "test_unit_no_extras (python-version: 3)",
        "analyze (language: 1)",
        "build-images (include: 2)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test_unit.strategy.matrix"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test_unit_no_extras.strategy.matrix"
        },
        {
          "path": ".github/workflows/codeql-analysis.yml",
          "locator": "jobs.analyze.strategy.matrix"
        },
        {
          "path": ".github/workflows/docker-publish.yml",
          "locator": "jobs.build-images.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 -n auto test_${PACKAGE_NAME} --cov=${PACKAGE_NAME} --cov-report term-missing --durations=40",
        "pytest -n auto test_${PACKAGE_NAME}/partition/common/test_lang.py test_${PACKAGE_NAME}/partition/test_text.py test_${PACKAGE_NAME}/partition/test_email.py test_${PACKAGE_NAME}/partition/html/test_partition.py test_${PACKAGE_NAME}/partition/test_xml.py",
        "pytest -n auto test_${PACKAGE_NAME}/partition/test_text.py test_${PACKAGE_NAME}/partition/test_email.py test_${PACKAGE_NAME}/partition/html/test_partition.py test_${PACKAGE_NAME}/partition/test_xml.py",
        "pytest -n auto $(if $(TEST_FILE),$(TEST_FILE),test_unstructured)\"",
        "pytest -n auto test_unstructured/partition/test_csv.py test_unstructured/partition/test_tsv.py"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test_unit.steps[3] (Test)"
        },
        {
          "path": "Makefile",
          "locator": "target test (line 33)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test_unit.steps[4] (Test language detection with langdetect-rs)"
        },
        {
          "path": "Makefile",
          "locator": "target test-langdetect-rs (line 41)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test_unit_no_extras.steps[3] (Install base dependencies only (no extras))"
        },
        {
          "path": "Makefile",
          "locator": "target test-no-extras (line 37)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test_dockerfile.steps[1] (Test Dockerfile)"
        },
        {
          "path": "Makefile",
          "locator": "target docker-test (line 131)"
        },
        {
          "path": ".github/workflows/docker-publish.yml",
          "locator": "jobs.build-images.steps[4] (Test images)"
        },
        {
          "path": "Makefile",
          "locator": "target test-extra-csv (line 46)"
        },
        {
          "path": "Makefile",
          "locator": "target test-extra-docx (line 50)"
        },
        {
          "path": "Makefile",
          "locator": "target test-extra-epub (line 54)"
        }
      ],
      "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": "pre-commit-hooks",
      "method": "formatting",
      "commands": [
        "pre-commit hook check-added-large-files",
        "pre-commit hook check-toml",
        "pre-commit hook check-yaml",
        "pre-commit hook check-json",
        "pre-commit hook end-of-file-fixer"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.check-added-large-files"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.check-toml"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.check-yaml"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.check-json"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.end-of-file-fixer"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.trailing-whitespace"
        },
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.mixed-line-ending"
        }
      ],
      "upstream": "https://github.com/pre-commit/pre-commit-hooks",
      "docs": null,
      "exit_codes": {},
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": "ruff-format",
      "method": "formatting",
      "commands": [
        "pre-commit hook ruff-format",
        "ruff format --check .",
        "ruff format ."
      ],
      "triggers": [
        "pre_commit",
        "local"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.ruff-format"
        },
        {
          "path": "Makefile",
          "locator": "target check-ruff (line 87)"
        },
        {
          "path": "Makefile",
          "locator": "target tidy (line 97)"
        }
      ],
      "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": "uv-lock",
      "method": "supply_chain",
      "commands": [
        "uv lock --check"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.setup.steps[2] (Validate lockfile)"
        }
      ],
      "upstream": "https://github.com/astral-sh/uv",
      "docs": null,
      "exit_codes": {},
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "Built against cgr.dev/chainguard/wolfi-base:latest with Python 3.12."
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/build-opencv-wheels.yml",
          "locator": "jobs.create-release.steps[2] (Create GitHub Release)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "assert lang.detect_langs is rs.detect_langs'"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test_unit.steps[4] (Test language detection with langdetect-rs)"
        },
        {
          "path": "Makefile",
          "locator": "target test-langdetect-rs (line 41)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "bash scripts/check-new-release-version.sh"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.check-version.steps[2] (Check merge-result version)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "bash scripts/post-release-dev-bump.sh --verify-release $RELEASE_TAG"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/post-release-dev-bump.yml",
          "locator": "jobs.bump.steps[2] (Verify published release)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "bash scripts/test-check-new-release-version.sh"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.check-version.steps[1] (Test version guard)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "bash scripts/test-post-release-dev-bump.sh"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.check-version.steps[1] (Test version guard)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "coverage report --fail-under=90"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test_unit.steps[3] (Test)"
        },
        {
          "path": "Makefile",
          "locator": "target check-coverage (line 107)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "from unstructured.partition.common import lang"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test_unit.steps[4] (Test language detection with langdetect-rs)"
        },
        {
          "path": "Makefile",
          "locator": "target test-langdetect-rs (line 41)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pre-commit hook check-xml"
      ],
      "triggers": [
        "pre_commit"
      ],
      "evidence": [
        {
          "path": ".pre-commit-config.yaml",
          "locator": "hooks.check-xml"
        }
      ],
      "upstream": "https://github.com/pre-commit/pre-commit-hooks",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "python -c 'import langdetect_rs as rs"
      ],
      "triggers": [
        "ci",
        "local"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test_unit.steps[4] (Test language detection with langdetect-rs)"
        },
        {
          "path": "Makefile",
          "locator": "target test-langdetect-rs (line 41)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "shfmt -i 2 -d ."
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.shfmt.steps[2] (Run shfmt)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "shfmt -i 2 -l -w ."
      ],
      "triggers": [
        "local"
      ],
      "evidence": [
        {
          "path": "Makefile",
          "locator": "target tidy-shell (line 102)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "twine check dist/*"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/release.yml",
          "locator": "jobs.release.steps[6] (Validate artifact)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
