pmAgent now checks its own work. After every task it commits, pmAgent runs your project’s own verification command and shows you — right on the task card — whether the project is still green.

When the agent marks a task “done” but the suite is actually red, you get a Verification failed card instead of a green check. No more trusting an unverified “tests pass.”
Request → plan → run → verify
Every request travels the same path. In Auto the plan runs end to end; in Step it pauses after each task so you can proceed, stop, or retry.

One command. The exit code decides.
The engine holds no knowledge of tests — no npm/cargo/pytest detection, no guessing whether a task “is a test task.” It runs the command you configured and reads its exit code. Nothing changed, or nothing configured → skipped.

Who talks to whom
Your browser drives the plan through the relay; the agent runs the vendor CLI in a tmux session and does the verifying locally. In Step mode, your proceed / stop / retry travels back down the same path.

Mechanism in the tool, policy in your config
Because the engine only runs a command, the same machinery verifies anything: a test suite, a linter, a type check, a formatter, or a full CI script. You decide what “verified” means for each project — the tool never bakes it in.
Verification is off by default. Turn it on per deployment with one environment variable — PMAGENT_VERIFY_COMMAND="npm test", "cargo test", or "make check && ./scripts/e2e.sh".