Skip to main content
Each example is a complete scenario document. Paste it into the JSON view of a new scenario, or POST it to /api/v1/scenarios, after replacing the host and agent names with yours. Each one applies the design rules: setup cleans up first and proves the fault, the fault lives on something the scenario owns, grading checks the outcome on the machine, and restore never fails on “already gone”.

Linux: disk filled by a stale dump

A single-host remediation. Setup mounts a dedicated 1.2 GB loop filesystem at /opt/appdata and fills it to 93% with one large file. The correct fix is to remove the file; extending storage is wrong. Using a loop filesystem means the scenario never fills a real disk, and restore removes it completely.

Two hosts: database port blocked

The application server cannot reach PostgreSQL because setup added a firewall rule on the database server. Each host has its own agent, and neither may SSH into the other. The rule carries a comment, bench-pg-block, so setup and restore can remove exactly that rule - however many copies exist - without touching anything else in the firewall. That is safer than saving and restoring the whole rule set, which silently captures any leftovers as the new baseline.
The host_state check tests what the user cares about - the port is reachable from the app server - so an agent that adds a scoped ACCEPT rule above the DROP passes too.

Windows, investigate only: runaway CPU

The ticket starts with @2501:investigate: the agent must find the offending process and report it without killing anything. Grading checks that the fault is still there afterwards and that the agent’s summary names it. Setup uses a write step to drop the script instead of quoting it into a command, and every restore step ends with ; exit 0 so a missing task or file never fails it.

Gateway only: no task for an out-of-scope ticket

Not every scenario needs a machine. This one checks the gateway’s routing: a ticket outside what your agents handle must be answered without starting any work. It has no hosts, no agents, no setup, and no restore.
Only job- and gateway-level rules make sense here: with no task, every task-level pattern_match rule fails. Adjust the expected resolution to what your gateway prompt is meant to do with such a ticket.