Features & the lifecycle
A feature is a named piece of desired behavior, written as Gherkin (Feature: + Scenario:s). TestVibe's AI turns that Gherkin into runnable Playwright tests.
Lifecycle
draft ──▶ generating ──▶ generated
│ ▲
▼ │
failed ──────────┘ (fix the Gherkin, generate again)
| Status | Meaning |
|---|---|
draft | Created, no generated tests yet. |
generating | A generation is in flight. The feature is locked: updates, deletes, and new generations are rejected with 409 conflict until it finishes (or you cancel). |
generated | Tests exist — the feature is runnable. |
failed | The last generation didn't produce working tests. Read the generation log, fix the Gherkin, retry. |
cancelled | The last generation was cancelled. |
suggestion | Drafted by TestVibe's exploration agent, awaiting your review. |
warning
Only features with status generated can be run. run_feature rejects anything else.
Anatomy
get_feature returns the full picture:
gherkin— the source of truth you edit,status— the lifecycle state above,rationale— for suggestions, why the exploration agent proposed it,kind,updatedUtc.
Features are addressable by numeric id or by name (case-insensitive) in every operation that takes a feature argument.