Quality assurance
An agent that checks rather than builds: it reads a change against the requirement, tries it out in the browser, and writes its findings where they will be read — directly on the change.
The situation
People check their own work badly; that holds for humans and equally for agents. A second agent whose assignment is explicitly to check sees different things — not because it is cleverer, but because it asks a different question: not whether it runs, but whether it does what was asked for.
How a check runs
From the submitted change to the finding on the line it concerns.
The submitted change wakes it
It works on the same repository as the colleague who wrote the change — but with an assignment of its own and its own access.
It reads against the requirement
Not just the change itself: it fetches the associated ticket and, where one exists, the page in the documentation. What was asked for is rarely in the change.
It tries it out
Through a browser without a visible window, it operates the application the way a person would. The screenshots land in the recording, so a finding is shown rather than merely claimed.
It writes the finding in
As a comment on the line it concerns. What it could not check it says explicitly — a report that hides its gaps is worse than none.
What it works with
The systems that ship for this area. If one is missing, an MCP server is the quickest route; anyone needing their own wake-up events and finer permissions writes a plugin.
- Browser (headless Chrome)
- GitLab
- GitHub
- Jira
What the platform enforces
What a QA agent does not do.
Build a substitute
If a service it needs for checking is missing, it establishes that and reports it. Assembling a substitute would mean writing a successful report about something that does not exist.
Judge people
A finding concerns the change, not the person who wrote it. If the cause lies in the platform, it goes there as an error report rather than back as a reproach.
Decide
Its result is a finding in the inbox, not a veto. Whether a change is taken is decided by whoever merges it.
Try it yourself
covey is run by you: one program, a Postgres database, Docker for the workplaces. The instructions are in the documentation.