Connect Playwright to OMG IQ in one config line and every CI failure becomes a deduplicated Finding with trace, video, and screenshot attached. The same Finding then drives the fix — through triage, a linked Story and PR, and a Ready for retest state on merge — so nothing closes itself. Tests catch regressions; OMG IQ carries them to a verified fix.
Every Playwright run lands in OMG IQ and travels four labeled stages in this exact order. Each one is a different state of the same Finding, visible to humans and agents on the same board:
A Playwright spec fails in CI on a real browser. The
@omgqa/playwright-reporter publishes the run to the ingestion API with
the failing test's name, status, duration, error message, and (optionally) a trace,
video and screenshot. The same shape works from any JUnit-producing runner — Cypress,
Jest, Vitest, pytest — or from plain HTTP via the generic adapter.
The ingestion layer turns each failure into a Finding and deduplicates by signature: a recurring bug bumps the same Finding's counter instead of spamming the inbox. Trace, video and screenshot upload to private storage via short-lived signed URLs and attach as evidence with a thumbnail. The Finding is now a typed, queryable, auditable record — not a chat log line.
An agent (or a human) claims the Finding, checks duplicates with
find_similar_findings, files or links a Story, writes the code in an
isolated worktree, runs make verify green, opens a PR, and hands it to
the serialized merge lane via submit_for_merge. The PR links back to the
Finding, so the fix and the bug share a thread.
When the PR merges, the Finding moves to Ready for retest. The same Playwright suite that originally failed now runs against the merge commit. A human reviewer (you) compares the new trace against the original failure and closes the Finding — fixed, won't fix, accepted risk, or duplicate — with the reason captured for the record.
Wiring Playwright into the QA / hardening workflow takes two passes: a one-time setup (create a project + API key, install the reporter, point it at OMG IQ), then the usage loop on every CI run (the reporter ships the run to the ingestion API and OMG IQ does the rest).
CHK) are
what the reporter needs.OMGQA_API_KEY in GitHub Actions, GitLab CI, or Azure
DevOps.@omgqa/playwright-reporter to your test project's devDependencies:
@omgqa/cypress-reporter for Cypress,
@omgqa/jest-reporter for Jest/Vitest,
@omgqa/pytest-reporter for pytest. The shape of every reporter's payload
is identical.
OMGQA_API_KEY and OMGQA_PROJECT_ID as masked CI variables. If
you want the QA / hardening workflow to also pick up coverage and JUnit XML, add
OMGQA_COVERAGE with the path to a Cobertura or lcov report and
OMGQA_JUNIT with the JUnit XML path.npx playwright test /
pnpm test / CI trigger — nothing changes about how Playwright itself runs./api/v1/ingest/playwright-mcp?projectId=…. Failures are turned
into Findings, deduped by signature, and decorated with trace/video/screenshot when
available.search_findings,
get_finding_details, find_similar_findings — so an agent on the
team can drive the same board you see in the UI.CHK-… key in the PR body — OMG IQ links it on merge) or through the agent
via link_pr. The PR's commit and merge event keep the Finding's history
intact./api/v1/ingest/generic. Named adapters
(playwright-mcp, momentic, mabl,
qawolf) map vendor payloads onto the same Finding record with the same
dedup and the same audit trail.
Every Playwright run ships with rich evidence that lands automatically:
Files upload directly to private storage via short-lived signed URLs — the API never proxies bytes. In the app you can open a trace or HAR right inside the Finding on one synchronized timeline.
Because every Playwright run lands in OMG IQ, the platform knows what your tests actually do — not just what the latest run says.
Tests that pass and fail without a code change are flagged as flaky and surfaced on a leaderboard. Quarantine noisy tests instead of chasing them.
Each failure is auto-categorized into 7 buckets — product bug, UI timing, environment, data/parallelism, flaky, suite config, unknown — by a deterministic rules engine with an optional AI classifier. Reviewers' corrections bias future runs.
One rollup per project: open criticals/highs, pass rate, flaky rate, coverage — resolving to a go / no-go verdict for a release.
Ingest coverage from CI (Cobertura, lcov, or a single percent) and watch the trend per commit and per branch.
npm test on the PR. Two tests
fail on Safari; the reporter ships the run to OMG IQ.CHX-87), branches feat/CHX-fix-checkout, writes the fix, runs
make verify green in its isolated worktree, pushes the branch, opens a PR,
and hands it to the merge lane. CHX-87 reaches
Ready for Acceptance.OMG IQ — Governed agent fleets for verified software delivery.
Documentation · API Reference · MCP Guide · Playwright · Home