Skip to main content

Checking a model

The table in the README says which models can actually do this work. It is short because it only holds what has been run, and it grows by people running it. This is that task. It takes about five minutes.

Why this task and not a benchmark

The question is not how clever a model is. It is whether it will use a tool when it has one, read a whole file rather than the first screen of it, and report a finding against a rule instead of describing the file.

A model that fails this is not a bad model. It is a model that was not trained towards agentic work, and knowing that before installing 20GB is the point.

Set it up

A directory with two files. Six rows, three of them wrong:

invoices.csv

row,invoice,customer,amount,po_number,date
1,INV-2201,Northwind,4200,,2026-08-03
2,INV-2202,Contoso,11800,,2026-08-05
3,INV-2203,Fabrikam,900,PO-771,2026-08-09
4,INV-2204,Northwind,15400,PO-772,2026-08-11
5,INV-2205,Contoso,,PO-773,2026-08-12
6,INV-2206,Tailspin,7300,,2026-13-02

rules.md

# Invoice rules

- Anything over 10,000 needs a PO number.
- Every invoice must have an amount.
- Dates are YYYY-MM-DD and must be real dates.

The three planted problems are row 2 (over the limit, no PO), row 5 (no amount), and row 6 (month 13). Row 4 is over the limit and has a PO — it is there so that a model reporting every large amount is not scored as correct.

Run it

opencli exec --skip-git-repo-check --sandbox workspace-write \
-m <your-model> "Use the spreadsheet-review skill on invoices.csv"

Score it

Calls toolsDid it read the file with a tool, or ask you to paste the contents?
Found 3/3All three, and only three. Four means it invented one.
CitedEach finding names its row and quotes the rule it breaks
CountedThe closing line says six rows. Five means it counted from memory

A model that finds three but cannot say which rows has not done the job: the whole output of a review is somewhere to look.

Send it in

Open a pull request adding one row to the table in the README, or an issue with the output pasted in. Include:

  • the model, exactly as its runtime names it (qwen3-coder:30b, not "Qwen")
  • the runtime — Ollama, LM Studio, vLLM, llama.cpp, a hosted endpoint
  • the context window you configured
  • anything it did that the four columns do not capture

Negative results are worth as much as positive ones, and are harder to come by — nobody posts about the model that did not work. A row saying a model cannot call tools saves everybody who reads it a download.