Deterministic criteria
Deterministic means two graders reading the same answer give the same mark, using only the conversation, the images and the answer. Nobody needs to run code to decide.
Replace judgment words with what the content contains
correctly, properly, appropriate, suitable, good, clear, clean, reasonable, sufficient, adequate, workable, effective, efficient, robust, optimal, best practice, well-structured, primarily, mostly, closely, materially, realistically, genuinely, recognizable, unwanted, minor, significant, as needed, where relevant. In a bonus: optionally, may also, if possible, ideally, nice to have. At the end of a row: "or similar", "or other valid".
"Correctly X" is only fine when X itself is specific. Instead of the judgment word, write what a correct answer actually says or does.
"The response says the dataset needs about 6 GB of memory once loaded (any figure from 5 to 7 GB passes)."
"The response gives a realistic estimate of the memory needed."
Why it works: a number with a tolerance can be checked by anyone.
Why it fails: "realistic" means different things to different graders.
"The response's fix sets the Access-Control-Allow-Origin header to http://localhost:3000 or *."
"The response adds the header properly."
Why it works: it names the exact header and the values that pass.
Why it fails: "properly" is not defined.
Numbers need a tolerance
If a row checks a number, size, time or position, state the range that passes, for example "within 10%" or "any value from 5 to 7 GB".
Conditional rows say what happens otherwise
If a row starts with "If the response ...", say what happens when the condition is false: "If the response suggests a new environment variable, it names it API_URL; otherwise this criterion is met." Without the second half, graders mark the row differently.
Only evidence a grader can see
A row can only rely on code, values, names and messages that appear in the conversation or the images. Do not mention a check, file or value that is not there. Do not refer to line numbers unless the line number itself matters and is visible.
No running required
"Would stop the error" is decided by reading. "Passes the test suite" or "runs without errors" needs execution and is not allowed, unless the user asked for that output and it can be checked by reading.
One sentence, no notes to the grader
A description is one checkable statement. Leave out comments like "This criterion evaluates ..." or "Note: graders should ...".