# Question labelling template for PB-RAG-11-01 (Decide whether GraphRAG is worth it).
# Copy this file, then add one entry per client question (30 or more in total).
# score_by_type.py reads it; keep the field names unchanged.

corpus: '${CORPUS_NAME}'
labelled_by: '${LABELLER_ROLE}'     # a role, never a person's name
labelled_on: 'YYYY-MM-DD'

# The three question types. Give every question exactly one of these keys.
# Full definitions, examples and labelling rules: PB-RAG-11-01, section 4, "The three question types".
#   one_place             Test: you can mark the whole answer in one passage of one document.
#   connect_the_dots      Test: you need several passages, and each one leads you to the next.
#   whole_corpus_summary  Test: there is no passage to mark; you must read and summarise most documents.
# If a question fits two types, choose the harder one (summary, then connect the dots, then one place).
# A question that asks two separate things, each in one place, is not connect_the_dots: split it into two one_place questions.
types:
  one_place: The answer sits in one passage of one document.
  connect_the_dots: The answer links facts from two or more passages or documents.
  whole_corpus_summary: The answer needs themes or patterns from most of the corpus.

# priority: high means a wrong answer to this question matters to the client.
questions:
  - id: Q01
    type: one_place
    priority: normal
    question: '${QUESTION_TEXT}'
    expected_answer: '${EXPECTED_ANSWER}'
    source_documents:
      - '${DOCUMENT_ID}'

  - id: Q02
    type: connect_the_dots
    priority: high
    question: '${QUESTION_TEXT}'
    expected_answer: '${EXPECTED_ANSWER}'
    source_documents:
      - '${DOCUMENT_ID_1}'
      - '${DOCUMENT_ID_2}'

  - id: Q03
    type: whole_corpus_summary
    priority: high
    question: '${QUESTION_TEXT}'
    expected_answer: '${EXPECTED_KEY_POINTS}'
    source_documents: []    # empty: the answer draws on most of the corpus
