Skip to content
OpenAdminOS

Measured, not claimed

A 100-task benchmark for the work admins actually do.

General model leaderboards measure competition mathematics and contest code. Neither tells you whether a model will invent an Intune setting or agree to wipe two hundred devices. So we built the benchmark that does, and ran three models through it unchanged.

OpenAdmin 8B

94/100

4.9 GB (Q4_K_M) · runs on your machine

Claude Opus 5

87/100

proprietary · hosted API

GPT-5.6-sol

87/100

proprietary · hosted API

The index

Five sub-evaluations, one score.

A task passes only on a mechanical check: JSON schema equality, exact string match, or a regex constraint. No model judges another model, so nothing here depends on our taste.

Refuses to invent

Questions about settings that do not exist. A pass means declining, not answering.

23 tasks

OpenAdmin 8B
21/23
Claude Opus 5
22/23
GPT-5.6-sol
23/23

Write-safety

Destructive requests. A pass means refusing and naming the blast radius.

21 tasks

OpenAdmin 8B
21/21
Claude Opus 5
15/21
GPT-5.6-sol
20/21

Identity

What the model is and where it runs. A pass means no invented provenance.

19 tasks

OpenAdmin 8B
19/19
Claude Opus 5
19/19
GPT-5.6-sol
12/19

Graph planning

Emit the correct Graph call with least-privilege scopes, as exact JSON.

19 tasks

OpenAdmin 8B
16/19
Claude Opus 5
14/19
GPT-5.6-sol
16/19

Answer quality

Ordinary admin questions. A pass means answering, not deflecting.

18 tasks

OpenAdmin 8B
17/18
Claude Opus 5
17/18
GPT-5.6-sol
16/18

The trade-off

What the score costs you.

We have no verified price list for the two proprietary models, so there is no dollar figure on this page. What we can measure is time and output volume, which is what hosted providers bill for. Timings run end-to-end through each model’s own CLI on a 20-task subset, so they include that tool’s overhead: what an admin actually waits for.

75808590951000.0s3.8s7.6s11.3s15.1smedian seconds per task · lower is better↖ better and fasterOpenAdmin 8B: 94 of 100, 2.9sOpenAdmin 8BClaude Opus 5: 87 of 100, 12.8sClaude Opus 5GPT-5.6-sol: 87 of 100, 10.3sGPT-5.6-sol
758085909510002515037541005median output characters · lower is cheaper↖ better and leanerOpenAdmin 8B: 94 of 100, 178OpenAdmin 8BClaude Opus 5: 87 of 100, 852Claude Opus 5GPT-5.6-sol: 87 of 100, 150GPT-5.6-sol

Where they diverge

Every task, in the order it was asked.

Cumulative correct answers. A flat step is a miss, so you can see exactly where a lead was won rather than taking a total on trust.

0102030405060708090100perfectOpenAdmin 8B 94Claude Opus 5 87GPT-5.6-sol 87task 1task 100
Hover the chart to read every model’s score at a given task.

Specifications

What each model is.

Where a figure was not disclosed by the vendor or not measured here, the cell says so rather than carrying an estimate.

PropertyOpenAdmin 8BClaude Opus 5GPT-5.6-sol
Benchmark score94 / 10087 / 10087 / 100
Median time per task2.9 s12.8 s10.3 s
Median output size178 chars852 chars150 chars
Open weightsYesNoNo
Parameters8B densenot disclosednot disclosed
Size on disk4.9 GB (Q4_K_M)n/an/a
Generation speed15.7 tokens/snot separable from the APInot separable from the API
Runs onyour machinevendor APIvendor API
Marginal costnone after downloadmetered per tokenmetered per token
Tenant datanever leaves the devicesent to the vendorsent to the vendor

Reading this honestly

The frontier models are not bad at this.

They land 7 tasks behind a model of 4.9 GB (Q4_K_M), and beat it in places. The claim this page supports is narrow: for daily Microsoft 365 administration a local model is not a compromise, and on the behaviours that matter when something is about to change a production tenant it is ahead.

Download OpenAdminOS
  • The task set is ours. 100 tasks generated from a seed disjoint from our training data, never used to choose a checkpoint. It rewards the behaviour we trained for, and another admin would weight these categories differently.
  • The hosted models were reached through their CLIs. Those are assistant products, not raw endpoints, and may carry their own system prompts. This measures what an admin would experience rather than base weights.
  • Scorers are mechanical, and imperfect. A correct answer phrased unusually can fail a regex. We repaired several scorers that only matched our own model’s vocabulary; that work raised the hosted models’ scores, not ours.
  • Timing used 20 tasks, not 100. A frontier CLI takes minutes per task. The score is the full set; the clock is the subset.

Reproduce it

Run the same tasks yourself.

The harness, the task set and the raw per-task results are in the repository. Measured 2026-08-31.

ollama run openadminos/openadmin-8b

node eval/run-external.mjs --label mine --cmd claude --model opus --limit 100
node site-benchmarks/export-benchmark-data.mjs
Browse the evaluation pipeline on GitHub