FlawFerret2
Architecture
FlawFerret2 moves a captured testing signal through several systems before an AI agent touches any code, and it never touches a repository or opens a pull request without a human approving each stage.
Pipeline
Browser extension -> Next.js web dashboard -> Fastify/Zod API -> Prisma/PostgreSQL (Neon) -> ferret-runner worker -> Codex (AI coding agent) -> Playwright validation -> GitHub draft pull request
Job and run state model
Job and run state is event-sourced: explicit JobStatus and JobEventType enums cover the full lifecycle, from job creation through Codex invocation, validation, and PR creation.
Human-in-the-loop safety
Codex execution and PR creation are separate, explicit manual-approval steps. Both are default-disabled via feature flags (FERRET_RUNNER_ENABLE_CODEX, FERRET_RUNNER_ENABLE_PR_CREATION). The AI agent cannot modify a repository or open a pull request without a human approving each stage.