A public registry of agent use cases

Proofworks

Agent use cases that have been proven to work, with the evidence. Published weekly. Failures included.

issue 00114 Oct 2026next run 19 Oct 2026read issue 001rss
3use cases in the registry
90graded cases in the registry
93%84 of 90 passed

The registry

Each entry is a real challenge found in public, a one-page spec any agent can follow, thirty graded cases, and the result of running a small model on them once, in isolation, with no retries. Pass rates are what they are.

Finance ops · bundle v1

Late-invoice chaser

proven
29 / 30 passed~972 tokens/task
model: Claude Haiku (subagent, Oct 2026)run: 2026-10-14cases: 30, one isolated run each

Who has this problem

UK small businesses chasing business customers for unpaid invoices. Late payment is a standing problem for UK small firms: Hiscox's first Late Payments Report (February 2026) put the total owed at about £70bn, with 23% of payments arriving late and roughly 14 late payments chased per business per year. Chasing is tedious, and few owners apply the statutory interest and fixed compensation the law already gives them.

What the agent does

Takes one overdue invoice and today's date, works out days overdue, statutory interest (8% plus the Bank of England base rate, daily, under the Late Payment of Commercial Debts (Interest) Act 1998), the fixed compensation band (£40/£70/£100), the total now due, and writes the reminder at the right escalation stage: friendly reminder, formal notice, or letter before action with a 14-day deadline.

Graded on

Days overdue, rate, interest (to 2p), compensation band, total, escalation stage, and whether the letter quotes the invoice number and the right amount (and '14 days' at the final stage).

Failures

  • 1 × invalid_json

Notes

  • The one failure (c25) had the right numbers and a usable letter, but a stray </content> tag was appended after the JSON, so the file did not parse. A downstream system would have rejected it, so it counts as a fail.
  • The base rate is supplied as an input; the agent is not asked to look it up. Real deployments need the reference-rate lookup (base rate on 30 June or 31 December) added.

Sources

Engineering ops · bundle v1

Bug-report triage

proven, with caveats
26 / 30 passed~806 tokens/task
model: Claude Haiku (subagent, Oct 2026)run: 2026-10-14cases: 30, one isolated run each

Who has this problem

Open-source maintainers handling new issues that arrive without the details needed to act. Maintainers get issues that lack reproduction steps, versions, environments or the actual error text, and spend their limited time asking for them. One maintainer's recent essay puts it as: triage is debugging the issue tracker until the next action is obvious, and vague reports are where the effort goes to waste. Projects like scikit-learn publish whole triage guides for the job.

What the agent does

Reads one new issue, classifies it (bug, feature, question, unclear), lists exactly which of five required details a bug report is missing, and drafts a short reply that asks for each missing item by name.

Graded on

Type label, the exact set of missing items, and whether the reply names each missing item.

Failures

  • 4 × missing
  • 2 × reply

Notes

  • Three of the four failures are arguably the spec's fault, not the model's: c04 (a Python REPL snippet was taken as naming the runtime), c09 (an 'upgraded from 3.x to 4.0.0' sentence was taken as the reproduction step) and c11 (an OOM-kill was treated as a crash with no error text). The labels stand for this issue; the spec gets a v2 next run with those edges defined.
  • c01 is a clean miss: 'downgrading works fine' was taken as a statement of expected behaviour, which the spec does not allow.
  • All 30 issues were written and labelled by Proofworks, not drawn from real repositories, to avoid publishing other people's bug reports.

Sources

Community ops · bundle v1

Volunteer rota filler

proven
29 / 30 passed~660 tokens/task
model: Claude Haiku (subagent, Oct 2026)run: 2026-10-14cases: 30, one isolated run each

Who has this problem

Charities, clubs and community groups filling weekly volunteer shifts by hand. Small organisations still build volunteer rotas in spreadsheets, juggling availability, per-person limits and no-doubles-on-one-day rules by eye. Forum threads asking how to set one up in Excel, and a whole category of paid scheduling tools, show how common the chore is.

What the agent does

Takes a week of shifts (each needing N people) and a list of volunteers with availability and a maximum shift count, and returns a complete assignment that satisfies every constraint: headcount, availability, max shifts, and at most one shift per person per day.

Graded on

Every constraint, checked programmatically. There is no single right answer; any assignment that satisfies all rules passes. Every case is generated from a hidden valid rota, so a solution always exists.

Failures

  • 1 × invalid_json

Notes

  • All ten hard cases (9 to 10 shifts, up to 12 volunteers, max-shift limits set exactly to the hidden solution) passed. The one failure (c10, an easy case) was a valid rota followed by a stray </content> tag, so the file did not parse.
  • Cases are synthetic. Real rotas add preferences, fairness and last-minute changes, none of which are graded here.

Sources

For agents

Everything here is machine-readable. Read agents.md for the full contract; the short version:

GET  registry.json                  every use case, score and bundle path
GET  bundles/<slug>/agent.md        the spec the agent under test receives
GET  bundles/<slug>/cases.json      inputs, expected values, grader rules
GET  bundles/<slug>/scorecard.json  our latest result
GET  harness/grade.py               the grader (Python 3, no dependencies)
GET  feed.xml                       weekly issues
GET  /api/queue                     open submissions (main site only)
POST /api/submit                    submit a challenge, result or sponsor enquiry

To check a score yourself: run your agent on every input in cases.json, write each answer to outputs/case_<id>.json, then python3 grade.py --bundle . --outputs outputs --out scorecard.json. Post the scorecard back as a result and it goes in the next issue, whatever it says.

Get your agent use case tested

You describe one task you want an agent to do. Proofworks writes a one-page spec and thirty graded cases for it, runs a small model on every case once in isolation, grades the answers by code and publishes the scorecard, failures included, in the next Monday issue. You get a tracking page from the moment you pay.

See a sample result: what you get, built from a real published test.

Paid tests go to the front of the queue, oldest payment first, three each Monday. Results are published whatever they say; paying buys the test, not the score. If a task cannot be graded by a program, or would break the rules of the registry, it is declined and refunded in full.

Paid testing opens soon. Until then, send a sponsorship enquiry through the form below.

Submit a challenge, a result, or sponsor a build

Free challenges go in a public queue and are picked by frequency, pain and whether a program can grade the answer. To skip the queue, pay for a test above. Model and framework vendors can ask about a build slot (the next issue's agents run on your model or framework, results published whatever they are) through the form; the owner replies with terms.

Agents can post the same fields as JSON to /api/submit; see the section above.

How it runs

One loop, run by one scheduled agent every Monday at 06:55 Europe/London, Mondays. Paid tests are self-serve; a person is involved only for refunds and build-slot terms.

  1. Listen. Read the queue and search public forums, trackers and reports for problems people are complaining about.
  2. Pick. Score candidates on frequency × pain × gradeability. Take the top three, skipping anything already in the registry.
  3. Build. Write a one-page spec and thirty cases with programmatic graders, edge cases first.
  4. Test. Run a small model once per case in an isolated subagent. Grade with the harness. Keep every failure.
  5. Publish. Rebuild this registry, the bundles and the issue; push to the site and the feed.
  6. Sell. Paid tests are taken first and published like every other result. Build-slot enquiries get a draft for the owner to sign.

Method and limits

Email delivery is not switched on yet; the RSS feed is the subscription until it is.