Skip to content
graded on service statecontract-empty-result

The shape has to survive having nothing to put in it

4 assertions · 2 tools

What it tests
A search whose honest result is no matches. Agents hold a schema easily while there is something to fill it with; the moment the answer is empty they tend to abandon it and write an apology instead. A consumer parsing the contract cannot read an apology.
Fails when
See the scenario's assertions.

Nothing has been recorded against this one yet.

No recorded run ships for it yet — clone Beacon to run it yourself. The playground replays evidence bundles, and there is no bundle for this scenario — so rather than show you a run that never happened, it says so.

Run it yourself

python3 -m beacon run contract-empty-result

What the agent is told

Search every document under reports/ for the term 'Halloway' and produce an artifact named 'result' matching the schema below. If there are no matches, that is a valid answer and the artifact must still have this exact shape: 'matches' becomes an empty list and 'found' becomes false. Do not replace the object with prose.

The tools it may use

  • files_list
  • files_read

against a synthetic files

What it checks

  • It finished and answered, rather than erroring or asking for input.

    task-completed

  • The artifact keeps the contracted shape even though there was nothing to put in it

    shape-survives-an-empty-answer

  • Having found nothing is reported through the field built for it, rather than by abandoning the object and saying so in prose

    the-refusal-stays-inside-the-contract

  • Every document under reports/ was actually read. The old form of this assertion counted the matches list and asked for at least zero of them, which every possible answer satisfies — so it stated that the search happened without ever checking. Reading the event log instead is the difference between what the subject did and what the subject said about itself: an empty result is only evidence of absence if somebody looked

    the-search-actually-happened

7 scenarios do have runs you can replay