rag-grounding-check

Criteria

keytypeprimitivetier
cites_sourcesmust_haveregex_match@1
grounded_in_referencesscoredllm_judge@12
no_fabricated_factsmust_notllm_judge@12
answers_the_questionscoredllm_judge@11

rag-grounding-check

**Judges:** whether a RAG answer is grounded in its retrieved passages — citations present, every claim supported, nothing fabricated, and the actual question answered. **Use when:** you ship a RAG assistant and a wrong-but-confident answer costs you trust (support bots, doc Q&A, research copilots). Send the answer as `output` and the retrieved passages as `context` (Contract 05 roles); `reference_set_id` and inline references still work too.

curl -s -X POST $API/v1/rubrics -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d @templates/rag-grounding-check/rubric.json
# typed roles: the answer is the output; the retrieved passages travel as context
curl -s -X POST $API/v1/verify -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"rubric_id":"<id>","submission":{"output":"The refund window is 30 days [1].","context":[{"label":"policy-1","value":"Refunds are accepted within 30 days of delivery."}]},"options":{"wait_ms":45000}}'

MCP: `rubric_compile` with this rubric.json, then `verify_submit { rubric_id, submission: { output, context: [...] } }`. The legacy `submission.inline` shape still works unchanged.