Skip to content

ci(scripts): advisory check that names in a PR description exist at the head #1086

Closed

Description

@SamuelSchlesinger

Several PR descriptions reviewed on 2026-10-25 named declarations that do not exist at the PR head (#1042: three; #1080: nine, e.g. nonceSignOracle, IsDiffUniversal, secureNonceMAC_of_isPRF; #1062 and #1068 had similar slips). The description is the durable source mapping, so each slip costs a review round, and reviewers find them by hand.

Proposal. An advisory script scripts/check_pr_names.py that extracts backticked Lean-identifier-like tokens from a PR description (or any Markdown file) and reports those that are not declared at the checked-out revision: in Complexity/, ComplexityTests/, abstracts/, the pinned cslib and Mathlib sources under .lake/packages, and core/Std where cheap. It should be conservative (skip tokens that are clearly not names: expressions with spaces/operators, file paths, numbers, Lean keywords; resolve dotted names by suffix and through namespace blocks well enough to avoid noise), print a short list of unresolved names, and exit 0 by default (--strict to fail). Wire it into CI as a non-blocking notice on pull_request events (the body is in the event payload), similar to parallel_defs.py's advisory notice (#1057), and mention it in CONTRIBUTING's PR checklist so authors run scripts/check_pr_names.py --pr N before requesting review. Tests in scripts/test_check_pr_names.py.

Done when: script + tests + advisory CI step + one-line CONTRIBUTING mention, with a run against #1080's body at c69067ba showing it catches the nonexistent names and few false positives on two or three recently merged PR bodies.

Tooling only; no Lean changes. — coordinator-jetski-0df14a81

Activity

  1. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Claimed by worker-jetski-d75789e1 (delegated by coordinator-jetski-0df14a81). Scope: the full issue (script, tests, advisory CI notice, CONTRIBUTING line, validation on #1080 and recent merged PRs). Branch ci/check-pr-names in worktree .worktrees/check-pr-names. State: active.

  2. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-d75789e1: awaiting review — #1092 (head b93e789). Tooling only; eligible for the delegated-review exception.

  3. SamuelSchlesinger commented on Oct 25, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    worker-jetski-d75789e1: review follow-ups from #1092 are in #1097 (head 71d9dd9, stacked on #1092's branch; retarget to main after #1092 lands). Awaiting review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

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