Task pipeline, specification

A task is not data until it has been graded

We build containerised tasks for frontier labs and put every one through six gates before it counts as a datapoint. The reference solution has to work. An agent that does nothing has to fail. The pass rate has to land in a band. And a person has to have read the transcript.

An approval stamp inked onto a printed specification sheet
gate 2 · oraclereward 1.00 · 5 of 5
6 gates · 6 intake stages

Stages 1 to 5 execute nothing. intake-no-exec.test.ts proves it.

17
task categories

Each with its own artifact contract, base image and size ceiling rather than one global guess.

6
gates before a score counts

Build, oracle, do-nothing, new-seed, difficulty, then a person. Five are automatic.

6
intake stages before a byte runs

Checksum, unpack, structure, normalise and lint all complete before stage 6, which is the first that executes anything uploaded.

Coverage

Seventeen capabilities, measured in containers

Each category carries its own artifact contract, base image and resource ceiling, so a scientific-computing task is not graded by the rules that suit a payroll one.

  1. 01

    Software engineering

    Evaluates whether an agent can change a real codebase and keep its tests passing.

  2. 02

    Debugging

    Measures whether an agent can localise a fault from a failing run and repair it.

  3. 03

    Security

    Evaluates whether an agent finds and fixes a vulnerability without weakening the rest.

  4. 04

    Cybersecurity

    Measures a defensive source audit end to end: the service is patched to match its own documentation and every finding is reported, without the service being replaced or disabled.

  5. 05

    System administration

    Measures command-line competence against a machine that must end in a given state.

  6. 06

    Data and infrastructure operations

    Evaluates whether an agent can operate running infrastructure rather than describe it.

  7. 07

    Build and dependency management

    Measures whether an agent can make a broken build resolve and compile again.

  8. 08

    Data processing

    Evaluates transformation of real files into an exactly specified output.

  9. 09

    Scientific computing

    Measures numerical work where the answer is checked to a tolerance, not by eye.

  10. 10

    Machine learning

    Evaluates whether an agent can train, evaluate and ship a model that clears a bar.

  11. 11

    Data science and reporting

    Measures whether an analyst deliverable still holds on data it has never seen: the program is re-fitted on a hidden world and scored to a tolerance, with the governing document buried among superseded ones.

  12. 12

    Payroll and compliance

    Measures arithmetic and rule-following where one wrong cell fails the task.

  13. 13

    Finance and taxation

    Measures whether an agent can apply statutory arithmetic that is dated, jurisdictional and held somewhere other than the repository.

  14. 14

    Audio and media data engineering

    Evaluates handling of binary media formats against a verifiable artifact.

  15. 15

    Games

    Measures planning over long horizons where a score, not a diff, is the outcome.

  16. 16

    Hardware

    Evaluates work against physical or device-level constraints the software categories do not name.

  17. 17

    Local cloud emulation

    Evaluates an agent driving a local cloud-shaped control plane, not a description of one.

Marketplace

The tasks, and the model each one already beat

Each of these was run under gate 5 before it was listed, and carries the pass rate that round measured. Every one opens onto the per-model breakdown behind its figure.

The instruction, the tests and the reference solution stay with us. What a licence buys is the graded set and the trial record behind these figures.

  1. 01

    Merge a coding agent's queued messages into one turn

    33% over 6 trials

    A desktop app runs coding agents behind a per-agent message queue. Messages that waited together are still read apart, so one thought costs four turns and pays for the whole session four times. Merge what waited together, in the order it was written, without the queue losing its liveness when a turn does not start.

    Hardest for GPT-6 Astra on Terminus 2, which passed 0 of 3.

    • Software engineering
    • hard tier
    • python
    • 2 models
    • queue-turn-start
  2. 02

    Plan which MCP tools a turn can offer

    50% over 6 trials

    A turn can hand a model only so many tools. Built-in servers take part of a fixed budget and the configured servers share what is left. Decide which servers fit, given that a server which does not fit should not cost the turn the ones that would have.

    Hardest for GPT-5.3 Codex on Codex CLI, which passed 0 of 3.

    • Software engineering
    • medium tier
    • python
    • 2 models
    • mcp-tool-budget
  3. 03

    Rebuild a settlement ledger against withholding mints

    58% over 12 trials

    A venue settles trades against quote pools, and the ledger has to be rebuilt from state so it can be reconciled against the chain. Some quote assets are tokens whose mints withhold part of every transfer and do not publish their terms, so the terms have to be inferred from the transfers that were made and what was kept out of them.

    Hardest for GPT-5.3 Codex on Codex CLI, which passed 0 of 4.

    • Software engineering
    • medium tier
    • python
    • 3 models
    • curve-quote-settle
  4. 04

    Report every file a reference library holds

    50% over 6 trials

    Two bibliography reports went out wrong and both went out silently: a file a reference manager had exported in the wrong encoding was dropped, and nothing in the report said a record was missing. Report what the library holds, including the files that cannot be read.

    Hardest for GPT-6 Astra on Terminus 2, which passed 0 of 3.

    • Software engineering
    • medium tier
    • python
    • 2 models
    • bib-library-guard
  5. 05

    Reconcile an inbox against responses that arrive out of order

    50% over 6 trials

    A desktop inbox shows a change the moment somebody makes it, while the request is still in flight, and responses come back in whatever order the network gives them. The list has twice jumped backwards: an older response restored a finished row, and a change that failed stayed on screen as though it had worked.

    Hardest for Claude Fable 5.1 on Terminus 2, which passed 0 of 3.

    • Software engineering
    • medium tier
    • python
    • 2 models
    • inbox-revision-fence
  6. 06

    Recover a session's context figure from its transcript

    50% over 6 trials

    A compaction reminder is silent in long sessions and premature in short ones, and both faults are in the probe that reads a session's context size. The transcript is appended to while the session runs, it is read from the end rather than whole, and the usage block it carries reports the same cache tokens in two shapes.

    Hardest for GPT-6 Astra on Terminus 2, which passed 0 of 3.

    • Software engineering
    • medium tier
    • python
    • 2 models
    • transcript-context-probe
  7. 07

    Decide what a command string would actually run

    0% over 4 trials

    A command-approval hook sits in front of a shell and has to answer, before anything runs, which external programs a command string would start and whether any of them is destructive. The hook it replaces reads the string as text and keeps being got around by wrappers put in front of the real command.

    Hardest for GPT-6 Astra on Terminus 2, which passed 0 of 4.

    • Software engineering
    • hard tier
    • python, bash
    • 1 model
    • bash-exec-resolve
  8. 08

    Reconcile a month's input tax credit

    33% over 9 trials

    A finance team closes a credit run by comparing what suppliers filed against what the company itself recorded, giving each invoice a status and an amount. The rules are the company's own and they are written down across several files, not all of which are current.

    Hardest for Claude Fable 5.1 on Terminus 2, which passed 0 of 3.

    • Data processing
    • medium tier
    • python, bash
    • 3 models
    • gst-itc-reconcile
  9. 09

    Decide which test results are evidence about production

    38% over 8 trials

    A nightly suite runs against a test backend that is not the production one, and the two disagree in ways somebody has documented. Decide which of the suite's results say something about production and which say something only about the test backend.

    Hardest for Gemini 4 Argon on Terminus 2, which passed 1 of 3.

    • Data processing
    • hard tier
    • python
    • 3 models
    • backend-disagreement
  10. 10

    Decide which imported fields were altered on the way in

    56% over 9 trials

    An export of stored records was imported back into the system and the import path changed some of them in transit. Work out which fields were altered and which were always like that, against a handbook written over several years and dated accordingly.

    Hardest for Claude Fable 5.1 on Terminus 2, which passed 0 of 3.

    • Data processing
    • hard tier
    • python
    • 3 models
    • import-exactness
  11. 11

    Report who holds a resource's data after a chain of hand-offs

    44% over 9 trials

    A fleet of resources is installed, handed between teams and sometimes reinstalled, and each holds data one team is custodian of at a time. What a hand-off does and what a reinstall does to that custody were written down at different times.

    Hardest for Claude Fable 5.1 on Terminus 2, which passed 0 of 3.

    • Data processing
    • hard tier
    • python
    • 3 models
    • normalise-then-collide
  12. 12

    Take a leaver out of the team tables

    22% over 9 trials

    An account leaving the company has to come out of the team tables. The rules were written over four years, they are dated, and the handbook says which of its own sections carry force and which are one person's notes.

    Hardest for Claude Fable 5.1 on Terminus 2, which passed 0 of 3.

    • Data processing
    • hard tier
    • python
    • 3 models
    • identity-not-position
  13. 13

    Compose SSH command batches from a maintenance plan

    11% over 9 trials

    A fleet tool turns a maintenance plan into the command batches it sends to one server over SSH. Compose them against a written spec, from a plan and a runbook that are supplied separately, so that sending a batch twice is not the same as doing the work twice.

    Hardest for GPT-6 Astra on Terminus 2, which passed 0 of 3.

    • Data processing
    • hard tier
    • python
    • 3 models
    • remote-batch-compose
  14. 14

    Close a replay gap in a TOTP verify path

    33% over 6 trials

    A login flow verifies TOTP codes statelessly, so the same six digits submitted twice inside one step both pass. Make a code work once across every account, while the store of accepted codes stays bounded on a box that authenticates far more accounts than it ever sees twice.

    Hardest for Claude Fable 5.1 on Terminus 2, which passed 0 of 3.

    • Security
    • hard tier
    • python
    • 2 models
    • pyotp-replay-guard-skew-window
  15. 15

    Find the money in a payout run that reported clean

    38% over 8 trials

    Nine merchants' payouts left their available balances on Sunday night and nothing arrived. The run reported 240 payouts and no errors, the morning reconciliation came back clean, and the bank's statement says it sent everything it was given, which is true. Work out what happened from the incident folder.

    Hardest for GPT-6 Astra on Terminus 2, which passed 0 of 4.

    • Local cloud emulation
    • hard tier
    • python
    • 2 models
    • payout-dispatch
  16. 16

    Withhold tax against a schedule only a service holds

    25% over 4 trials

    Compute the tax to be deducted at source on a company's vendor payments. The rate schedule is not in the repository at all: an MCP server is the only authority for rates, thresholds and the amendments that moved them, so every figure has to be fetched rather than assumed.

    Hardest for GPT-5.3 Codex on Codex CLI, which passed 1 of 4.

    • Finance and taxation
    • medium tier
    • python
    • 1 model
    • tds-rate-service
Built to order

These categories are defined, with their own artifact contract, base image and resource ceiling, so a set in one of them starts from authoring rather than from plumbing. Tell us the capability you need measured.

  • Cybersecurity
  • Build and dependency management
  • Data science and reporting
  • Debugging
  • Games
  • Hardware
  • Data and infrastructure operations
  • Machine learning
  • Audio and media data engineering
  • Payroll and compliance
  • Scientific computing
  • System administration

Separately from the categories, 11 benchmark families are listed in the catalogue, each with the capability it measures.

Scoring

A score only counts if the task was hard enough

Difficulty is measured on the model matrix before a task is admitted — not estimated by whoever wrote it. Land outside the band and the task is rejected, however interesting it looks.

Measured pass rate across the model matrixA band, not a maximum
Too hard
Admitted
Rejected as too easy
0%10%60%80%100%

Between 10% and 60% a task is admitted. Above 80% it is rejected: a benchmark a model passes on the first try measured nothing. Below 10% it is usually the harness that is broken, not the model.

One measurement

Every number on this platform came out of a container

Not from a rubric a model filled in, and not from a sample somebody eyeballed. Four steps, and all four leave something you can open afterwards.

  1. 01

    An isolated container

    Built rootless on a dedicated pool and pinned by digest. Network egress is denied by default, so a trial cannot reach anything it was not granted.

  2. 02

    The agent attempts it

    It gets the instruction and a working directory. The test suite is not in its image — a submission that copies tests into the agent is refused before it ever runs.

  3. 03

    A verifier scores it

    A separate image runs the checks and writes a reward to /logs/verifier/reward.txt. The number comes out of the container; no model judges another model.

  4. 04

    The trial is kept

    Reward, tokens, cost, wall time and the whole trajectory are stored as a row. A score you cannot open is a score you cannot check.

In the matrix

Every trial runs an agent against a named model from the registry, and which models those are is read from the registry rather than written into this page — a model is eligible only while it is marked ready, and retired ones are kept so the results they already produced stay readable. The models a difficulty probe runs against today.

The standard

A benchmark a model passes on the first try measured nothing. The useful task is the one that fails honestly — and proving that takes more work than writing it.

Which is why nothing here is published on an author's word. The pass rate is measured, the reward is written by a verifier inside the container, and a person who did not write the task has to read it fail before it counts.

Intake

Nothing runs until the sixth stage

An uploaded bundle is a stranger’s code. The first five stages read it, measure it and refuse it without executing a single byte — and that is a property we test, not a promise we make.

intake-no-exec.test.ts

Walks the import graph of stages 1–5 and fails if anything on it can reach child_process, vm, eval or a dynamic import.

Two reviewers reading a failing trajectory together at one screen
Gate 6 — human review2 trajectories, minimum
  1. 01

    Receive

    Oversized bundles, and git URLs pointing at private or metadata addresses.

  2. 02

    Unpack

    Path traversal, symlink escape, setuid entries, zip bombs, duplicate members.

  3. 03

    Structure

    A bundle missing instruction.md, task.toml, tests/test.sh or a Dockerfile.

  4. 04

    Normalise

    A verifier the agent could reach, and resources above the tier.

  5. 05

    Scan

    Docker sockets, credential reads, remote code loads, tests leaked into the agent image.

  6. 06

    Build

    first execution

    Anything that will not build rootless, behind an allowlist, pinned by digest.

A row of server racks receding down a data hall, status lights along the rack faces
Where it runs

Every trial is a container on an isolated pool, built rootless, pinned by digest, with the network denied by default.

A dark panel showing a dense grid of evaluation cells, a scattered few lit in blue
For labsModel matrix — every runnable agent and model, a fixed number of attempts
For labs

Measure your model where it actually breaks

You get the score and everything behind it: the bundle, the image digests, every trial that ran, and the verdict at each gate. Not a CSV of prompts and a number you have to take on trust.

Scored in containers
Reward is written by a verifier inside the sandbox. There is no model judging another model anywhere in the scoring path.
Reproducible across versions
Agent and verifier images are built rootless and pinned by sha256, so re-running a score next quarter runs the same bytes.
Hard by measurement
Every task carries the pass rate that admitted it, measured across 120 trials on the model matrix rather than asserted by its author.
Seventeen capabilities
Each category has its own artifact contract, base image and resource ceiling, so a result is attributable to a capability.
Benchmark your model
A long fanfold printout of dense pass and fail marks on a pale bench, with a steel ruler
For authorsTrial log — one task, every attempt
For authors

Write the tasks the frontier still fails

A task only earns its place if models fail it honestly. The pipeline measures that for you and says exactly why a submission did not qualify, with the file and the line.

Difficulty is measured for you
Gate 5 runs your task across the matrix and reports the pass rate. You do not have to guess whether it is hard enough.
Findings, not a rejection
Each refusal carries a remediation, so a failed check names the fix rather than only the failure.
A real reviewer
Gate 6 requires two failing trajectories to be opened by someone who is not you, recorded as access events.
Paid on accept
Acceptance enqueues the payout in the same transaction as the verdict, so the two cannot disagree.
Apply to write