Results
Every tool returns both prose and structuredContent:
{
"outcome": "conformant",
"passed": 5, "failed": 0, "errored": 0, "skipped": 1,
"results": [
{ "id": "MPP-11", "name": "...", "status": "PASS",
"detail": "...", "destructive": false }
]
}outcome is a name, not an exit code — an integer means nothing to an agent,
and no-verdict must never be read as conformant. When any check errored, the
prose channel carries an explicit caveat that no statement was made about the
target's conformance.
A result with "status": "FAIL" also carries fix, what to change for the
cause the check found (or the check's general fix), and docs, the check's
page on usewasit.dev. An agent can pass fix on to the developer as the next
step. Nothing else carries them: a skip or a no-verdict is not a defect.
A result with "status": "ERROR" also carries errorKind, one of
unreachable, configuration, setup or harness. setup means a
precondition the check needed could not be established — for the channel checks,
that one correctly advancing commitment was refused three times running, which a
channel in concurrent use produces just as readily as a non-conformant target.
An agent should report that as "no verdict", never as a defect, and suggest a
re-run against a channel nothing else is paying through.