Skip to content

Wire leanaudit CI job (blocked on LEANAUDIT_TOKEN secret) #4

@MarcIlunga

Description

@MarcIlunga

Summary

leanaudit (trailofbits/leanaudit) is the project-side soundness checker that audits axioms, sorries, classical/constructive split, and dependency cycles per Lean module. We initially wired it as a CI job in PR #3 but had to drop it because:

  • trailofbits/leanaudit repository visibility is INTERNAL.
  • The default GITHUB_TOKEN in our validation-harness.yml workflow only has access to scroll-fv itself, not other org-internal repos.
  • uv tool install git+https://github.com/trailofbits/leanaudit.git therefore fails with fatal: could not read Username for 'https://github.com' — git tries to prompt for credentials and exits non-zero.

What's needed

A fine-grained PAT (or GitHub App installation token) with read-only access to trailofbits/leanaudit, stored as repo secret LEANAUDIT_TOKEN on trailofbits/scroll-fv.

Step-by-step

  1. Create the token at https://github.com/settings/personal-access-tokens/new

    • Token name: e.g. scroll-fv → leanaudit (read)
    • Resource owner: trailofbits
    • Repository access → Only select repositories → trailofbits/leanaudit
    • Repository permissions → Contents → Read-only
    • Generate, copy the token.
    • Note: trailofbits org may require admin approval for fine-grained PATs (token shows as 'Pending' until approved).
  2. Add as repo secret at https://github.com/trailofbits/scroll-fv/settings/secrets/actions

    • New repository secret
    • Name: `LEANAUDIT_TOKEN` (exact)
    • Value: paste the token
  3. Re-add the job in `.github/workflows/validation-harness.yml`. The previous shape (commit `57806a2` in this repo's git history) is the right starting point — it already gates on `secrets.LEANAUDIT_TOKEN` and skips with `::warning::` when absent.

Acceptance criteria

  • `LEANAUDIT_TOKEN` secret provisioned on the repo
  • `leanaudit` job re-added to validation-harness.yml
  • Job runs successfully on a PR; findings surface in the workflow-run summary panel
  • No SARIF / artifact upload (per project policy: don't pollute actions artifact storage)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions