Skip to content

Filter candidates table by classifier decisions - #29

Merged
justincasher merged 1 commit into
mainfrom
justin/render-decisions-filter
May 10, 2026
Merged

justincasher merged 1 commit into
mainfrom
justin/render-decisions-filter

Conversation

@justincasher

Copy link
Copy Markdown
Collaborator

Summary

  • Adds aggregator/candidates/CRITERIA.txt (the inclusion policy) and aggregator/candidates/decisions.jsonl (953 per-repo verdicts: 491 include / 462 exclude). Verdicts were produced by running the criteria over every cloned repo that passed the existing --min-stars=2 --min-loc=250 filters.
  • Each line of decisions.jsonl is {repo, include, category, confidence, rationale}. Categories: mathlib | cslib | physlean | multi for includes; tool | educational | personal | translation | fork | empty | scaffold for excludes.
  • Adds a --decisions flag to aggregator render (defaults to the new file). When loaded, rows whose canonical key has include=false are dropped from the markdown table. Repos with no verdict are kept so a partial run can't silently lose a package.
  • Re-render takes the table from 959 to 498 rows (491 included + 7 unclassified). README is now ~87 KB, comfortably below GitHub's rendering threshold.

Numbers from the run

total
classified 953
include 491
exclude 462
confidence high / medium / low 794 / 146 / 10

Top categories: mathlib 299, tool 249, cslib 161, educational 129.

@justincasher
justincasher force-pushed the justin/render-decisions-filter branch from b6a1f28 to f5995c3 Compare May 10, 2026 03:47
justincasher added a commit that referenced this pull request May 10, 2026
Both comment steps run before actions/checkout so the working dir has
no .git, and `gh pr comment` shells out to git to detect the repo.
Already exposed by PR #29: the Wait-for-Lean-CI step timed out, the
'not green' comment ran without checkout, and gh aborted with
'fatal: not a git repository'. Pass -R "$REPO" on both comment
calls to use the API path that does not need git.
Adds aggregator/candidates/decisions.jsonl (953 verdicts produced by
running the inclusion criteria over every cloned repo with >=2 stars
and >=250 .lean LOC) plus the CRITERIA.txt the classifier follows.
Each line is {repo, include, category, confidence, rationale}.

The render command grows a --decisions flag (default points at the
new file). When loaded, rows whose canonical key has include=false
are dropped from the markdown table; repos with no verdict are kept
so a partial run never silently loses a package. Re-render shrinks
the table from 959 to 498 rows (491 included + 7 unclassified).
@justincasher
justincasher force-pushed the justin/render-decisions-filter branch from f5995c3 to 8187a55 Compare May 10, 2026 04:02
@justincasher
justincasher merged commit 1616487 into main May 10, 2026
2 checks passed
@Vilin97
Vilin97 deleted the justin/render-decisions-filter branch May 11, 2026 02:58
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.

1 participant