*/ class KiAuditFactory extends Factory { protected $model = KiAudit::class; /** * Define the model's default state. * * @return array */ public function definition(): array { $classification = fake()->randomElement(PressReleaseClassification::cases()); return [ 'press_release_id' => PressRelease::factory(), 'type' => KiAudit::TYPE_CLASSIFICATION, 'provider' => 'anthropic', 'model' => 'claude-sonnet-4-6', 'result' => $classification->value, 'reason' => fake()->optional()->sentence(), 'raw_response' => ['classification' => $classification->value, 'reasons' => []], 'created_at' => now(), ]; } public function classification(PressReleaseClassification $classification): static { return $this->state(fn (): array => [ 'type' => KiAudit::TYPE_CLASSIFICATION, 'result' => $classification->value, ]); } public function contentScore(int $score): static { return $this->state(fn (): array => [ 'type' => KiAudit::TYPE_CONTENT_SCORE, 'result' => (string) $score, ]); } }