Test cases
A test case describes one behavior Mo plans to check. Its setup, outline, and acceptance criteria let you review the coverage or turn it into a repository test:
Two cases are duplicates when they check the same behavior under the same
meaningful conditions, so Mo keeps distinct roles, permissions, and outcomes as
separate cases.
Verdicts
A bug bash agent submits one verdict per case:- Verified: the case behaved as its acceptance criteria require.
- Issues found: the agent saw behavior that does not match the criteria.
- Blocked: the case could not be checked. Access, missing data, or a sandbox limit stopped it.
blockedReason without a
verdict. Review case blockers as well as verdicts; a case without a verdict is
unverified coverage.
Bugs
Functional bugs reach the report after a separate agent reproduces them. Mo can also flag static mistakes, such as typos, with a screenshot instead of a reproduction. Each entry holds:
For a reproduced bug, the report records the reproducer’s conversation so you
can inspect the run that confirmed it. From a finding you make a
triage decision.
Review the coverage
Compare the case list with the scope you requested, then read the verdicts and gaps to see what Mo checked. A case in the list does not establish that Mo verified it. Message Mo to add missing coverage or explain expected behavior. When a reported finding is expected, record the reason through triage and review the suggested knowledge base entry.Export the report
qa report writes the report’s findings to a directory your coding agent can
read:
--require-idle exits without writing unless Mo is idle and every sub-agent is
done; omit it for an in-progress snapshot. The directory holds report.json, a
manifest that names the finding files and downloaded reproduction recordings:
Each recording download lands in the manifest’s
artifacts list as
{ bugName, path } or { bugName, error }. Read every file findings names;
newer servers can add categories. Check artifact errors before relying on a
recording. The export keeps screenshot metadata in bugs.json; it does not
download screenshots for static findings.
This is the handoff for the fix loop: hand mo-report/ to Claude Code, Codex,
Devin, or Cursor, so the agent can read the reproduction steps and available
recordings. After the fix deploys to the same target, qa send asks Mo to rerun
the original reproduction, and a second export into a separate directory shows
the new verdicts. See
fix what it found, then recheck.