leanprover-community / leanprover-community/physlib

AI task runner

Open
#1,211 1 comment 0 reactions 0 assignees View on GitHub

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:

  1. List open tasks in [Physlib](https://github.com/leanprover-community/physlib) that are suitable for
    an LLM coding agent to work on.
  2. 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, c to 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 --loop driver 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:

  1. Close a semiformal_result — the statement is already formally typed; fill in the missing proof.
  2. Formalize an informal_lemma — turn a prose lemma into a formal statement and proof.
  3. Formalize an informal_definition — turn a prose definition into a formal one.
  4. Resolve a tagged TODO — carry out a tagged to-do item.
  5. Close a sorry — fill in a proof hole so the file builds with no sorry.
  6. Align documentation with the heading standard — reformat module/file documentation to follow the
    # A. …, ## A.1. …, … hierarchical heading convention.
  7. Bring ./QuantumInfo up to standard — improve the format of files under QuantumInfo/ to match
    Physlib standards and pass the linters.
  8. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.