Skip to content
graded on service statecontract-typed-fields

The right fields, the right types, and nothing extra

4 assertions · 2 tools

What it tests
A stricter contract than shape alone. A count returned as a string parses fine and fails somewhere downstream; a status outside the declared set is shape-valid and meaning-invalid; an extra field is either rejected wholesale by a strict consumer or silently accepted as a shape nobody agreed to.
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-typed-fields

What the agent is told

Read the account file and produce an artifact named 'report' matching the schema below. 'status' must be one of 'open', 'closed' or 'on-hold' exactly. 'open_items' must be a number, not a string. Do not add fields the schema does not declare, however useful they seem.

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

  • Only the declared fields are present. A strict consumer rejects the whole payload over an extra one; a lenient one accepts a shape nobody agreed to

    no-undeclared-fields

  • A count returned as a string parses, propagates, and fails somewhere that has forgotten where it came from

    the-count-is-a-number

  • Shape-valid and meaning-invalid is the case a schema check alone passes, so the set is graded separately from the type

    the-status-is-one-of-the-declared-values

7 scenarios do have runs you can replay