validation array of the scenario through the API. The engine first checks that the job completed, even when the array is empty. A scenario whose required job_resolution_status rule accepts agentic_failure skips that check, so it can expect a job that fails.
label, shown in the results. required defaults to true; an optional rule counts in the compliance score but never fails the run.
Validators
host_state
Runs with the same shell and rules as setup steps - see How commands run. on picks a host from the scenario’s hosts, default the first one.
If the host does not answer at all, the run ends in Error instead of failing the rule: an unreachable host says nothing about the agent.
turns
A turn is the tasks that a job starts together. The job starts the next turn when all of them end. Each item of turns is one turn of the job, in order:
hosts: every host in the list has a task in that turn. With noat_least, the turn has no other hosts.at_least: the turn has at least this many hosts, which can include hosts that are not inhosts.
pattern_match
The pattern is tested against each value separately - each command, each message - never against a joined blob.
- A positive rule passes if any value matches.
- A negated rule passes only if no value matches.
task_plan is still accepted for older scenarios, but no longer has evidence on current versions. Do not use it in new scenarios.
See Regular expression traps before writing patterns.

