Blog

Notes from building QA Reef

Write-ups of the decisions behind the product, in enough detail to argue with. No filler, no fabricated case studies.

Migration

How to migrate from QA Wolf to self-hosted agentic QA

What genuinely carries over (your .flow.ts files, via QA Wolf's own Apache-2.0 CLI), what doesn't (the hosted grid, human verification), and the actual steps to move to a self-hosted, open-core alternative.

2026-08-29 · 9 min read
Technique

Making an API out of a 2004 web portal

The real technique behind turning a decades-old, frame-based, no-API portal into a callable endpoint: OCR words to coordinates, curved mouse movement, evidence per step, and UNMEASURED when a page never settles.

2026-08-29 · 8 min read
Perspective

What QA Wolf gets right — and what an open-core alternative changes

A sourced, non-disparaging look at what QA Wolf's platform genuinely gets right — hosted execution, human verification, mobile support — and what an open-core alternative changes about the trade-offs.

2026-08-29 · 8 min read
Reference

Agentic QA glossary: flows, mapping sessions, smoke suites, self-healing tests

Plain-English definitions for the terms this whole category throws around, with honest notes on where different tools use the same word differently.

2026-08-29 · 10 min read
Architecture

Why we read the screen with OCR instead of trusting selectors

Selectors are the right answer once a UI is stable. A lot of the software worth testing isn't. Here's the actual failure mode that pushed us toward an OCR-driven operator, and where we still use plain Playwright locators instead.

2026-08-29 · 7 min read
Verification

PASS / FAIL / UNMEASURED: why a QA verdict needs a third state

A binary pass/fail forces every ambiguous measurement into a lie. What UNMEASURED actually means, why it's not a hedge, and what it cost us the one time we didn't have it.

2026-08-29 · 6 min read
Testing strategy

Dark controls: testing that a gate says no

Most test suites only check that the door opens for the right person. The harder, more valuable test is proving it stays shut for everyone else — and that "shut" isn't just "we didn't check."

2026-08-29 · 6 min read