Qanthos
Features

The mechanism,
not a feature checklist.

Seven parts of the product that structurally fix what QA teams currently work around. Each one is on this page because a real QA lead told us the alternative was broken.

API
Testing
UI
Testing
Mobile
Testing
Infrastructure
Testing
Agent
Testing
Built on open standards
Cucumber
Gherkin
GitHub
OpenAPI
Playwright
Selenium
Postman
GitHub Actions
Cypress
Cucumber
Gherkin
GitHub
OpenAPI
Playwright
Selenium
Postman
GitHub Actions
Cypress
01 Agentic generation

Tests written from acceptance criteria, not clicks

Drop in a plain-English acceptance criterion and Qanthos returns a real Cucumber/Gherkin file. It reads your app, picks the right steps, and stubs the ones it can't infer so QA can approve them in one pass.

  • Reads your API contracts and screen structures to ground its output
  • Never invents endpoints — asks when uncertain
  • Produces test files a human can read, edit, and version
auth.feature
Generated from ERGA-643
Feature: Password reset flow issues one-time link
Scenario: Password reset flow issues one-time link
Given a user with email "[email protected]"
When they submit the reset form
Then a one-time link should be sent within 30s
And the link should expire after 15 minutes
And reusing the link should return 410 Gone
02 Self-repair

Selectors drift. The agent proposes the fix.

When a UI element moves or an API response shape shifts, we don't fail silently and we don't fail loudly. The agent proposes a minimal repair and marks it for QA review. Approved repairs land as commits — you can read them.

  • Diff-based repairs: minimal, reviewable, revertable
  • Approved fixes commit to your project repo automatically
  • Never rewrites a test the human didn't ask to touch
TC-8F04 Auto-repair proposed
Ready to review
Selector drift · checkout.feature:14
- When I click "[data-testid='submit']"
+ When I click "[data-testid='checkout-submit']"
Why: element with previous testid removed on 2026-09-22. New element with matching label text "Place order" now carries data-testid="checkout-submit".
03 Managed git

One repo per project. Zero PATs to rotate.

Every project gets its own private repo provisioned under our GitHub organization, pushed to via a GitHub App with short-lived tokens. You never see the token, never rotate it, never get paged at 2am about an expired PAT.

  • GitHub App with short-lived, scoped tokens
  • One repo per project — isolated blast radius
  • Full commit history preserved. Take the repo with you anytime.
github.com/qanthos-runs/acme-checkout-web
✓ GitHub App installed · scoped to acme-checkout-web
✓ Short-lived token issued · expires in 55m
✓ Repo provisioned · main branch protected
Latest commit: feat: regenerate checkout.feature from ERGA-812
2 minutes ago · via Qanthos Agent
04 Managed runners

Isolated infrastructure per tenant

Every tenant gets a dedicated runner path. Your tests never queue behind another customer's suite. Your secrets never touch shared infrastructure. The queue is yours.

  • One runner path per tenant — no noisy neighbors
  • Secrets encrypted at rest and scoped per project
  • Parallelism scales with your subscription, not a shared pool
Runner activity
Last 5 min
checkout-web / smoke
Running
48s
checkout-web / regression
Passed
3m 12s
billing-api / contract
Passed
1m 04s
billing-api / load-smoke
Passed
2m 21s
05 Multi-surface

Five test surfaces, one dashboard

Regression, load-adjacent smoke, mobile flows, infrastructure health, and agent-behavior tests — all triaged in one place. Stop paying for four tools that don't talk to each other.

  • API testing with OpenAPI import or hand-built endpoints
  • UI testing via browser-driven runs with auto-healing selectors
  • Mobile, infra, and agent testing on the same primitives
API Sources
Define the endpoints your test cases will exercise.
ORDERS-SMOKE
Orders Smoke API
/api/orders/smoke
GET
INGEST-EVENT
Ingest Event
/analytics/events
POST
GENERATE-INVOICE
Generate Invoice
/billing/invoices
POST
UPDATE-MERCHANT
Update Merchant
/admin/merchants/:id
PATCH
CANCEL-SHIPMENT
Cancel Shipment
/internal/shipments/:id
DELETE
06 Dashboard triage

Failures show up where the run happened

No CI logs. No stack traces buried five clicks deep in a build tool. Every failure comes with the request/response, the DOM snapshot, and the agent's proposed repair — inline.

  • Pipeline view from queue to report, per run
  • Test-case detail with request/response and DOM diff
  • One-click reopen or approve-repair from the failure row
TC-8F04 Guest user can reach payment step
Fail
Request
POST /api/cart/checkout
Content-Type: application/json

{"guest": true, "cartId": "c_9182"}
Response · 500
{"error":"session_required",
 "message":"Guest sessions must be initialized via /session/guest first"}
Agent suggests: add missing setup step "Given a guest session has been initialized" — preview repair
07 Open format

Portable by design

Everything under the hood is standard Cucumber/Gherkin in a standard git repo. If you outgrow us — or your enterprise buyer demands BYOR — you take everything with you. No data lock-in. No re-authoring.

  • Real .feature files, not a proprietary data model
  • Full git history preserved on export
  • BYOR (Bring Your Own Repo) unlock available on enterprise
acme-checkout-web/features/
├── auth.feature
├── checkout.feature
├── loyalty-discount.feature
├── payments.feature
├── search.feature
└── ...
✓ Real .feature files. Real git history. Yours to export at any time.
See it live

See it running against your app.

Bring one real acceptance criterion. We'll generate the .feature file and run it live during the demo.

Book a demo