leanprover-community / leanprover-community/physlib
AI task runner
Nobody has claimed this yet.
- Dominant language
- Lean
- Stars
- 749
- Forks
- 189
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 75
Description
Create physlib_ai_tasks
This issue was drafted with the help of Claude Opus 4.8.
A small tool with two requirements:
- List open tasks in [Physlib](https://github.com/leanprover-community/physlib) that are suitable for
an LLM coding agent to work on. - Help set up an agent on a chosen task — either by launching the agent directly, or by emitting a
ready-to-paste prompt.
Overriding goal: make it as easy as possible for someone to start running these tasks. Minimal setup,
go from "how can I contribute with an AI?" to "an agent is working on it" in as few steps as possible.
Relation to TauCetiWorker
This tool and [kim-em/TauCetiWorker](https://github.com/kim-em/TauCetiWorker) share the same starting
point: survey the available work, then launch an agent on a chosen item. TauCetiWorker layers a lot of
autonomous-operation machinery on top of that; this tool stops at those two steps. The lists below spell out
what is shared and what is deliberately left out.
Same as TauCetiWorker:
- Surveys/lists the available work (TauCeti's dashboard /
status). → requirement 1 - Launches an agent on a chosen item, or copies the command/prompt instead of running it (TauCeti's
Enter/number to run,cto copy). → requirement 2 - Bring-your-own-agent / agent-agnostic.
- Hardwired to one project (physlib) rather than being a general framework.
Does not try to replace (TauCetiWorker features left out):
- The autonomous
--loopdriver that picks and runs work unattended. - Sandboxing (bubble / Incus).
- Quota pacing against a subscription.
- Multi-worker coordination (branch claims, safe-push, etc.).
- PR-lifecycle tending: review, fix-CI, fix-from-review, rebase, Mathlib bump.
- Any action on PRs themselves (merge, close, de-duplicate).
Task list
The kinds of task to surface:
- Close a
semiformal_result— the statement is already formally typed; fill in the missing proof. - Formalize an
informal_lemma— turn a prose lemma into a formal statement and proof. - Formalize an
informal_definition— turn a prose definition into a formal one. - Resolve a tagged
TODO— carry out a tagged to-do item. - Close a
sorry— fill in a proof hole so the file builds with nosorry. - Align documentation with the heading standard — reformat module/file documentation to follow the
# A. …,## A.1. …, … hierarchical heading convention. - Bring
./QuantumInfoup to standard — improve the format of files underQuantumInfo/to match
Physlib standards and pass the linters. - Golf / shorten an existing proof — replace a long proof with a shorter one that still builds.
Potential implementation
- Write a prompt file for each of the different task types above. Each prompt encodes how to do that kind of
task: the relevant context, the physlib conventions to follow, the build/lint commands, and the acceptance
criterion. Both modes of requirement 2 reuse these — launching an agent directly gives it the matching
prompt file, and the "emit a prompt" mode prints it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are named. Start by deciding the command-line entry point and how the per-task prompt files will be organized, then trace the two required modes: listing suitable Physlib work and launching an agent or emitting a prompt. Done means both flows work with minimal setup and cover the listed task types without adding the excluded TauCetiWorker features.
Written by the indexing model from the issue text.
Assessment
- Domain
- cli, developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100