What is in a prompt
The surface and selector, what the browser saw, what it should see instead, and an acceptance line. The acceptance line is the part that matters:
Acceptance: with the form empty, click submit and the browser should move the cursor to a field and ask for it.
That is re-runnable. An assistant can act on it and something other than the assistant can settle whether it worked.
Where it goes
Claude Code, Cursor or Codex. Copy it from the console, or:
node cli.cjs actions prompt <id>
If you are already working through one of those, you do not need to copy anything: the MCP server hands the prompts over directly.
Proving the fix landed
node cli.cjs verify <id>
Re-drives the finding’s surface and checks the acceptance condition. On a confident yes it closes the finding. On anything else it stays open, and says what it saw instead.
This is why done does not close a finding on its own. A model declaring its own
work complete is the failure this whole product exists to catch; applying that standard to
ourselves is not optional.
The loop
- Run a check. Read the findings.
- Confirm the real ones: each becomes a standing re-check.
- Paste the fix prompt into your assistant.
verifythe finding. It closes only if the browser agrees.- Re-checks keeps it closed, and files a ship-blocker if it comes back.