A QAShift product · AI writes, engineers verify

Your test suite,
on autopilot.

Verity generates Playwright tests with AI, heals their locators when your UI changes, tells flaky from broken, and predictswhat's risky — all in your CI. When you want it owned end-to-end, a forward-deployed engineer runs it for you.

Runs in your CI — we don't host your browsers MIT open-source coreSee how it works ↓
verity — the loop
1 · Generate2 · Run in CI3 · Flake vs real4 · Self-heal5 · Predict
$ verity generate "checkout with saved card"
✓ tests/checkout.spec.ts
await page.getByRole('button',
{ name: 'Place order' }).click()
AI writes · the suite heals itselfan FDE owns it →
Slots into your stackGitHubGitHub ActionsGitLab CIVercelNetlifyCircleCIPlaywright

The whole loop, not a recorder

Four jobs most tools leave to you. Verity does all four.

Generate

Describe a flow or drop a URL. Verity writes a runnable Playwright spec in TypeScript — role-based locators, real assertions, ready to run.

Maintain

When a selector breaks, Verity proposes the fix from the live DOM. Flaky tests are re-run and separated from real failures, so noise never blocks a merge.

Verify

A forward-deployed engineer turns disposable AI scripts into a maintained Page Object Model suite they own — the part automation alone never gives you.

Predict

Regression-prone files, flake-vs-real calls, and a deploy confidence score — posted right inside the pull request, before you ship.

How it works

One pipeline. From commit to confidence.

01
PR commit
every push
02
Quick check
diff-aware subset · fast · never blocks
03
Self-heal + flake triage
fix locators · flaky ≠ broken
04
Merge → Full regression
entire suite · the safety net · can block
05
Predictions in the PR
regression risk · deploy confidence
# .github/workflows/verity.yml
- name: Verity — Quick check (every PR commit)
  uses: qashift/verity-action@v1
  with: { tier: fast, token: ${{ secrets.VERITY_INGEST_TOKEN }} }

- name: Verity — Full regression (on merge to main)
  if: github.ref == 'refs/heads/main'
  uses: qashift/verity-action@v1
  with: { tier: full, token: ${{ secrets.VERITY_INGEST_TOKEN }} }

We label it honestly

A fast check is not a safety net. We never pretend otherwise.

Quick check

Speed, on every commit

Runs only the tests mapped to your changed files. Fast feedback in the PR — a sanity check, explicitly not full coverage. It can never block a merge.

Full regression

The real safety net

The entire suite on merge, schedule, or pre-deploy. No diff-aware shortcuts, ever. This is the only tier allowed to block a merge.

Everything the suite needs to stay alive.

AI test generation

From a sentence or a URL to a runnable spec. Zero setup to your first test.

Self-healing locators

Broken selector → AI-proposed fix from the live DOM, surfaced as a diff you approve. Never silently merged.

Two-tier execution

A fast diff-aware Quick check on every commit, and a Full regression suite on merge — honestly labeled, never conflated.

Flake detection & quarantine

Suspect failures re-run N times; flaky is split from broken; per-test flake rate tracked over time.

Confidence scoring

Not just pass/fail — does a green test meaningfully cover a critical path, or is it technically-green theatre?

Managed POM conversion

Our FDEs restructure flat AI scripts into a maintainable Page Object Model — the moat that makes tests an owned asset.

The intelligence layer

Verity doesn't just run your tests. It tells you what's about to break.

Every run feeds a model of your codebase: which files regress, which tests lie, and how risk compounds. Two signals are live today; two more switch on automatically once your project has enough history.

Regression-prone modules

Live

Files with a high historical regression rate for similar changes — flagged inline in the PR, before review.

src/checkout.ts
src/auth/session.ts
src/cart.ts
src/utils/format.ts
Schematic

Flaky vs. real failures

Live

Every failure is scored against its own flake history, so noise is quarantined and real blockers stand out.

● real● flaky → quarantined
Schematic

Cross-dimension correlation

Calibrating

How regression, failure and flake signals move together across deploys. Switches on once there's enough history.

regressionfailureflake
Schematic

Deploy confidence score

Calibrating

One decomposed score per deploy. Calibrates against your history before it's shown — never a number you can't trust.

78/100
decomposed across 4 signals
Schematic

In the product, these surfaces show your real data— and an honest empty state until there's enough of it. We never invent a number to fill a chart.

The moat · human + AI

AI writes. Engineers verify. Neither works without the other.

Generated tests are disposable until someone owns them. On every paid plan — from Starter, a forward-deployed engineer joins your team: they convert AI scripts into a maintainable Page Object Model, keep the suite green as your product changes, triage every failure, and tune the predictions to your codebase. You get the output of a QA team without building one.

See plans with an engineer →
AI
Generates the first draft
Specs from flows/URLs in seconds.
Platform
Keeps it alive
Self-heals locators, quarantines flakes, predicts risk.
FDE
Owns the outcome
POM architecture, maintenance, triage — a human accountable for green.

Try it in the cloud. Live in your CI. Hand it to an FDE.

Cloud is for the first feel — it's capped on purpose. The product is built to run in your pipeline, where it's unlimited.

CloudGet the feel

Generate a spec and run a few times on our infra — no setup. Capped, because this is the demo, not the product.

Minutes to first test

CIThe engine

Wire one workflow in. Unlimited Quick checks and Full regressions in your own pipeline — we never host your browsers.

Unlimited runs, flat price

FDEDone for you

A forward-deployed engineer builds, owns and maintains the suite end-to-end. AI + platform + a human accountable for it.

A QA team, without hiring one

Why Verity

The only one that does generation, maintenance, prediction — and a human.

VerityDIY PlaywrightAI per-test toolsManaged QA agency
AI generates the testsmanual
Self-healing locatorssomemanual
Flaky ≠ broken (auto-triage)raremanual
Runs in your own CIsometimes
Regression & risk predictions
A human engineer owns the suitefrom Starter
Flat pricing, unlimited runsfree but DIYper-test meterretainer
You own the code (POM, MIT core)lock-invaries

Security & data

Built so your code and secrets stay yours.

Verity is designed for teams that can't hand their codebase to a SaaS. The architecture keeps execution in your infrastructure and gives us the least access that still does the job.

Your browsers and secrets never leave your CI

Verity is CI-native. Tests run in your own pipeline against your own environments. We never host your browsers or receive your app secrets — only test results and metadata are sent to us.

Tenant isolation with row-level security

Every row is scoped to an organization and enforced in the database with Postgres RLS. One customer can never read another's projects, tests, or runs.

Scoped, revocable ingest tokens

CI authenticates with a per-project token that can only post results for that project. Rotate or revoke it any time — no broad API keys, no standing access to your repo.

We never write to your source

Self-healing proposes a corrected locator as a diff you approve. Verity has no write access to your code — a human always lands the change.

Least-privilege GitHub App

The app requests only Pull requests, Checks and Contents (read). Webhooks are HMAC-signed and verified on every call. No org-wide or account permissions.

Auditable, open-source core

The execution and scoring engine (@qashift/verity-core) is MIT-licensed and inspectable. The model that decides flaky-vs-real and risk is not a black box.

Enterprise plans add SSO/SAML, RBAC, and SOC 2 / GDPR support via the QAShift platform. Security questions? hello@qashifthq.com.

Pricing

Start free. Self-serve at $49. Add an engineer when ready.

Verity's self-serve tiers below. The forward-deployed-engineer tiers (Starter and up) — with mobile, performance, security, and predictions — share one canonical price across the QAShift platform.

Self-serve · no FDE

Cloud Sandbox

Get the feel instantly in our cloud sandbox — no card.

$0
AI UI tests — 15/month
  • AI test generation, UI — 15/month
  • Try it instantly in our cloud sandbox
  • Unlimited CI runs once you wire your pipeline
  • ·Self-healing and flake triage start at Self-Serve Pro.
Start free
Self-serve · no FDE

Self-Serve Pro

The full engine, self-driven. No engineer, no call.

$49/mo
AI UI + API tests — 200/month
  • AI test generation, UI + API — 200/month
  • Self-healing locators + flake detection included
  • Unlimited CI runs
  • 3 projects
FDE-backed · Starter and up

Want an engineer on it?

Starter, Growth, Scale, and Enterprise include a forward-deployed engineer, mobile, performance, security, and predictions. All four tiers live on the QAShift platform pricing page.

See all six tiers →

Same pricing across the QAShift platform. View the full canonical pricing →

Generate your first test in 30 seconds.

Try it free in the cloud, wire it into your CI, or hand the whole suite to a forward-deployed engineer.