Diagnose a failed generation
A failed generation may be caused by the test contract, target application, missing environment values, model/provider failure, or capacity. Read the failure reason before deciding what to change.
Confirm what happened
curl -H "Authorization: Bearer $TESTVIBE_API_KEY" \"$TESTVIBE_SERVER/api/v1/ops/projects/$PROJECT/features/12/generation"get_generation_statusshows which section concludedfailureand when.Read the transcript
get_generation_logreturns the per-section log — what the agent explored, what it generated, and what verification said. Look at the section'sstatusReasonand finalloglines first.Fix the cause
Examples to investigate:
Symptom in the log Likely cause Fix Couldn't find a page or element the scenario names Gherkin describes UI that doesn't exist (yet) or names it differently Reword the scenario to match the real UI, or deploy the feature first. Stuck at a login wall The flow needs credentials the agent doesn't have Store credentials as variables/secrets, then reference {{var:LOGIN_USERNAME}}and{{secret:LOGIN_PASSWORD}}in the scenario.Wrong site explored Project base URL points elsewhere (staging moved?) Pass siteUrlon the next generate, or fix the project URL in the app.Verification flaky/timeouts Slow environment Inspect timing and environment evidence; fix the cause before paying for another generation. Update and retry
testvibe features update 12 --file login.featuretestvibe generate 12 --watchupdate_featurethengenerate_feature— each retry is a fresh generation (and fresh credits), so fix the Gherkin before re-rolling.--watchexits1if the retry fails again, so a script can tell a fixed Gherkin from one that still doesn't generate — and2if it stopped to ask you a question instead. Full table: the CLI wait contract.
Doing this from an MCP client? The assistant can run this whole loop itself — see Your first test from Claude Code.
Start with isTerminal, terminalReason, and root statusReason / logLines. If awaitingInput is true, answer the existing question instead of regenerating: testvibe generate answer 12 --option "<exact option>" --watch. Use testvibe generate log 12 --json for the full transcript. Capacity or credential problems may need configuration changes rather than a Gherkin edit.