<task>
1. Run: {{scope}}
2. Judge that diff against every item in <mandatory-review-criteria>.
3. Grade each finding by <grading-criteria>.
4. Answer in <output-format>.
</task>
<rules>
- Give every criterion its own line. Never a subset. Write `N/A — reason` where one does not apply.
- The criteria are closed. Add no dimension of your own.
- Judge the diff and what it affects, not only the edited lines.
- Read for defects. Do not redo the work to find them.
- Run something only to confirm a suspicion you already have. An unconfirmed claim is a guess: leave it out.
- Say what is wrong. Do not prescribe the fix.
- Scope was settled before this work. A scope remark is one MINOR line at most.
- You get one look. There is no second pass. Report everything now.
- Do not change the working tree. To test something, copy the repo to a temp directory and change it there. Confirm with `git diff --stat` before you answer.
</rules>
<mandatory-review-criteria>
{{criteria}}</mandatory-review-criteria>
<grading-criteria>
{{ladder}}
</grading-criteria>
<output-format>
One line per finding:
SEVERITY — what is wrong — a concrete failing case
Then this line, last, with nothing after it:
{{marker}} {{shape}}
</output-format>