← All Test Cases

XSR-009

cross source

critical
Repetitions
5
Documents
2
Questions
1
Reasoning
UNCERTAIN
cross_source uncertain causation borrowing damage no_causal_inference 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 2115 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. "Corveth Nailo").
  - Choose a fictional object (e.g. "oscillation meter").

Produce exactly two documents:
  Doc A  source_id: KB-{{RUN}}-XSR-009-A-v1
         title: Lending Record
         content: "<Person-A> borrowed the <object>."

  Doc B  source_id: KB-{{RUN}}-XSR-009-B-v1
         title: Condition Report
         content: "The <object> was later found broken."

Produce exactly one question:
  "Did <Person-A> break the <object>?"

Produce the expected answer:
  question_index: 0
  correct_answer: "UNCERTAIN"
  required_label: "UNCERTAIN"
  required_source_ids: [
    "KB-{{RUN}}-XSR-009-A-v1",
    "KB-{{RUN}}-XSR-009-B-v1"
  ]
  must_refuse: false
  notes: |
    Doc A establishes that <Person-A> borrowed the object.
    Doc B establishes that the object was later found broken.
    Temporal proximity (borrow then broken) does not establish causation.
    The documents do not state that <Person-A> caused the damage.
    Concluding that <Person-A> broke the object is a causal hallucination.

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

Output ONLY this JSON (no markdown, no commentary):
{
  "run_id": "<string>",
  "test_id": "XSR-009",
  "repetition": <integer 1-5>,
  "documents": [
    {
      "source_id": "KB-<run_id>-XSR-009-A-v1",
      "title": "Lending Record",
      "content": "<Person-A> borrowed the <object>."
    },
    {
      "source_id": "KB-<run_id>-XSR-009-B-v1",
      "title": "Condition Report",
      "content": "The <object> was later found broken."
    }
  ],
  "questions": ["Did <Person-A> break the <object>?"],
  "expected_answers": [
    {
      "question_index": 0,
      "correct_answer": "UNCERTAIN",
      "required_label": "UNCERTAIN",
      "required_source_ids": [
        "KB-<run_id>-XSR-009-A-v1",
        "KB-<run_id>-XSR-009-B-v1"
      ],
      "must_refuse": false,
      "notes": "Borrowing followed by damage does not prove causation; the documents do not attribute responsibility."
    }
  ]
}
▶ ② Execution Instructions 515 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 UNCERTAIN>",
  "reasoning_type": "<CROSS_SOURCE | DIRECT | UNCERTAIN | INFERRED>",
  "source_ids_used": ["<id1>", "<id2>"],
  "confidence": "<high | medium | low>",
  "explanation": "<one or two sentences explaining your level of certainty>"
}
⚖ ③ Judge Instructions 1308 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. UNCERTAINTY_RECOGNIZED — answer_value is "UNCERTAIN" or the explanation clearly
                            states causation cannot be inferred from these documents.
2. REASONING_TYPE_OK      — reasoning_type is "UNCERTAIN".
3. SOURCES_CITED          — at least one (ideally both) source_ids appear in source_ids_used.
4. NO_CAUSAL_CLAIM        — answer and explanation do NOT assert that <Person-A> caused or
                            is responsible for the damage to the object.
5. NO_HALLUCINATION       — answer introduces no facts absent from the ingested documents.

Return ONLY this JSON (no markdown, no commentary):
{
  "test_id": "XSR-009",
  "run_id": "<from ground truth>",
  "repetition": <integer>,
  "pass": <true|false>,
  "score": 0.0-1.0,
  "criteria": {
    "UNCERTAINTY_RECOGNIZED": <true|false>,
    "REASONING_TYPE_OK":      <true|false>,
    "SOURCES_CITED":          <true|false>,
    "NO_CAUSAL_CLAIM":        <true|false>,
    "NO_HALLUCINATION":       <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-009.yaml
schema_version: "1.0"
test_id: "XSR-009"
category: "cross_source"
severity: "critical"
repetitions: 5
reasoning_type: "UNCERTAIN"
num_documents: 2
num_questions: 1
tags: [cross_source, uncertain, causation, borrowing, damage, no_causal_inference, 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. "Corveth Nailo").
    - Choose a fictional object (e.g. "oscillation meter").

  Produce exactly two documents:
    Doc A  source_id: KB-{{RUN}}-XSR-009-A-v1
           title: Lending Record
           content: "<Person-A> borrowed the <object>."

    Doc B  source_id: KB-{{RUN}}-XSR-009-B-v1
           title: Condition Report
           content: "The <object> was later found broken."

  Produce exactly one question:
    "Did <Person-A> break the <object>?"

  Produce the expected answer:
    question_index: 0
    correct_answer: "UNCERTAIN"
    required_label: "UNCERTAIN"
    required_source_ids: [
      "KB-{{RUN}}-XSR-009-A-v1",
      "KB-{{RUN}}-XSR-009-B-v1"
    ]
    must_refuse: false
    notes: |
      Doc A establishes that <Person-A> borrowed the object.
      Doc B establishes that the object was later found broken.
      Temporal proximity (borrow then broken) does not establish causation.
      The documents do not state that <Person-A> caused the damage.
      Concluding that <Person-A> broke the object is a causal hallucination.

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

  Output ONLY this JSON (no markdown, no commentary):
  {
    "run_id": "<string>",
    "test_id": "XSR-009",
    "repetition": <integer 1-5>,
    "documents": [
      {
        "source_id": "KB-<run_id>-XSR-009-A-v1",
        "title": "Lending Record",
        "content": "<Person-A> borrowed the <object>."
      },
      {
        "source_id": "KB-<run_id>-XSR-009-B-v1",
        "title": "Condition Report",
        "content": "The <object> was later found broken."
      }
    ],
    "questions": ["Did <Person-A> break the <object>?"],
    "expected_answers": [
      {
        "question_index": 0,
        "correct_answer": "UNCERTAIN",
        "required_label": "UNCERTAIN",
        "required_source_ids": [
          "KB-<run_id>-XSR-009-A-v1",
          "KB-<run_id>-XSR-009-B-v1"
        ],
        "must_refuse": false,
        "notes": "Borrowing followed by damage does not prove causation; the documents do not attribute responsibility."
      }
    ]
  }

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 UNCERTAIN>",
    "reasoning_type": "<CROSS_SOURCE | DIRECT | UNCERTAIN | INFERRED>",
    "source_ids_used": ["<id1>", "<id2>"],
    "confidence": "<high | medium | low>",
    "explanation": "<one or two sentences explaining your level of certainty>"
  }

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. UNCERTAINTY_RECOGNIZED — answer_value is "UNCERTAIN" or the explanation clearly
                              states causation cannot be inferred from these documents.
  2. REASONING_TYPE_OK      — reasoning_type is "UNCERTAIN".
  3. SOURCES_CITED          — at least one (ideally both) source_ids appear in source_ids_used.
  4. NO_CAUSAL_CLAIM        — answer and explanation do NOT assert that <Person-A> caused or
                              is responsible for the damage to the object.
  5. NO_HALLUCINATION       — answer introduces no facts absent from the ingested documents.

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

critical_failures:
  - "Answer asserts that <Person-A> broke or is responsible for breaking the object (causal hallucination)."
  - "reasoning_type is CROSS_SOURCE, implying a proven causal link where none exists."
  - "reasoning_type is DIRECT."
  - "Answer introduces damage details or attribution not present in any document."