TC-1 An answer after 10 seconds counts as a failed delivery
- Trigger an event → The delivery isn't counted as a success
“any 2xx status within 10 seconds”Traced to R7 · line 17
AI test planning for QA and product teams
Paste or upload a PRD, or import GitHub and Linear issues. Provo splits it into requirements, drafts test cases with steps, expected results, preconditions and priority, each quoting the exact requirement it came from, and lists gaps in the spec as questions. Review, run and export.
Free to try: paste a short spec or pick a sample. Plans from $29/month with a 7-day free trial.
Example
Lines 16 to 23 of a sample spec, and three of the cases drafted from it. Each case names its requirement and quotes it; the backoff interval isn't in the spec, so it's a question, not a guess.
Spec · webhooks.md
## Delivery - Each event is sent as a JSON POST with the header Ledgerly-Signature, an HMAC-SHA256 of the raw body using the endpoint's signing secret. - A delivery succeeds when the endpoint answers with any 2xx status within 10 seconds. - Events for the same object are delivered in the order they happened. ## Retries - A failed delivery is retried up to 5 times with exponential backoff. - After the last retry fails, the event is marked failed and can be replayed with POST /v1/events/{id}/replay. - Replaying an event that was already delivered returns 409.
Drafted test cases
“any 2xx status within 10 seconds”Traced to R7 · line 17
“A failed delivery is retried up to 5 times with exponential backoff.”Traced to R9 · line 21
“Replaying an event that was already delivered returns 409.”Traced to R11 · line 23
Open question
What are the first retry delay and the maximum delay? The tests can only check that gaps grow without them.
“with exponential backoff”R9 · line 21
Sample data
Webhook delivery and retries (API): a synthetic sample spec for a fictional API. The cases are from its precomputed example suite, the same one the app shows on /try when AI generation is off.The same cases, exported as webhooks.feature
Feature: Webhook delivery and retries
@tc-1 @r7 @edge @priority-high @webhooks @timeouts
# Source: R7 (Webhook delivery and retries > Delivery · line 17): "any 2xx status within 10 seconds"
Scenario: TC-1 An answer after 10 seconds counts as a failed delivery
Given An endpoint that waits 11 seconds before answering 200
When Trigger an event
Then The delivery isn't counted as a success
And The delivery is treated as failed and retried.
@tc-2 @r11 @negative @priority-medium @webhooks @replay
# Source: R11 (Webhook delivery and retries > Retries · line 23): "Replaying an event that was already delivered returns 409."
Scenario: TC-2 Replaying a delivered event returns 409
Given An event that was delivered successfully
When POST /v1/events/{id}/replay
Then 409
And No duplicate delivery.How it works
Paste text, upload Markdown, text, PDF or Word, or import a GitHub issue, pull request description or Linear issue.
Provo's own code (not the AI) splits the spec into requirements: list items, table rows and paragraphs under headings, each with its exact words and line numbers.
The AI drafts functional, edge, negative and regression cases and acceptance criteria. Each one must quote its requirement word for word; Provo checks every quote and drops cases it can't trace. Gaps become questions.
Edit, approve, reject or regenerate any case. Organize with folders, tags and priorities. Run them with pass, fail, blocked or skipped. Export CSV, Markdown, Gherkin or JSON.
Use cases
Turn each PRD into a reviewed suite before the sprint starts, and keep it current as the PRD changes.
Status codes, error codes, auth, retries and ordering, drafted only from what the API spec states.
Offline behavior, interruptions and supported OS versions, from the spec, with gaps flagged as questions.
Add the new version: see the diff, keep cases for unchanged requirements, and get cases traced to changed ones marked for review.
Straight answers
Pricing
Every plan has every feature. Plans differ by projects, seats and spec generations a month.
$29/month
For one product and a small team.
$59/month
For a QA team covering several products.
$99/month
For larger teams with many products and specs.
Every plan starts with a 7-day free trial. Checkout asks for a card; nothing is charged until the trial ends. Cancel any time. A spec generation counts each time Provo sends a spec (or one requirement, or one case to regenerate) to the AI. Splitting a spec into requirements, editing, runs and exports never count. At a limit Provo stops and says so: no overage charges. Generations come back at the start of the next billing period, or choose a bigger plan.
Provo turns a product spec into test cases a QA team can run. You paste or upload a PRD, or import GitHub or Linear issues; Provo splits it into requirements, drafts test cases with steps, expected results, preconditions and priority, traces each one to the exact requirement text, lists gaps as questions, and lets you run and export the suite.
It's told not to, and code checks it. Every generated case must quote the requirement it came from word for word; Provo checks each quote against your spec and drops any case it can't trace. When the spec doesn't say what should happen, Provo lists an open question instead of an expected result.
Yes. On app.provo.new-odyssey.com/try you can paste a short spec (up to 6,000 characters) or pick a synthetic sample, edit the suite and export it. Limits apply per network per day, and what you paste is deleted after 24 hours. Create an account to save the suite.
Pasted text, Markdown, plain text, PDF and Word (.docx) files up to 10 MB, GitHub issues and pull request descriptions, and Linear issues. Scanned PDFs without a text layer can't be read; export them with text or paste the text.
CSV, Markdown, Gherkin .feature and JSON. Every format includes each case's trace (requirement, quoted words and location) and the spec's open questions. The traceability matrix exports as CSV, and the whole workspace as JSON.
No. Creating an issue for a failed case and posting a run summary to a pull request both show you the exact text first, and happen only when you press the confirm button. Provo never writes to Linear.
Add the new version (or fetch it again from GitHub or Linear). Provo shows a line diff, marks requirements new, changed or removed, keeps cases traced to unchanged requirements, and marks cases traced to changed or removed requirements for review with the reason. You can then generate cases for only the new and changed requirements.
Starter $29/month (1 project, 3 seats, 50 spec generations), Team $59 (5 projects, 10 seats, 250), Business $99 (unlimited projects, 25 seats, 1,000). 7-day free trial. At a limit Provo stops; there are no overage charges.
They're stored for your workspace only. To generate, the requirements are sent to Anthropic, the AI provider, which doesn't train on them. You can export or delete everything; GitHub and Linear credentials are stored encrypted and deleted when you disconnect.
For teams whose main job is turning specs into reviewed, traceable cases and running them, it can be. TestRail has more depth in test management (automation reporting, Jira integration, on-premise hosting). See the comparison page for a dated, sourced side by side.
Provo is made by New Odyssey. Questions: clio@new-odyssey.com.
Paste a short spec or pick a sample. No account, nothing kept after 24 hours.
Six tools for the work around your clients, from being found to packaging what you know. Each one works on its own.