What happened
Three frontend runs (two different tests) finished with status: "blocked" while the error field begins with the testing agent's own conclusion that everything passed, and stepSummary shows zero failed steps.
Example (test rerun ... --output json, CLI 0.2.0):
"status": "blocked",
"error": "TEST BLOCKED: PASS: All checks succeeded.\n\nSummary of checks performed...",
"passedCount": 4,
"failedCount": 0
Occurrences (project cc4ddafd-00e9-4a9c-9ad5-c07b933e83bf, target https://ouroboros-phi.vercel.app/):
- test
86ccc90d-efab-45cd-a5d6-69805a604271, run bf299263-4d9c-4a0a-9da4-06cdb9f8324b — blocked with PASS text; the immediately following fresh test run of the same test passed cleanly.
- test
285783c3-15f4-4935-af5d-4a5a6514334b — blocked with PASS text twice in a row (runs on 2026-07-07, incl. 6983d67c-85cb-4804-aee9-5e9366c82e56); observations verify every assertion.
Why it hurts agent loops
blocked maps to exit code 1, so a coding agent driving the create → run → fix loop treats a fully-passing feature as a failure and starts "fixing" working code. The agent-shaped contract (one self-consistent verdict) is the CLI's core promise.
Expected
If the testing agent's terminal conclusion is PASS and no step failed, the run should be passed — or, if something genuinely blocked the agent, the error text should name the blocker rather than embedding a PASS summary.
Happy to provide requestIds or run any diagnostics against these runs.
What happened
Three frontend runs (two different tests) finished with
status: "blocked"while theerrorfield begins with the testing agent's own conclusion that everything passed, andstepSummaryshows zero failed steps.Example (
test rerun ... --output json, CLI 0.2.0):Occurrences (project
cc4ddafd-00e9-4a9c-9ad5-c07b933e83bf, target https://ouroboros-phi.vercel.app/):86ccc90d-efab-45cd-a5d6-69805a604271, runbf299263-4d9c-4a0a-9da4-06cdb9f8324b— blocked with PASS text; the immediately following freshtest runof the same test passed cleanly.285783c3-15f4-4935-af5d-4a5a6514334b— blocked with PASS text twice in a row (runs on 2026-07-07, incl.6983d67c-85cb-4804-aee9-5e9366c82e56); observations verify every assertion.Why it hurts agent loops
blockedmaps to exit code 1, so a coding agent driving the create → run → fix loop treats a fully-passing feature as a failure and starts "fixing" working code. The agent-shaped contract (one self-consistent verdict) is the CLI's core promise.Expected
If the testing agent's terminal conclusion is PASS and no step failed, the run should be
passed— or, if something genuinely blocked the agent, the error text should name the blocker rather than embedding a PASS summary.Happy to provide requestIds or run any diagnostics against these runs.