{
  "repository": "firecrawl/pdf-inspector",
  "ref": "bcf387d1f4ab91d702f417fd9600694da0c166c3",
  "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": "cargo-check",
      "method": "static_analysis",
      "commands": [
        "cargo check --manifest-path wasm/Cargo.toml --target wasm32-unknown-unknown",
        "cargo check --target wasm32-unknown-unknown"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.wasm.steps[3] (Check WebAssembly bindings)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.wasm.steps[4] (Check root package for WebAssembly)"
        }
      ],
      "upstream": "https://github.com/rust-lang/cargo",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "clippy",
      "method": "static_analysis",
      "commands": [
        "cargo clippy -- -D warnings",
        "cargo clippy --features ocr -- -D warnings",
        "cargo clippy --manifest-path wasm/Cargo.toml --target wasm32-unknown-unknown -- -D warnings"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.clippy.steps[3] (Run default clippy)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.clippy.steps[4] (Run OCR clippy)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.wasm.steps[5] (Lint WebAssembly bindings)"
        }
      ],
      "upstream": "https://github.com/rust-lang/rust-clippy",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "cargo-test",
      "method": "testing",
      "commands": [
        "cargo test --verbose",
        "cargo test --features ocr",
        "cargo test --features ocr --test local_render_tests",
        "cargo test --features ocr --test ocr_tests -- --nocapture"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test.steps[4] (Run tests)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr.steps[3] (Test optional OCR feature)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr-runtime.steps[9] (Test PDFium runtime)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr-runtime.steps[13] (Run OCR launch smoke set)"
        }
      ],
      "upstream": "https://github.com/rust-lang/cargo",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "ci-matrix",
      "method": "testing",
      "commands": [
        "ocr (include: 3)"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr.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 tests/test_python.py -q"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr-runtime.steps[17] (Run Python binding tests)"
        }
      ],
      "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": "unittest",
      "method": "testing",
      "commands": [
        "unittest discover -s scripts/tests"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test.steps[5] (Test developer scripts)"
        }
      ],
      "upstream": "https://github.com/python/cpython",
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": "rustfmt",
      "method": "formatting",
      "commands": [
        "cargo fmt --all -- --check",
        "cargo fmt --manifest-path wasm/Cargo.toml -- --check"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.fmt.steps[2] (Check formatting)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.fmt.steps[3] (Check WASM formatting)"
        }
      ],
      "upstream": "https://github.com/rust-lang/rustfmt",
      "docs": null,
      "exit_codes": {},
      "autofix": true,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "assert result.pages[0].provenance.source in {ocr, fused}"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr-runtime.steps[16] (Run Python OCR binding)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "import pdf_inspector"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr-runtime.steps[16] (Run Python OCR binding)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node --input-type=module - <<JS"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr-runtime.steps[15] (Run Node OCR binding)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "node test.mjs"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/publish.yml",
          "locator": "jobs.smoke-test.steps[4] (Run smoke test)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pkg.description = Browser WebAssembly bindings for the pdf-inspector Rust PDF parser"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/publish-wasm.yml",
          "locator": "jobs.build.steps[6] (Prepare package metadata)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pkg.homepage = https://github.com/firecrawl/pdf-inspector/tree/main/wasm"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/publish-wasm.yml",
          "locator": "jobs.build.steps[6] (Prepare package metadata)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "pkg.name = @firecrawl/pdf-inspector-wasm"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/publish-wasm.yml",
          "locator": "jobs.build.steps[6] (Prepare package metadata)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "python scripts/version.py --check"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.test.steps[3] (Check package version sync)"
        },
        {
          "path": ".github/workflows/publish-crate.yml",
          "locator": "jobs.check-version.steps[1] (Check package version sync)"
        },
        {
          "path": ".github/workflows/publish-pypi.yml",
          "locator": "jobs.check-version.steps[1] (Check package version sync)"
        },
        {
          "path": ".github/workflows/publish-wasm.yml",
          "locator": "jobs.check-version.steps[1] (Check package version sync)"
        },
        {
          "path": ".github/workflows/publish.yml",
          "locator": "jobs.check-version.steps[1] (Check package version sync)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "result = pdf_inspector.process_pdf_with_ocr("
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr-runtime.steps[16] (Run Python OCR binding)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "sha256sum --check"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr-runtime.steps[5] (Install PDFium)"
        },
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.ocr-runtime.steps[6] (Install ONNX Runtime)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    },
    {
      "tool": null,
      "method": "unclassified",
      "commands": [
        "wasm-pack test --node --release wasm"
      ],
      "triggers": [
        "ci"
      ],
      "evidence": [
        {
          "path": ".github/workflows/ci.yml",
          "locator": "jobs.wasm.steps[7] (Test WebAssembly package)"
        }
      ],
      "upstream": null,
      "docs": null,
      "exit_codes": {},
      "autofix": false,
      "declared_only": false
    }
  ]
}
