Acceptance criteria are observable conditions that must be true when the task is complete. They might describe an API response, an error case, a user interaction, a performance limit, or a set of tests that must pass. Good criteria focus on behavior rather than an implementation guess.
They matter because agents need a clear stopping point and a way to check their own work. Asking only to improve a parser is vague. A requirement to reject an unterminated quote and preserve quoted commas is verifiable. Include negative criteria when needed, such as no new dependency or no schema change. Human reviewers can then compare the final diff with the same contract instead of judging a broad claim that the task is done.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.