How to Choose and Use Pipeline Modes¶
Select the right pipeline mode for your test generation scenario and configure it for optimal results.
Prerequisites¶
- Quorvex AI installed and running (
make setupcompleted) - A test spec written in markdown (see Writing Specs)
- AI credentials configured in
.env
Step 1: Understand the Available Modes¶
| Mode | Command | Healing | Best For |
|---|---|---|---|
| Default (default) | python orchestrator/cli.py spec.md | 3 attempts | Most tests |
| Hybrid | python orchestrator/cli.py spec.md --hybrid | 3 + 17 attempts | Complex/flaky pages |
| Standard (legacy) | python orchestrator/cli.py spec.md --standard-pipeline | 7 attempts | Legacy compatibility |
| PRD | python orchestrator/cli.py prd.pdf --prd | 3 attempts | Bulk from PRD document |
| Exploration | python orchestrator/cli.py --explore URL | N/A | App discovery |
| Skill | python orchestrator/cli.py spec.md --skill-mode | N/A | Network interception, multi-tab |
Step 2: Use the Pipeline (Default)¶
The native pipeline is recommended for most test generation tasks. It uses live browser interaction at every stage.
How it works:
- Planning -- AI opens a browser, navigates to the target URL, explores the page, and builds a plan with real selectors from the live DOM.
- Generation -- AI opens a fresh browser, reads the spec and plan, then writes Playwright test code while interacting with the live application.
- Execution -- The generated test runs via
npx playwright test. If it passes, the pipeline is done. - Healing (up to 3 attempts) -- If the test fails, the healer uses Playwright's
test_debugMCP tool to diagnose and fix the issue.
Tip
Use this for standard functional tests: login flows, form submissions, navigation, and assertions.
Step 3: Switch to Hybrid for Complex Tests¶
If native healing's 3 attempts are insufficient, enable hybrid mode for up to 20 total iterations:
Hybrid extends native healing with the Ralph healing loop:
- Phase 1 (attempts 1-3): Healing with browser debug tools
- Phase 2 (attempts 4-20): Ralph loop with full test output, plan context, and spec analysis
Adjust the total iteration budget:
Tip
Use hybrid for pages with dynamic content, animations, race conditions, or tests that consistently exhaust native healing's 3 attempts.
Step 4: Generate Tests from a PRD¶
Process a PDF Product Requirements Document to generate test specs and code:
# Process entire PRD
python orchestrator/cli.py requirements.pdf --prd
# Process a specific feature
python orchestrator/cli.py requirements.pdf --prd --feature "User Login"
# Split a multi-test spec into individual files
python orchestrator/cli.py specs/prd-feature.md --split
The PRD pipeline:
- Parses the PDF and identifies features
- Stores chunks in the vector store for retrieval
- Generates test specs using RAG with the Planner
- Runs each spec through the native generator and healer
Use the PRD page in the dashboard to upload PDFs with a visual interface.
Step 5: Discover Apps with AI Exploration¶
Explore a web application autonomously without a pre-written spec:
# Basic exploration
python orchestrator/cli.py --explore https://app.example.com
# With strategy and limits
python orchestrator/cli.py --explore https://app.example.com \
--strategy breadth_first \
--max-interactions 100
# Authenticated exploration
LOGIN_EMAIL=user@example.com LOGIN_PASSWORD=secret \
python orchestrator/cli.py --explore https://app.example.com \
--login-url https://app.example.com/login
Exploration strategies:
| Strategy | Behavior |
|---|---|
goal_directed (default) | Prioritizes meaningful user flows and actions |
breadth_first | Visits as many pages as possible before going deep |
depth_first | Follows each flow to completion before the next |
After exploration, generate requirements and RTM:
python orchestrator/cli.py --generate-requirements --from-exploration SESSION_ID
python orchestrator/cli.py --generate-rtm --project-id my-project
Step 6: Use Skill Mode for Advanced Scenarios¶
Generate Playwright scripts for network interception, multi-tab workflows, or performance testing:
# Generate a skill script from a spec
python orchestrator/cli.py specs/my-test.md --skill-mode
# Execute a skill script directly
python orchestrator/cli.py --run-skill /path/to/script.js
# With options
python orchestrator/cli.py --run-skill /path/to/script.js \
--skill-timeout 60000 \
--skill-headless
Step 7: Use Smart Check to Skip Regeneration¶
Before running any pipeline, the system checks for existing generated code:
- Reuse -- if valid test code exists and passes, skip the pipeline entirely
- Heal -- if existing code fails, jump to healing (skip planning and generation)
- Regenerate -- if no code exists or healing fails, run full pipeline
Force a specific existing test file:
Common Options¶
These flags work with all pipeline modes:
| Flag | Purpose |
|---|---|
--browser chromium\|firefox\|webkit | Browser engine (default: chromium) |
--project-id ID | Project for memory isolation |
--no-memory | Disable memory system |
--run-dir PATH | Custom directory for run artifacts |
Decision Matrix¶
| Scenario | Recommended Mode |
|---|---|
| New test from a simple spec | Default |
| Test keeps failing after 3 healing attempts | Hybrid (--hybrid) |
| Generate tests from a PDF PRD | PRD (--prd) |
| Discover what an app does | Exploration (--explore) |
| Need network mocking or multi-tab | Skill (--skill-mode) |
| Reproduce a legacy run | Standard (--standard-pipeline) |
Verification¶
Confirm the pipeline ran correctly:
- Check the CLI output for
status: passed - Inspect run artifacts in
runs/<timestamp>/(plan.json, export.json, status.txt) - Run the generated test directly:
- In the dashboard, check the Runs page for stage-by-stage progress
Related Guides¶
- Writing Specs -- the spec format all pipelines consume
- Exploration and Requirements -- end-to-end discovery pipeline
- PRD to Tests -- detailed PRD pipeline usage
- Troubleshooting -- common pipeline issues