Agentic E2E Platform

E2E tests
that run themselves.

Connect your GitHub repo. Cairn maps every user flow, generates Playwright tests, runs them on a schedule, files GitHub issues when something breaks, and lets Claude write the fix and open a PR.

Installs as a GitHub App
Auto-mapped flowsGenerated Playwright testsRun on a scheduleFailures become issuesClaude writes the fix
Auto-mapped flowsGenerated Playwright testsRun on a scheduleFailures become issuesClaude writes the fix
The_Problem

You don't own your release cadence. Your test suite does.

001

Tests rot faster than code ships

Every UI change breaks a selector. Engineers stop trusting the pipeline, the pipeline stops catching regressions, and users find them first.

002

Writing Playwright costs you afternoons

Each flow takes an hour to spec, another hour to stabilize. The next sprint ships without coverage because no one has time.

003

Coverage can't keep up with product

New routes land faster than QA can write for them. Holes grow between what's tested and what your users actually touch.

004

Debugging a failure is its own sprint

A red build means reproducing locally, reading a trace, writing the fix, and updating the test. Days of cycle time for every regression.

The Pipeline

From repo to merged fix.

A closed loop: map, test, detect, fix. You get green builds without writing the tests — or the fixes.

+
+
+
+
[01]
> GITHUB APP

Connect

Install Cairn on a repo. We read routes, components, and code evidence — no config.

LATENCY: ~2s
+
+
+
+
[02]
> FLOW EXTRACTION

Map

Gemini analyzes every page to surface real user flows: login, checkout, dashboard, settings.

MODEL: GEMINI 3 PRO
+
+
+
+
[03]
> PLAYWRIGHT SUITE

Generate

Each flow becomes a complete Playwright spec — selectors, assertions, and session auth included.

OUTPUT: TS + TRACE
+
+
+
+
[04]
> SCHEDULE + ON-DEMAND

Run

Pick a cadence from every 20 minutes to weekly, or hit Run from the dashboard. Cairn records video and a Playwright trace for every test.

BROWSER: CHROMIUM
+
+
+
+
[05]
> CLAUDE PATCH

Fix

Failures become GitHub issues. Claude triages first — if the root cause is clear, it writes the fix and opens a merge-ready PR.

MODEL: CLAUDE SONNET 4.6
[ 04 // Claude Fix ]

Claude writes the PR. You just hit merge.

When a Playwright test fails, Cairn captures the trace and console output, feeds it to Claude, and opens a minimal fix PR straight to your repo.

cairn // claude-fix
AI GENERATED PR
$ [checkout_flow] failed — timeout on "Place order" button
$ captured: dom snapshot, trace, console logs, network har
$ analyzing selector resolution against React tree...
$ generating patch via Claude Opus...
app/checkout/page.tsx
78798081828384
return ( <button
- onClick={placeOrder}
+ data-testid="place-order"
+ onClick={placeOrder}
+ disabled={!ready}
> Place order
Fix drafted. PR #421 opened against main.
The Platform

Built for the way you actually ship.

[01]

GitHub-native

Install as a GitHub App. Cairn reads your code, files issues when tests fail, and opens fix PRs — no CI config required.

[02]

Framework-aware mapping

Reads your Next.js App Router pages, layouts, and API routes to derive real user flows — login, checkout, dashboards — from actual code, not guesses.

[03]

Real browser execution

Chromium via Playwright. Every run captures video and a Playwright trace so you can replay the exact sequence when something fails.

[04]

Change-aware sync

On every push to your default branch, Cairn detects which flows were affected and offers to re-map only those pages — tests stay in sync with the code.

[05]

Scheduled monitoring

Run suites on cadence — every 20 minutes, hourly, every 4 hours, daily, weekly. Catch regressions between deploys, not just during them.

[06]

Claude Fix loop

Failures turn into classified GitHub issues (bug, timeout, infra). For bugs, Claude triages the root cause, writes the patch, and opens a PR for review.

TEST RUNNER
Playwright
SCHEDULE GRANULARITY
20m
BROWSERS
Chromium
CONFIG REQUIRED
0
cairn // ready

Stop writing tests.
Start shipping confidence.

> Installing Cairn on your repo...
> Mapping user flows from your codebase...
> Awaiting authorization to generate Playwright tests.