ajaysurya1221/Frontier Scout PR Scope Verifier

Verify an AI-agent PR's diff stayed within the approved frontier-scout policy scope. Fail-closed. Emits GitHub annotations, a machine-readable evidence JSON, and (optionally) a signed attestation of that evidence via GitHub attestations.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 10, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: ajaysurya1221/frontier-scout@7566079d2078432f58c33a856941151777d5f269 # v2.1.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
baseBase git ref to diff against (e.g. origin/main). Default: derived from the pull_request event (origin/$GITHUB_BASE_REF). The action FAILS if no base is resolvable — a missing base is never treated as an empty diff (fail-closed). Requires actions/checkout with fetch-depth: 0.""
receiptsGlob of receipt JSON files. Empty = library defaults (frontier-scout-receipts/*.json and .frontier-scout/receipts/*.json).""
advisory"true" downgrades violations to warnings and never fails the job. Default false: this is a fail-closed verifier. Use true only while onboarding.false
repoPath to the repository root to verify (passed to --repo)..
versionfrontier-scout version to install from PyPI (e.g. "2.1.0"). Empty (default) installs the action's own bundled source — the exact code at the pinned ref.""
attest"true" signs the evidence JSON with actions/attest (custom predicate). Requires job permissions: id-token: write, attestations: write, contents: read. If attestation cannot be produced the action FAILS — it never silently degrades to unsigned evidence. Unavailable to fork PRs.false
evidence-pathWhere to write the evidence JSON. Empty = $RUNNER_TEMP/frontier-scout-evidence.json (outside the workspace, so the verified tree stays clean).""
evidence-artifactIf non-empty, upload the evidence JSON as a workflow artifact with this name.""
python-versionPython for the verifier (frontier-scout needs >= 3.11).3.12
namedescription
oktrue/false — verifier verdict (advisory mode can be true with warnings).
verdictpass | fail | unverified (unverified = diff could not be computed; never reported as pass).
summaryOne-line human summary from the verifier.
violationsViolation count.
warningsWarning count.
evidence-pathAbsolute path of the evidence JSON written via --json-out.
attestation-idAttestation ID (empty unless attest: true).
attestation-urlAttestation URL (empty unless attest: true).