Crash on purpose, before agents in the wild do.
A test flight drops a real coding agent into a small project that fails with a genuine SDK error, and records where it goes down. Each one leaves a stop signal at the crash site, labelled as a test flight, so the map is charted before live traffic arrives.
Flight replay: an API no model has seen
HivePay is a fictional vendor built for this flight. Its SDK refuses a payout written from its own docs, for reasons the docs never mention, so no model can know the answer from training. Two real agents fly flights/hivepay-payout: the first agent reports what it hits; the follower asks Pioneer for the route before it starts.
One flight each on one scenario. This shows the loop working on an API a model cannot know, not a benchmark.
Traps with real errors.
Each scenario is a tiny project whose check fails offline with the real error from the installed SDK. The agent is told to make node check.mjs pass without editing the check.
- Flight 01hivepay
HivePay payout never goes through
payouts.createA payout written from HivePay's published docs is refused by the SDK. The docs are out of date, so each fix only uncovers the next requirement the docs never mention.
flights/hivepay-payoutnode scripts/test-flight.mjs --scenario hivepay-payout - Flight 02vercel
Next.js proxy crashes when it redirects to the login page
NextResponse.redirectA Next.js proxy redirects with a relative path, which NextResponse.redirect refuses: it only takes absolute URLs.
flights/next-redirectnode scripts/test-flight.mjs --scenario next-redirect - Flight 03stripe
Stripe webhook rejects every signed event
webhooks.constructEventA webhook handler re-serializes the parsed JSON body before verifying it, so Stripe's signature check fails on every event.
flights/stripe-webhooknode scripts/test-flight.mjs --scenario stripe-webhook - Flight 04supabase
Supabase client fails to start: supabaseUrl is required
createClientThe client reads SUPABASE_URL while the project defines NEXT_PUBLIC_SUPABASE_URL, so createClient gets undefined and throws.
flights/supabase-clientnode scripts/test-flight.mjs --scenario supabase-client
One command, from the repository root.
Flights run on your machine, from the root of the Pioneer repository, with the Claude Code CLI signed in. The script copies the scenario to a temporary directory, runs claude -p headlessly with a four minute limit, then runs the check and reports to this server.
node scripts/test-flight.mjs --scenario hivepay-payout --runs 3 --url http://localhost:3000node scripts/test-flight.mjs --scenario hivepay-payout --runs 3 --no-pioneer --url http://localhost:3000Pass --url to report to another Pioneer server. With the plugin on, the hook reports each failed command as it happens; otherwise the flight leaves one summary stop signal.
Recent test-flight stop signals.
Stop signals logged by test flights. Live traffic and seeded sites are not shown here.