Every pull request answers two questions badly: how much really changed, and did AI touch anything that matters? A verification step in the PR itself can answer both with evidence — a comment, a Security-tab report, and an optional gate that blocks the merge.
The CodeDelta GitHub Action measures the pull request's diff — base to head, at logical-statement level — inside your own runner. Each PR gets:
name: CodeDelta
on:
pull_request:
permissions:
contents: read
pull-requests: write # the summary comment
security-events: write # SARIF to the Security tab
jobs:
codedelta:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: code-delta-app/action@v1
with:
license: ${{ secrets.CODEDELTA_LICENSE }}
fail-on-new: "true" # optional: block merges on new findings
That's the whole integration. The engine bundle downloads at run time; nothing about your code leaves the runner. Fork PRs are handled safely — the workflow runs on pull_request, so forks never see your secrets. During the free-trial period the license input can be omitted entirely.
Measurement that lives outside the workflow gets looked at monthly and argued with never. A check on the pull request is read at the only moment it can change anything — before the merge — and its numbers are reproducible from the PR's own commit pair, which ends arguments instead of starting them. The measurement method is documented in open technical papers; the arithmetic re-runs from two hashes.
Set it up on one repository — first PR comment in about two minutes. GitLab, Jenkins and plain-CLI equivalents are on the CI page.