Blog
Notes on QA, applied
Write-ups on QA strategy, release governance, and AI-assisted test automation — the same judgment a fractional engagement gets you, in public.
Semantic search is only half a QA knowledge base
Embeddings make a fact reachable. They say nothing about whether it still holds, who saw it, or what contradicts it. The other half is one statement per file, with a source line and a status.
Your test pyramid is a claim. Here's how to prove it
A green pipeline tells you the tests passed, not that they would have caught anything. Here's how I check the shape of a pyramid — and wire gates that refuse to hurt production.
The delete nobody noticed for three weeks
A chunk of our test management quietly disappeared — outside the tool that was supposed to track it. Here's how it surfaced, and the blind spot behind it.
Your team chat is a QA knowledge base nobody indexes
The most important QA decisions — the ones that never made it into a ticket — live in chat threads no one can find three months later.
Nobody on your team can say what you actually test
Manual coverage lives in a test-management tool, automated coverage lives in a repo, and nothing adds them up. The fix isn't one system — it's one owner per half.
How to let an AI touch your test suite without losing sleep
The thing that makes AI-assisted QA safe isn't a smarter model. It's the four steps standing between a suggestion and an actual change.
The pull request is the test-design source you're ignoring
The ticket says what was asked. The PR says what actually changed, where the risk is, and what could break — and it keeps that context for later.
Building semantic search over your TestRail cases
The build guide behind the pattern: how I actually index a test portfolio — the document format, the change sentinel that keeps re-indexing cheap, and the query path.
AI test generation starts with context, not prompts
Classic automation starts from a ticket. AI-assisted test generation only works once you pull context from every source the truth is actually scattered across.
Why TestRail alone isn't enough
TestRail is a fine system of record and a slow interface for anything you actually need to analyze. Here's the local mirror, semantic layer, and MCP server I build on top of it — and why the write path stays guarded even as agents get first-class read access.
RAG for QA: making a test portfolio searchable, not just storable
How I applied retrieval-augmented generation to a large, messy test portfolio — and why the safety layer mattered more than the embeddings model.