Skip to main content
Use the report to review checked and blocked cases before triaging findings. Mo keeps one report per session and merges or removes duplicate entries as agents submit results.

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.
Each verdict carries a summary, the parts the agent verified, and the gaps it could not close. Alongside the verdict, the agent records the individual controls it exercised, each marked checked, failed, partial, or out of scope. A case blocked before a bug bash agent runs can have a 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.