Early-Stage · DevOps Field Note
A tester taps a little green bug in the corner of the screen. Minutes later, an AI coding agent has opened a pull request to fix it. This is the pipeline that turns a junior QA's instinct into shipped code — and why it makes her one of the highest-leverage people on the project.
Claudia taps the floating caterpillar button and types what she saw. The app silently attaches everything an engineer would otherwise have to chase down.
The tap hits POST /api/feedback — an Azure Function that packages the note
with full context: screen, question, pack, chosen answer, live/offline, browser, time.
A GitHub issue is filed in the private repo, auto-labeled bug +
from-game. No ticket-writing, no triage meeting, no detail lost in the retelling.
Because the issue is already complete and contextual, GitHub Copilot's coding agent can pick it up, work the codebase, and open a pull request with a proposed fix.
A senior engineer reviews the pull request and merges. The fix goes live in the game — the same game Claudia was testing when she found it.
On most teams, a bug spotted by a junior tester takes a long, lossy road to a fix: a note in a chat, a verbal hand-off, a triage meeting, a ticket written days later by someone who wasn't there. Detail leaks at every step. The person who saw the problem ends up three hands removed from the person who fixes it — and the fix is only as good as what survived the retelling.
The Caterpillar Loop deletes those hand-offs. The observation and the specification become the same act.
Every report — whoever files it — lands as a labeled GitHub issue in one private repo. There are two front doors:
Lane 1 · In-game
The floating 🐛 caterpillar button sits in the corner of the web app. One tap opens a brand-styled report box; the app attaches the context automatically. Labeled from-game.
Lane 2 · Email
Anything sent to a dedicated bug inbox is polled every five minutes by an Azure Logic App and folded into the exact same pipeline. Labeled from-email.
What the tester never has to think about — captured on every in-game report:
This is the hinge. Because each report arrives as a clean, fully-contextual GitHub issue, it's already in the exact shape GitHub Copilot's coding agent needs. Assign the issue to Copilot and it reads the context, works the code, and opens a pull request — a first draft of the fix, ready for review.
A junior QA and an AI junior developer, paired: she supplies the ground-truth observation, it supplies the first draft of the fix, and a senior review is all that stands between them and shipping.
Claudia is our junior QA. In a traditional shop, a junior tester's ceiling is "finds bugs and reports them" — and the value of that report decays with every hand-off it survives. Here, her report is the first domino in an automated chain that ends in a code change. She isn't handing work to the pipeline; she's the one who starts it.
Every tap is a fully-specified issue an AI agent can act on immediately — zero translation loss between what she saw and what gets fixed. That converts her hours into shipped improvements at a rate a junior role almost never reaches. She costs a fraction of a senior engineer and, inside this loop, lands a wildly outsized share of the impact.
It reframes what junior QA even is. She's not the bottom of a ticket queue. She's the sensor at the front of an automated delivery line — the human judgment that decides what's worth fixing, wired straight into the machinery that fixes it.
POST /api/feedback — Azure Functionsbug · from-game · from-email