Scenarios (scenarios.json)
The scenario file is a single JSON document that lists scenario objects. Each scenario describes one simulated user and one conversation session. It is the input to Simulation and is referenced during Evaluation.
Schema
string
required
Schema version identifier. Use
"v1".list[Scenario]
required
List of scenario objects.
Simulation output (simulation.json)
Written by arksim simulate or the simulation step of arksim simulate-evaluate. Path is set by output_file_path in your config.
Schema
string
required
Output schema version (e.g.
"v1").string
required
ArkSim package version that produced this file.
string
required
UUID that uniquely identifies this simulation run. Referenced by the evaluation output as
simulation_id to link the two artifacts.string
required
ISO-8601 UTC timestamp when the file was generated.
list[Conversation]
required
One record per simulated conversation.
Evaluation output (evaluation.json)
Written by arksim evaluate or the evaluation step of arksim simulate-evaluate. Path is {output_dir}/evaluation.json.
Schema
string
required
Output schema version (e.g.
"v1.1").string
required
ISO-8601 UTC timestamp when the file was generated.
string
required
ArkSim package version that produced this file.
string
required
UUID that uniquely identifies this evaluation run. Generated fresh for each
arksim evaluate or arksim simulate-evaluate invocation.string
required
UUID of the simulation run that produced the conversations being evaluated. Copied from
simulation.json to link the two artifacts.list[ConversationEvaluation]
required
One record per conversation evaluated.
list[UniqueError]
required
Deduplicated behavior failures across all conversations.
list[ErrorScenarioMapping]
Maps each unique error to the scenarios that triggered it. Empty when no errors are detected or no scenario file was provided. Added in schema version
v1.1.Focus files (focus/error_N.json, focus/all_failures.json)
Written to {output_dir}/focus/ when unique errors are detected and a scenario file is provided. Each file uses the standard Scenario input schema.
string
required
Copied from the original scenario file (e.g.
"v1").list[Scenario]
required
Filtered subset of the original scenarios. For
error_N.json, only scenarios that triggered error group N. For all_failures.json, the union of all failing scenarios (deduplicated).Run configuration (config.yaml)
The same YAML file can be used for arksim simulate, arksim evaluate, and arksim simulate-evaluate. For simulate-evaluate, simulation and evaluation settings are merged from a single config.
Agent configuration
Simulation keys
Used bysimulate and the simulation phase of simulate-evaluate.
Evaluation keys
Used byevaluate and the evaluation phase of simulate-evaluate.
model, provider, and num_workers are shared across simulation and evaluation when both run from the same config.Exit codes
Thearksim CLI exits with one of the following codes, suitable for use in CI/CD pipelines: