Skip to main content

# QA Mode

QA Mode lets you capture observations from a running application and turn them into objectives. Instead of writing requirements from scratch, you interact with your application while a proxy captures screenshots, DOM elements, and screen data—giving AI agents the exact context they need to understand what you want.

## How It Works​

QA Mode creates a transparent proxy between you and your application. As you navigate and interact:

- Screenshots are captured and can be annotated
- DOM elements can be selected for inspection
- 5250 terminal buffers are recorded (for terminal applications)
- Rich Display data is captured (for RDF applications)

All captured context is bundled into objectives that agents can interpret and act on.

## Accessing Applications via Proxy​

When QA Mode is enabled for an environment, you access your application through a special proxy URL provided in the CoderFlow interface. The proxy:

- Injects a feedback widget into your application's pages
- Rewrites URLs so assets load correctly through the proxy
- Handles redirects transparently
- Preserves normal application functionality while adding observation capabilities

Your environment's QA URLs are displayed in the environment settings or when starting QA Mode.

## Capturing Context​

The feedback widget appears as a floating panel on your application. It captures multiple types of context depending on your application type:

### Screenshots​

Click Capture Screenshot to snapshot the current page. Screenshots appear in the widget and can be edited with the built-in annotation tools—add highlights, arrows, or text to clarify what you're pointing out.

### DOM Elements​

Use Select Elements to highlight and capture specific parts of the page:

- Click elements to select them (they highlight with an overlay)
- Right-click to deselect
- Captured DOM includes element hierarchy and attributes, helping agents understand page structure

### 5250 Terminal Buffers​

For terminal-based applications, QA Mode automatically captures:

- Current screen buffer contents
- Screen state and field positions
- Optional full screen payload for detailed context

### Rich Display Data​

For Rich Display (RDF) applications, the widget captures:

- Structured widget data and hierarchy
- Field values and display properties
- Rendering context that helps agents understand the UI

## Creating Objectives​

Once you've captured context, create an objective directly from the widget:

1. Enter a title describing the work
2. Write instructions explaining what you want the agent to do
3. Review the captured context shown in the widget
4. Click Create

The objective is created with your instructions plus all captured context—screenshots, selected elements, and application data. Agents see exactly what you saw when you created the objective.

## Launching Tasks from QA Mode​

When creating an objective, you can optionally launch tasks immediately:

1. Check Launch task after creating objective
2. Select which agent(s) to use
3. Click Create

This creates the objective and immediately launches one or more tasks from it. Each task receives a copy of the instructions and captured context.

If you prefer to review the objective first, skip the launch option. You can always launch tasks later from the objectives view.

## Best Practices​

Capture before explaining: Take screenshots and select elements first, then write your instructions. This ensures you have visual context to reference.

Annotate meaningfully: Use the screenshot editor to highlight the specific area you're discussing. A circle around a button is clearer than describing its location in text.

Be specific about the problem: Captured context shows what the application looks like—your instructions should explain what's wrong and what you want instead.

Combine context types: For complex issues, capture a screenshot AND select relevant DOM elements. More context helps agents understand the full picture.