---
title: Human approval gates for AI-generated heals | qventis blog
description: AI can propose test heals quickly. Deciding which heals need which reviewer, what a proposal must show and how to keep the queue moving is the real design.
---

[qventis blog](https://qventis.ai/blog)

# [Human approval gates for AI-generated heals | qventis blog](https://qventis.ai/blog/human-approval-gates-for-ai-heals)

 Written by [qventis team](https://qventis.ai/blog/author/qventis-team) | Sep 4, 2026, 3:00:00 PM

When an application changes, tests break. A button is renamed, a menu moves, a new required field appears. AI is good at noticing these changes and suggesting how the test should adapt. Many tools call this self-healing and apply the fix automatically.

Automatic healing has a known failure mode. Some of the changes it adapts to are defects. A button that disappeared because of a bug looks, to a healer, much like a button that was moved on purpose. If the heal is applied silently, the test goes green and the defect goes to production. An approval gate exists to stop that, and its design decides whether it actually does.

## Not every heal carries the same risk

The first design decision is to stop treating heals as one category. A heal that changes how a test finds a control is very different from one that changes what the test does or checks.

| Heal type | Example | Reviewer |
| --- | --- | --- |
| Locator | "Submit" relabeled "Submit for approval" | Any approver who is not the author |
| Timing | Page now loads a panel after a delay | Any approver who is not the author |
| Navigation | Menu item moved to a new section | Test owner |
| Data | New required field needs a value | Test owner with domain knowledge |
| Flow | Steps added to or removed from the path | Test owner and process owner |
| Expected result | The value a check compares against | Never a heal, goes to the test owner |

The bottom row is a firm rule. A change to what a test checks is not a heal. It is a change to the claim the test makes, and it needs the same review as writing a new test. An AI may flag that an expected result looks out of date. It should never be able to submit a new one as a repair.

## What a heal proposal must show

A reviewer can only judge what the proposal shows. A good proposal makes the right decision fast and the wrong decision hard.

- The step before and after, in readable form
- Screenshots from the last passing run and the failing run
- What changed in the application, with a link to the deployment or vendor release feature if known
- Every other test that uses the same control or step
- A plain statement that expected results are unchanged
- How to roll the heal back

**Proposed heal**Locator, 2 versions

1. Click the 'Submit' button before, last passed on the prior build
2. Click the 'Submit for approval' button proposed, same control, label changed

The link to a change event is the most useful item on the list. A relabeled button that matches a line in the vendor's release content is almost certainly intended. A relabeled button with no matching change anywhere deserves a closer look before anyone approves it.

## Who may approve

- **Never the author.** If an agent proposed the heal, the agent cannot approve it, and neither can the person who asked the agent to run
- **Matched to the risk.** Locator and timing heals can go to any qualified approver, while flow heals need the owner of the process
- **Scoped by project.** Approval rights follow the same project and module boundaries as other permissions

## Keep the queue moving

The fastest way to kill an approval gate is to make it slow. If heals sit for days, people start asking for automatic approval, and the gate is gone. A few design choices keep it practical.

**Heal the object, not each test.** When a control is described once in a shared model, a single approved heal fixes every test that uses it. One decision replaces dozens.

**Group by cause.** When one release renames several controls on the same page, present those heals together with the release feature that explains them.

**Never approve on timeout.** If a heal is not reviewed in time, the test stays failed and flagged. It does not turn green because a clock ran out.

**Show the queue to release owners.** Pending heals are open risk. They belong on the same view as open defects when a release decision is made.

## Measure the gate itself

A gate should be reviewed like any other control. Three measures tell you whether it is working.

- How many heals are approved without edits, by heal type
- How many approved heals are later reverted
- Whether any approved heal ever masked a defect found later

A high clean-approval rate for locator heals in a stable module is evidence for lighter review there. A single masked defect is a reason to tighten review in that scope immediately. Trust in the healer should be earned per scope and lost on breach.

## Keep a full record

For every heal, keep who or what proposed it, which model was used, who approved it, when, and the evidence they saw. That record is what lets an auditor, or the team after an escaped defect, see exactly how a test came to check what it checks.

## How Qventis One helps

In Qventis One, heals are always proposals. Each carries before and after steps, screenshots, the related change event and every test that shares the object, and waits for a person to approve. Because controls live once in the App Model, one approved heal fixes every test that uses them. Changes to what a test checks get stronger review than changes to how it finds things, an agent can never approve its own heal, and every decision is audited. [Book a demo](https://qventis.ai/contact#demo) to see the approval gate in action.

[View full post](https://qventis.ai/blog/human-approval-gates-for-ai-heals)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "qventis team"
  },
  "dateModified" : "2026-10-11T09:08:19.224Z",
  "datePublished" : "2026-09-04T15:00:00Z",
  "headline" : "Human approval gates for AI-generated heals",
  "image" : {
    "@type" : "ImageObject",
    "height" : 60,
    "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
    "width" : 60
  },
  "mainEntityOfPage" : "https://qventis.ai/blog/human-approval-gates-for-ai-heals",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "qventis blog"
  }
}
```