AI agents that actually ship tests.
Not record-replay. Not screenshots. Real, maintainable test code — generated, healed, and orchestrated by AI, approved by your engineers.
The tools behind the agents
Theridion is the local-first QA suite we build — five tools that share one .thr file format and keep your repo as the source of truth. No cloud lock-in.

Theridion Net
REST, GraphQL, SOAP and gRPC in one local-first client. Request chains, load testing and code export — your .thr files live in your repo, with no cloud sync.
Desktop · Tauri
Theridion Eyes
Author Playwright and Cypress specs by hand or from recorded flows, then run them with trace reports — front-end and visual automation in one desktop app.
Desktop · Tauri
Theridion Weave
Manual test cases, plans and unified runs across Eyes and Net in one place. Coverage by source, Jira and Atlassian sync, English and Czech.
Web · Next.js
Theridion Hub
Ingests reports from every tool and shows release readiness, run detail and quality gates across the whole SDLC — self-hosted, with no cloud lock-in.
Web · Next.js- uses: qa-wave/theridion-runner@v1.2.3
with:
suite: ./tests
publish: hubTheridion Runner
A headless CLI and native GitHub Action that runs your suites as CI gates and scheduled monitors, publishing results straight to Hub and Weave.
CLI · GitHub ActionScreenshots are from the real products, each in its default theme. Net and Eyes are desktop (Tauri); Hub and Weave are web; Runner is a headless CLI.
Three capabilities. One agent architecture.
Generate
From user stories, production traffic, or PR diffs, our agents author Playwright / Cypress / API tests that survive refactors and pass your review.
- Reads your codebase, understands intent, writes tests that match your patterns
- Supports Playwright, Cypress, Jest, and custom API frameworks
- Every generated test goes through your existing review process
- Targets untested paths first — maximizes coverage per test written
import { test, expect } from '@playwright/test';
test('checkout flow completes with valid card', async ({ page }) => {
await page.goto('/cart');
await page.getByRole('button', { name: 'Checkout' }).click();
// Fill payment — generated from production traffic patterns
await page.getByLabel('Card number').fill('4242424242424242');
await page.getByLabel('Expiry').fill('12/27');
await page.getByLabel('CVC').fill('123');
await page.getByRole('button', { name: 'Pay' }).click();
await expect(page.getByText('Order confirmed')).toBeVisible();
});Heal
Selector drift, timing races, test data churn — the agents catch regressions and propose fixes as PRs. Your SDETs review and approve.
- Understands test intent, not just selectors — fixes at the right level
- Proposes patches as PRs — your SDETs approve, they don't babysit
- Tracks flakiness patterns across runs to identify systemic issues
- Reduces false-positive CI failures that block your deploy pipeline
// Before (broken by UI refactor)
- await page.click('.btn-primary.submit-order');
+ // After (healed by intent — "submit the order")
+ await page.getByRole('button', { name: 'Pay' }).click();
// Agent detected: selector drift on .btn-primary
// Root cause: Button component migrated to Radix
// Fix: switched to role-based locator (stable)Triage
When CI fails, the Bug Triager agent analyzes logs, traces, and diffs to propose root cause and assignee — in seconds, not hours.
- Correlates test failures with recent commits and infrastructure changes
- Suggests root cause and assigns to the right engineer automatically
- Learns from past resolutions to improve accuracy over time
- Integrates with Slack, Jira, Linear for instant notifications
┌─ CI Failure Analysis ────────────────────────────┐
│ │
│ Failed test: checkout.spec.ts:14 │
│ Error: Element not found: #payment-form │
│ │
│ Root cause: PR #847 removed PaymentForm │
│ component (replaced by Stripe │
│ Elements in PR #849, not merged) │
│ │
│ Assignee: @sarah (PR #849 author) │
│ Confidence: 94% │
│ Time: 12s │
│ │
└──────────────────────────────────────────────────┘How agents fit in your pipeline.
Agents run inside your CI/CD. Your code never leaves your infrastructure.
- Source code
- Test suites
- PR diffs
- Generate
- Heal
- Triage
- GitHub Actions
- Test results
- Review gates
- Deploy pipeline
Every agent output is evaluated.
The eval harness checks expected behaviors before changes reach your review queue. Thresholds are calibrated on your stack during discovery.
Calibrated
Regression thresholds are defined per stack and shared with your team before production use.
Discovery output
Continuous
Eval runs check expected behaviors and block flagged outputs from reaching your queue.
Eval harness
Full audit
Every agent action is logged: what was read, generated, and proposed. Audit trail available to customers.
Governance
Works with your stack.
Our agents plug into your existing CI/CD and test infrastructure. No rip-and-replace. Today they cover web (Playwright, Cypress) and API tests — mobile and native apps aren't part of the service yet.
CI/CD
- GitHub Actions
- GitLab CI
- Jenkins
- CircleCI
- Azure DevOps
Test Frameworks
- Playwright
- Cypress
- Jest
- Vitest
- pytest
Languages
- TypeScript
- JavaScript
- Python
- Java
- Go
- C#
Issue Tracking
- Jira
- Linear
- GitHub Issues
- Azure Boards