project-status

A read-only chat report of the current state of a mathematical project written in Lean, a programming language for formally checking proofs.

In plain words
What is it for?
Use it to understand what a worker is proving, where the proof stands, and how complete the project is.
Why use it?
It explains the current result, blockers, connection to the overall goal, and progress without requiring the reader to inspect the project files.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/cbirkbeck/mathlib-quality/project-status
Clone the repo
git clone --depth 1 https://github.com/CBirkbeck/mathlib-quality
Per session 80 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 6,210 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00080 $0.06210
Opus 5 $0.00040 $0.03105
Sonnet 5 $0.00016 $0.01242
Haiku 4.5 $0.00008 $0.00621

Measured 2d ago against content hash ea18f0c422a2, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

project-status scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

commands/project-status.md · 540 lines

How it starts

The opening of the file, as written. The whole thing — 540 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/project-status — What is the worker doing, and how does it fit?

A chat-only status report. The agent reads the project's .lean code (and .mathlib-quality/plan.md and .mathlib-quality/tickets.md if they exist), un-formalises into mathematical English, and answers four questions:

  1. What mathematical result is the worker currently on?
  2. What (if anything) is blocked, and what is missing?
  3. How does the current work connect to the project's overall goal?
  4. How far along is the whole project?

The audience is an expert mathematician glancing between work sessions. The report is mathematical reportage — not Lean tactics, not difficulty rhetoric.

This command is read-only on every file. It does not start servers, open browsers, or write sidecar JSONs.

Self-contained for a cold reader (binding principle)

The reader has not followed the formalisation closely and cannot open any file. Everything they need to understand the state of play must be in the report itself. Concretely:

  • Define what is non-standard. The first time a project-specific notion appears (eisensteinSeries, cauchyPrincipalValue, fooBar, etc.), state its mathematical content in one phrase: "the Eisenstein series E_k(τ) = ∑_{(c,d) ≠ 0} (cτ + d)^(−k)", not "eisensteinSeries (the project's main object)".

  • Translate structural moves. When the proof body uses Lean's structural tactics (obtain, refine, constructor, have, use), do not say "the worker obtains a witness" or "splits into cases". Say what the witness is, what the cases are, what the parametric intermediate claim asserts. The reader doesn't know Lean tactics; they know mathematics.

  • Spell out parametric / universally-quantified intermediate results. When the proof builds a fact of shape "for every ε > 0 there is N such that …", state the universal claim explicitly. Don't hide it behind a name like h_cauchy.

  • Name the witnesses. When the proof chooses a specific bound, constant, or function, say what it is. "The worker chose M = π²/6 as the upper bound, motivated by ∑ n⁻² = π²/6." Not "fixes a constant".

Read the full file on GitHub · 540 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 540 lines · 80 tokens per session scan A ea18f0c422a2

Subscribe to this mod's changes

project-status is a command published in the GitHub repository CBirkbeck/mathlib-quality (32 stars, last pushed 13d ago), licensed MIT. It adds 80 tokens to every session and 6,210 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.