ishana2007/ProofGate
Shift the burden of proof to PR contributors: run the test suite, detect test-gaming tricks, require an AI-disclosure attestation, and post one clear verdict — strong, weak, or gaming-detected.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| github-token | Token used to read the PR diff and post the verdict comment. Needs `pull-requests: write` to comment; falls back to the job summary without it. | no | ${{ github.token }} |
| test-command | Command that runs the project's test suite. When omitted, ProofGate auto-detects npm/pnpm/yarn, pytest, go, cargo, rspec, gradle, or maven. | no | — |
| coverage-command | Command that runs the suite WITH coverage (used instead of test-command), e.g. "npx vitest run --coverage" or "pytest --cov --cov-report=lcov". | no | — |
| coverage-file | Path to the coverage report (lcov or Go coverprofile). Auto-detected at lcov.info, coverage/lcov.info, coverage.lcov, or coverage.out. | no | — |
| patch-coverage-threshold | Minimum percent of changed lines that must be covered by tests before the verdict can be strong. "0" disables the check. | no | 50 |
| require-tests | When coverage is unavailable, flag PRs that change source without touching any tests ("true"/"false"). | no | true |
| base-test-pinning | Rerun the suite with the base branch's versions of any test files this PR modified: "auto" (only when tests were modified), "always", or "off". A pass→fail divergence is treated as gaming. | no | auto |
| mode | "check" analyzes the PR (default). "post" is for workflow_run relay jobs: it reads a previously uploaded proofgate-report artifact from report-path, recomputes the diff scan and attestation, and posts the verdict comment — this is how fork PRs get comments. | no | check |
| report-path | Directory containing the downloaded report artifact (mode: post). | no | proofgate-report |
| require-attestation | Require the "ProofGate Attestation" section in the PR description ("true" or "false"). | no | true |
| fail-on | When to fail the check: "gaming" (default — fail only on gaming-detected), "weak" (fail unless strong), or "never". | no | gaming |
| working-directory | Directory in which tests are detected and run. | no | . |
Outputs
| name | description |
|---|---|
| verdict | The verdict: strong, weak, or gaming-detected. |
| tests-passed | Whether the test suite passed ("true"/"false"). |
| findings | JSON array of gaming-scan findings. |
| patch-coverage | Percent of changed lines covered by tests (empty when not computed). |