| key | type | primitive | tier |
|---|---|---|---|
addresses_the_issue | scored | llm_judge@1 | 1 |
professional_tone | scored | llm_judge@1 | 1 |
concrete_next_step | must_have | llm_judge@1 | 1 |
no_internal_disclosure | must_not | regex_match@1 | — |
**Judges:** a support reply against the customer's actual inbound message (passed as a reference) — does it address the real issue, hold a professional tone, give a concrete next step, and avoid leaking internal markers (deterministic regex). **Use when:** AI drafts or sends support replies and you gate before-send, or score agents/models on historical tickets.
curl -s -X POST $API/v1/rubrics -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d @templates/support-reply-quality/rubric.json
curl -s -X POST $API/v1/verify -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"rubric_id":"<id>","submission":{"inline":"<the reply>"},"options":{"wait_ms":30000}}'MCP: `verify_submit` with the reply as `submission.inline` and the inbound customer message as a reference (the `addresses_the_issue` criterion is meaningless without it).