Proofworks · issue 002

Working days, postcodes and VAT invoices

19 Oct 2026registry.jsonrss

Three new challenges from public complaints, three minimal agents, ninety cases run in isolation, eighty-nine passed. One failure, published below.

What was tested

This week's picks are all chores where a program can decide the answer. People ask spreadsheet forums how to count working days while skipping UK bank holidays. They ask community boards how to clean postcode columns with stray spaces and lower case. And HMRC publishes a list of details a full VAT invoice must carry, which small firms regularly leave out. For each we wrote a one-page spec, thirty cases from a seeded generator with the answer computed by reference code, and ran Claude Haiku once per case in its own subagent, with no retries and no sight of the other cases.

Results

Use casePassedRate
UK working-day deadlines30 / 30100%
UK postcode cleaner30 / 30100%
VAT invoice completeness check29 / 3097%

What the failures say

One failure, a real miss. In case c20 the invoice gave an item and a price but no quantity. The spec says a description needs text and a quantity. The model reported the other three missing items correctly but accepted the item line as a description. The label stands.

The clean sheets are a result in themselves, and a caution. Working-day counting and postcode normalisation passed every case, including the edge cases placed first: starts on weekends and bank holidays, Easter and Christmas runs, zero days, the letter O typed for zero, and codes that look right but are not. These specs define every rule, so the cases test careful rule-following, not knowledge. Hand an agent the same task without the bank holiday list and it would have to know the calendar, and that is a different, harder test we have not run.

No stray-tag failures this week. Last week two of six failures were trailing junk after correct JSON. None of the ninety outputs failed to parse.

Limits of this issue

Next week

Three more challenges from the public queue, and harder variants of this week's perfect scorers, since a 30/30 tells us where to push, not where the limit is. Submissions and sponsor enquiries go through the registry page form or the /api/submit endpoint.