*/ class ScenarioRunFactory extends Factory { public function definition(): array { $passed = $this->faker->boolean(60); return [ 'benchmark_run_id' => BenchmarkRun::factory(), 'ran_at' => now(), 'scenario' => $this->faker->randomElement(['kubelet_config_repair', 'deployment_unschedulable', 'systemd_unit_repair']), 'level' => $this->faker->randomElement(['off', 'low', 'medium', 'xhigh']), 'ok' => $passed, 'outcome' => $passed ? 'passed' : $this->faker->randomElement(['rejected_final', 'timeout', 'turn_cap', 'livelock', 'error']), 'wall' => round($this->faker->randomFloat(1, 30, 600), 1), 'turns' => $this->faker->numberBetween(5, 80), 'commands' => $this->faker->numberBetween(4, 75), 'repeats' => $this->faker->numberBetween(0, 10), 'submissions' => $this->faker->numberBetween(1, 5), 'rejected' => $this->faker->numberBetween(0, 4), 't_first_sub' => round($this->faker->randomFloat(1, 20, 500), 1), 'n_first_sub' => $this->faker->numberBetween(3, 70), 't_pass' => $passed ? round($this->faker->randomFloat(1, 30, 550), 1) : null, 'n_pass' => $passed ? $this->faker->numberBetween(3, 75) : null, 'gen_tokens' => $this->faker->numberBetween(500, 20000), 'vis_tokens' => $this->faker->numberBetween(400, 19000), 'rea_tokens' => $this->faker->numberBetween(0, 5000), 'verdicts' => [['n' => 1, 'at' => 264.1, 'accepted' => $passed, 'oracle' => 'sample']], 'detail' => $passed ? 'passed on submission 1' : 'never accepted', 'payload' => ['ok' => $passed], ]; } }