Asapi
For AI labs / Catalogue / Temperature compliance register from messy logger data
Environment datasheet · Small business

Temperature compliance register from messy logger data

ID house‑rules/task2‑1 · revision 21 · tested 21–22 September, 9 and 15 October 2026

Covering for a food‑safety coordinator who is off sick, the agent compiles a six‑shop bakery chain's monthly temperature register: every breach and every data fix for each fridge, freezer, display and hot cabinet, as three CSV files in the past registers' format.

Checks
103, 1 point each, all decided by script
Versions
Request only, with a hint, told the rules
Attempts
35 across 3 versions
Best, request only
76% (Sonnet 5.5)
Best, told the rules
95% (Opus 5.5)
Full solves
0 of 35
Attempts with any reward
21 of 35
Median, request only
46 min, 122 tool calls
The job

A month of six shops' cold units, from loggers and paper

Role
Stand‑in for a bakery chain's food‑safety coordinator, who is off sick, working from the coordinator's files.
Request
The food‑safety officer needs last month's temperature register, built from the coordinator's working files and saved to the output folder. Nobody is available to answer questions.
Deliverable
Three CSV files, the breaches, the corrections and a summary line per unit, with the names, columns, delimiter and date format of the two past registers.
What the reward depends on
Real temperatures on the real clock; faulty, test and duplicated data kept out; messy paper read as meant; only real breaches, by the house's grace and merge rules; doubt for the right entries and trust for the rest; a register that adds up.
Where the requirements are
No file states a rule. They show in how the past registers were compiled, in certificates, job sheets and the current standard, and in decisions across the emails, chats and minutes.
The world

134 files, no tools and nobody to ask

Interface
A terminal in a Docker container, driven by each model's own agent harness (Claude Code, Codex CLI, Prime Agent or Qwen Code in our attempts). Web search and fetch are off; the internet is on for installing packages.
Tools
None for documents, spreadsheets or scans, and no Python packages: the agent installs what it needs, or reads images with its harness's viewer.
Files
134 in 21 folders, 36 MB: 50 PDFs, 21 Word files, 18 CSVs, 17 spreadsheets, 16 emails, 6 photos, 4 chat exports and 2 slide decks. 43 of them are the waste report environment's files.
Evidence in images
Seven scanned handwritten sheets, a PDF of chat photos and six phone photos have no text layer, and some readings exist only there.
Data problems
Loggers in raw counts, tenths of a degree or Fahrenheit, on UTC, one clock fast and one reset; a loose probe, a stuck logger, a spike, a duplicated upload and a calibration run; sheets with stains, rewrites, shifted times and decimal commas.
Decoys
Closures, deep cleans, deliveries, defrosts and genuine agency cover look like problems and aren't; some paper entries were never real checks.
People and time
Nobody answers, and there's no clock: one session, with the date set in the prompt.
Limits
180 minutes and a $25 spend cap per attempt, or $10 and 150 model turns for four models. 6 of the 35 attempts hit a cap, the turn limit or the time limit before saving a gradable register.
The reward

103 script checks, one point each

Structure
103 checks, one point each, in five families: format and scope (11), reading the data (22), data problems and decoys (28), breach rules (28), and the breaches and register as a whole (14).
Who decides
Scripts alone, with no LLM judge: every cell a check reads is a number, a timestamp or a fixed code. Tolerances were fixed before any attempt: times within 15 minutes, temperatures within 0.1 °C, counts within one reading.
No invented breaches
Six checks, one per shop, fail when a shop's breach rows exceed the real count by more than one; decoy checks reward leaving genuine entries alone.
Guards
An empty register passes none of the 103, and several checks open only once half the real breaches are found.
One decision, many checks
A wrong time zone or period is one decision that moves many cells, and by design it loses all the checks it touches. No check is make‑or‑break.
Lenient reading
Files are found anywhere in the output folder, columns are matched ignoring case and spacing, and any delimiter parses, so a format slip costs only its own check.
Self‑test
The answer key's own register passes all 103 checks; an empty output folder passes none.
Formula
Reward = checks passed / 103. The grader can also report a stricter score over 23 groups, each passing only if all its checks pass; the reward uses checks.
Results

Five of 12 left nothing gradable; no attempt passed all 103 checks

With only the request, the two best attempts scored 75% and 76%, and 5 of 12 earned nothing. Told the rules, the best reached 95%, but the median fell from 42% to 32%, as 6 of 12 ended with nothing usable. No attempt in any version passed all 103 checks.

VersionMedianFully solved
Request only12 models, one attempt each42%0 of 12
With a hint11 models, one attempt each53%0 of 11
Told the rules12 models, one attempt each32%0 of 12

Each dot is one model's attempt; the line marks the median.

ModelRequest onlyWith a hintTold the rules
Opus 5.5Anthropic75%75%95%
Sonnet 5.5Anthropic76%83%92%
GPT‑6 AstraOpenAI50%55%89%
Fable 5.1Anthropic65%87%0%
DeepSeek V4.1 FlashDeepSeek41%53%82%
Opus 5Anthropic0%80%0%
Sonnet 5Anthropic48%42%67%
GPT‑5.6 LunaOpenAI0%0%64%
GPT‑6.1 SolOpenAI43%39%0%
GLM‑5.3‑FlashZhipu0%0%0%
GPT‑6 LunaOpenAI0%0%0%
Qwen3.8‑27BAlibaba0%–0%

One attempt per model and version; Qwen3.8‑27B has none with a hint. GPT‑6 Astra's attempts with only the request and with a hint ran on an earlier build, with the same request; the record doesn't say what changed.

With a hint: the request plus a general paragraph on reading a company's unwritten expectations from patterns across its files, with examples from another company.

Told the rules: here, the request plus about 2,200 words of the register's rules and an order of work, ending with a list of the month's data problems by unit and date: facts from the files.

Failures

What the models got wrong

Counted over the 12 models, one attempt each, with only the request, unless a line says otherwise.

  1. Nothing gradable. 5 of 12 left nothing the grader could read: two saved one workbook instead of three CSV files, one saved only pictures of the scans, and two stopped at a spending or time limit before saving a register.

  2. Invented breaches. All 7 readable registers listed breaches that never happened, at one or more shops; one listed more than twelve times the real number. 6 of the 7 logged a planned deep clean as a breach.

  3. Planted entries believed. None of the 7 readable registers caught entries copied by someone not on shift, a compliant figure written over an alarm, or tidy figures for a seized unit. 4 of 7, the top three among them, distrusted genuine entries in an unfamiliar hand.

  4. Faulty readings taken as real. Only 3 of the 7 readable registers handled both a stuck sensor and a one‑reading spike correctly.

  5. One decision, a dozen checks. The two best attempts ran the summary over five weeks, not the month, because the officer asked for an extra week of breaches; each lost about a dozen checks.

Cost

What an attempt costs

Length
With only the request, the median attempt took 46 minutes and about 122 tool calls (37 to 441 across the 12), and about 12.6 million tokens, cached input included.
Cost
The median attempt cost $5.41 at list prices, from $0.71 to $28.61 across the 12; all 35 attempts cost $340. That's the agent model only. GPT‑6 Luna's cost uses a default price, as it has no published one.
Licence

What you license

With a licence
Revision 21 in all three versions: the 134 files, the grader and its check definitions, the answer key's register, and the grader's report on each of the 35 attempts, as baseline results.
Format
Packaged as a Harbor task on request. Today the agent runs in a Docker container, and the harness and grader are standard‑library Python.
Fresh variants
Other data, people and facts in the same design, on request. They're never published.
Public or not
The AI Agent Trials, our public benchmark, sums up the job and shows each model's score. The files, grader and answer key aren't published.
Known limitations

What we haven't measured, and what's uneven

Try a sample environment

Three are downloadable as Harbor tasks, with graders and reference solutions. Request one with your work email, or book a call about the other 53.