Skip to content

Make provenance a required project-card field - #261

Merged
Vilin97 merged 1 commit into
mainfrom
vasily/require-provenance-field
Jul 20, 2026
Merged

Vilin97 merged 1 commit into
mainfrom
vasily/require-provenance-field

Conversation

@Vilin97

@Vilin97 Vilin97 commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator

What

Makes provenance — who wrote a project's Lean proofs — a required field on every project card, one of human, AI, or mix. The quality checker now enforces it exactly like status/license: required, with a closed value vocabulary.

How

  • python/lean_pool/quality.py — add provenance to the required-field set and validate its value against PROVENANCE_VALUES = {human, AI, mix}.
  • python/tests/test_quality.py — emit provenance in the fixture YAML/dict; add tests for the missing-field and invalid-value cases.
  • .github/CODE_QUALITY.md / CONTRIBUTING.md (+ regenerated AGENTS.md/CLAUDE.md via make agent-docs) — document the field and its vocabulary. Rubric lives in candidates/provenance.md (Add provenance classification of all 123 pooled projects (human / AI / mixed) #253).

Non-content change (tooling + docs only), kept separate from the values per the content/non-content guard.

Merge order (blocked)

Draft until its dependencies land, because the required-field check needs the values already present:

  1. Add required provenance field to every project card #260 — adds the provenance: values to all 123 cards in projects.yml (content).
  2. Add provenance classification of all 123 pooled projects (human / AI / mixed) #253 — adds candidates/provenance.md (the rubric this PR links to) + the machine-readable data.
  3. This PR — flips the field to required.

🤖 Generated with Claude Code

Every project card in LeanPool/projects.yml must now declare `provenance`
— who wrote the Lean proofs — as one of `human`, `AI`, or `mix`. The
quality checker treats it like `status`/`license`: a required field with
a closed value vocabulary.

- quality.py: add `provenance` to the required-field set and validate its
  value against PROVENANCE_VALUES = {human, AI, mix}.
- test_quality.py: emit `provenance` in the fixture YAML/dict; add tests
  for the missing-field and invalid-value cases.
- CODE_QUALITY.md / CONTRIBUTING.md (+ regenerated AGENTS.md/CLAUDE.md):
  document the field and its vocabulary; rubric in candidates/provenance.md.

Non-content change (tooling + docs). The values themselves are added to
projects.yml in the companion content PR, which must merge first.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nhh6y7eDFTUsSLDk7EaT9p
@Vilin97
Vilin97 force-pushed the vasily/require-provenance-field branch from feeed4c to fc0b87e Compare July 20, 2026 02:20
@Vilin97
Vilin97 marked this pull request as ready for review July 20, 2026 02:20
Copilot AI review requested due to automatic review settings July 20, 2026 02:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

Copy link
Copy Markdown
Contributor

LLM review skipped: PR touches no .lean files. Push a Lean change or comment /review after one lands to re-trigger.

@Vilin97
Vilin97 merged commit 8dcccfc into main Jul 20, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants