← All Test Cases

XSR-002

cross source

critical
Repetitions
5
Documents
2
Questions
1
Reasoning
CROSS_SOURCE
cross_source two_hop ownership permit critical

📖 In Plain English

What this category tests

Can the brain answer questions that require combining information from 2+ documents?

How the test works

Documents form chains (e.g. Doc A: 'X9 is the velvet pouch'; Doc B: 'velvet pouch contains a silver locket'). The test asks 'what does X9 contain?' which requires Doc A → Doc B reasoning.

Why it matters

Real questions often span multiple documents. Single-doc retrieval is not enough.

⚙️ How a single rep runs

① Generate
Model creates 2 synthetic documents and 1 question with unique canary tokens
→ Fresh content per run prevents memorization and proves real retrieval
② Ingest (MCP)
Model calls brain_ingest to store the 2 documents
→ Tests the brain's storage and indexing pipeline
③ Query (MCP)
Model answers the question using brain retrieval tools (search, fetch, context_pack, etc.)
→ Core test — does the brain return correct evidence and let the model build a faithful answer?
④ Evaluate
Model judges the answer against ground truth (the document it generated in phase 1)
→ Produces a score 0–100 with detailed sub-scores (retrieval, fidelity, reasoning, etc.)

This rep is run 5 times per test run. A pass requires score ≥ 85 and no critical failures.

🔬 Technical Instructions (raw prompts sent to AI)

🔧 ① Setup Instructions 2032 chars
You are a test-data Generator AI.

Generate one self-consistent test scenario using the following structure:
  - Choose a fictional person name (e.g. "Marta Velden").
  - Choose a distinct color (e.g. "cerulean").
  - Choose a distinct object (e.g. "transit crate").
  - Choose a fictional permit ID (e.g. "PERMIT-7741-NX").

Produce exactly two documents:
  Doc A  source_id: KB-{{RUN}}-XSR-002-A-v1
         title: Ownership Record
         content: "<Person> owns the <color> <object>."

  Doc B  source_id: KB-{{RUN}}-XSR-002-B-v1
         title: Permit Registry
         content: "The owner of the <color> <object> signed <Permit-ID>."

Produce exactly one question:
  "Who signed <Permit-ID>?"

Produce the expected answer:
  question_index: 0
  correct_answer: <Person>
  required_label: "CROSS_SOURCE"
  required_source_ids: ["KB-{{RUN}}-XSR-002-A-v1", "KB-{{RUN}}-XSR-002-B-v1"]
  must_refuse: false
  notes: |
    Doc B links <Permit-ID> to the owner of the <color> <object>.
    Doc A identifies that owner as <Person>.
    Both documents are required; neither alone is sufficient.

Replace {{RUN}} with the actual run_id value.

Output ONLY this JSON (no markdown, no commentary):
{
  "run_id": "<string>",
  "test_id": "XSR-002",
  "repetition": <integer 1-5>,
  "documents": [
    {
      "source_id": "KB-<run_id>-XSR-002-A-v1",
      "title": "Ownership Record",
      "content": "<Person> owns the <color> <object>."
    },
    {
      "source_id": "KB-<run_id>-XSR-002-B-v1",
      "title": "Permit Registry",
      "content": "The owner of the <color> <object> signed <Permit-ID>."
    }
  ],
  "questions": ["Who signed <Permit-ID>?"],
  "expected_answers": [
    {
      "question_index": 0,
      "correct_answer": "<Person>",
      "required_label": "CROSS_SOURCE",
      "required_source_ids": [
        "KB-<run_id>-XSR-002-A-v1",
        "KB-<run_id>-XSR-002-B-v1"
      ],
      "must_refuse": false,
      "notes": "Doc B links the permit to the owner of the object; Doc A names that owner."
    }
  ]
}
▶ ② Execution Instructions 513 chars
Use ONLY MCP Knowledge Brain retrieval tools to answer the question below.
Do not use any external knowledge or memory.

Question: {{QUESTION}}

Return ONLY this JSON (no markdown, no commentary):
{
  "question": "<the question text>",
  "answer_value": "<your answer or null>",
  "reasoning_type": "<CROSS_SOURCE | DIRECT | UNCERTAIN | INFERRED>",
  "source_ids_used": ["<id1>", "<id2>"],
  "confidence": "<high | medium | low>",
  "explanation": "<one or two sentences describing how you reached the answer>"
}
⚖ ③ Judge Instructions 1167 chars
You are an impartial judge evaluating a Knowledge Brain retrieval test.

Ground truth:
{{SETUP_CONTEXT_JSON}}

Tested AI answer:
{{EXEC_ANSWER_JSON}}

Evaluation criteria:
1. ANSWER_CORRECT      — answer_value matches the expected person name (case-insensitive, minor spelling variation allowed).
2. REASONING_TYPE_OK   — reasoning_type is exactly "CROSS_SOURCE".
3. SOURCES_COMPLETE    — both required source_ids appear in source_ids_used.
4. NO_HALLUCINATION    — answer_value contains no information absent from the ingested documents.
5. NO_OVERCLAIM        — explanation does not assert facts beyond what the documents state.

Return ONLY this JSON (no markdown, no commentary):
{
  "test_id": "XSR-002",
  "run_id": "<from ground truth>",
  "repetition": <integer>,
  "pass": <true|false>,
  "score": <0.0-1.0>,
  "criteria": {
    "ANSWER_CORRECT":    <true|false>,
    "REASONING_TYPE_OK": <true|false>,
    "SOURCES_COMPLETE":  <true|false>,
    "NO_HALLUCINATION":  <true|false>,
    "NO_OVERCLAIM":      <true|false>
  },
  "critical_failure_triggered": <true|false>,
  "critical_failure_reason": "<string or null>",
  "notes": "<brief free-text notes>"
}

Critical Failure Conditions

Recent Run History

3 runs
When Run ID Pass Rate Avg Score Reps
2026-05-24 13:08 20260524T130808Z-kqze 100% 100.0 1/1 View →
2026-05-24 12:41 20260524T124148Z-z2do 0% 0 0/1 View →
2026-05-24 11:37 20260524T113756Z-kduj 0% 0 0/1 View →
📄 Raw YAML cases/cross_source/XSR-002.yaml
schema_version: "1.0"
test_id: "XSR-002"
category: "cross_source"
severity: "critical"
repetitions: 5
reasoning_type: "CROSS_SOURCE"
num_documents: 2
num_questions: 1
tags: [cross_source, two_hop, ownership, permit, critical]

setup_instructions: |
  You are a test-data Generator AI.

  Generate one self-consistent test scenario using the following structure:
    - Choose a fictional person name (e.g. "Marta Velden").
    - Choose a distinct color (e.g. "cerulean").
    - Choose a distinct object (e.g. "transit crate").
    - Choose a fictional permit ID (e.g. "PERMIT-7741-NX").

  Produce exactly two documents:
    Doc A  source_id: KB-{{RUN}}-XSR-002-A-v1
           title: Ownership Record
           content: "<Person> owns the <color> <object>."

    Doc B  source_id: KB-{{RUN}}-XSR-002-B-v1
           title: Permit Registry
           content: "The owner of the <color> <object> signed <Permit-ID>."

  Produce exactly one question:
    "Who signed <Permit-ID>?"

  Produce the expected answer:
    question_index: 0
    correct_answer: <Person>
    required_label: "CROSS_SOURCE"
    required_source_ids: ["KB-{{RUN}}-XSR-002-A-v1", "KB-{{RUN}}-XSR-002-B-v1"]
    must_refuse: false
    notes: |
      Doc B links <Permit-ID> to the owner of the <color> <object>.
      Doc A identifies that owner as <Person>.
      Both documents are required; neither alone is sufficient.

  Replace {{RUN}} with the actual run_id value.

  Output ONLY this JSON (no markdown, no commentary):
  {
    "run_id": "<string>",
    "test_id": "XSR-002",
    "repetition": <integer 1-5>,
    "documents": [
      {
        "source_id": "KB-<run_id>-XSR-002-A-v1",
        "title": "Ownership Record",
        "content": "<Person> owns the <color> <object>."
      },
      {
        "source_id": "KB-<run_id>-XSR-002-B-v1",
        "title": "Permit Registry",
        "content": "The owner of the <color> <object> signed <Permit-ID>."
      }
    ],
    "questions": ["Who signed <Permit-ID>?"],
    "expected_answers": [
      {
        "question_index": 0,
        "correct_answer": "<Person>",
        "required_label": "CROSS_SOURCE",
        "required_source_ids": [
          "KB-<run_id>-XSR-002-A-v1",
          "KB-<run_id>-XSR-002-B-v1"
        ],
        "must_refuse": false,
        "notes": "Doc B links the permit to the owner of the object; Doc A names that owner."
      }
    ]
  }

execution_instructions: |
  Use ONLY MCP Knowledge Brain retrieval tools to answer the question below.
  Do not use any external knowledge or memory.

  Question: {{QUESTION}}

  Return ONLY this JSON (no markdown, no commentary):
  {
    "question": "<the question text>",
    "answer_value": "<your answer or null>",
    "reasoning_type": "<CROSS_SOURCE | DIRECT | UNCERTAIN | INFERRED>",
    "source_ids_used": ["<id1>", "<id2>"],
    "confidence": "<high | medium | low>",
    "explanation": "<one or two sentences describing how you reached the answer>"
  }

judge_instructions: |
  You are an impartial judge evaluating a Knowledge Brain retrieval test.

  Ground truth:
  {{SETUP_CONTEXT_JSON}}

  Tested AI answer:
  {{EXEC_ANSWER_JSON}}

  Evaluation criteria:
  1. ANSWER_CORRECT      — answer_value matches the expected person name (case-insensitive, minor spelling variation allowed).
  2. REASONING_TYPE_OK   — reasoning_type is exactly "CROSS_SOURCE".
  3. SOURCES_COMPLETE    — both required source_ids appear in source_ids_used.
  4. NO_HALLUCINATION    — answer_value contains no information absent from the ingested documents.
  5. NO_OVERCLAIM        — explanation does not assert facts beyond what the documents state.

  Return ONLY this JSON (no markdown, no commentary):
  {
    "test_id": "XSR-002",
    "run_id": "<from ground truth>",
    "repetition": <integer>,
    "pass": <true|false>,
    "score": <0.0-1.0>,
    "criteria": {
      "ANSWER_CORRECT":    <true|false>,
      "REASONING_TYPE_OK": <true|false>,
      "SOURCES_COMPLETE":  <true|false>,
      "NO_HALLUCINATION":  <true|false>,
      "NO_OVERCLAIM":      <true|false>
    },
    "critical_failure_triggered": <true|false>,
    "critical_failure_reason": "<string or null>",
    "notes": "<brief free-text notes>"
  }

critical_failures:
  - "Answer names a person not present in any ingested document."
  - "reasoning_type is not CROSS_SOURCE."
  - "Either required source_id is missing from source_ids_used."
  - "Answer is null or empty when both documents were retrievable."