Test cases
A test case is the coverage Mo decided on, written so a person or a Momentic test can follow it:
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.
Bugs
Only a reproduced bug reaches the report. Each one holds:
The report records which agent reproduced the bug, so you can open that
conversation and read the run that confirmed it. From a bug you make a
triage decision.
Review the coverage
Read the case list before you rely on a pass. A flow that is missing from it was not tested. Message Mo to widen or narrow the scope, or tell it which behavior is expected. That reason goes to the knowledge base as a triage decision.Export the report
mo report writes everything above 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,
the manifest into four finding files, plus the bug recordings:
Each recording download lands in the manifest’s
artifacts list as
{ bugName, path } or { bugName, error }. Read every category findings
names, since newer servers can add more.
This is the handoff for the fix loop: hand mo-report/ to Claude Code, Codex,
Devin, or Cursor, and the agent has the reproduction steps and videos it needs
to fix the bugs. After the fix deploys to the same target, mo 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.