WalkXR-AI / data_sources / memory_scenarios.yaml
memory_scenarios.yaml
Raw
# Memory-focused simulation scenarios for T3.6 Part 1
# Each scenario seeds a detail early, then tests recall at a later turn.
#
# Fields:
#   memory_seed         - detail the simulated user mentions early
#   memory_recall_turn  - turn number where recall is tested (0-indexed)
#   expected_recall     - keyword(s) the agent should reproduce. Either a single
#                         string, or a list of strings when more than one detail
#                         must be reproduced (multi-detail recall).
#   recall_question     - what the simulated user asks to trigger recall
#   qa_check_type       - validation method (contains_keyword | semantic_similarity)
#   distractor_turns    - filler messages between seed and recall to test persistence

scenarios:
  # --- Scenario 1: Personal fact recall ---
  - persona_id: "MEM-P01"
    module_id: "MEM-M01"
    prompt: >
      A person walking through their neighborhood reflects on feeling
      disconnected from the people around them.      
    emotion_before: "Lonely; reflective; wanting connection"
    ai_behavior: "Acknowledge loneliness, encourage small steps toward connection"
    tone: "Warm; gentle; non-judgmental"
    memory_seed: "My dog's name is Benny and he's the only one I talk to most days."
    memory_recall_turn: 4
    expected_recall: "Benny"
    recall_question: "Do you remember what I told you about my dog earlier?"
    qa_check_type: "contains_keyword"
    distractor_turns:
      - "Sometimes I watch people chatting at the cafe and wonder what that feels like."
      - "I used to be more social but something changed after I moved here."
      - "I think the hardest part is not having anyone to share small things with."

  # --- Scenario 2: Emotional context recall ---
  - persona_id: "MEM-P02"
    module_id: "MEM-M01"
    prompt: >
      Someone notices a stranger smiling at them on the bus and feels
      a mix of warmth and anxiety.      
    emotion_before: "Anxious; hopeful; uncertain"
    ai_behavior: "Validate mixed emotions, normalize social anxiety"
    tone: "Supportive; calm; encouraging"
    memory_seed: "I started a new job last week and I've been eating lunch alone every day."
    memory_recall_turn: 3
    expected_recall: "new job"
    recall_question: "You know how I mentioned something about my work situation — what was that about?"
    qa_check_type: "contains_keyword"
    distractor_turns:
      - "The bus ride is actually the calmest part of my day."
      - "I keep thinking about whether I should have smiled back."

  # --- Scenario 3: Preference recall ---
  - persona_id: "MEM-P03"
    module_id: "MEM-M02"
    prompt: >
      A person sitting in a park overhears a group laughing and feels
      left out but also curious.      
    emotion_before: "Wistful; self-conscious; curious"
    ai_behavior: "Gently explore the curiosity, suggest low-pressure ways to connect"
    tone: "Playful; warm; light"
    memory_seed: "I prefer when you ask me questions rather than giving advice directly."
    memory_recall_turn: 4
    expected_recall: "questions"
    recall_question: "Earlier I told you how I like to be supported — are you keeping that in mind?"
    qa_check_type: "contains_keyword"
    distractor_turns:
      - "The group was playing some card game, it looked fun."
      - "I almost went over but then I thought they'd think I was weird."
      - "Maybe I should bring a book next time so I at least look busy."

  # --- Scenario 4: Specific detail recall (name + place) ---
  - persona_id: "MEM-P04"
    module_id: "MEM-M02"
    prompt: >
      Someone walking past a coffee shop remembers a conversation
      they had with a coworker that went surprisingly well.      
    emotion_before: "Nostalgic; surprised; slightly proud"
    ai_behavior: "Affirm the positive memory, explore what made it work"
    tone: "Encouraging; reflective; warm"
    memory_seed: "It was at the Blue Bottle cafe on 5th street, and my coworker's name is Mira."
    memory_recall_turn: 3
    expected_recall: "Mira"
    recall_question: "What was the name of the person I was talking about earlier?"
    qa_check_type: "contains_keyword"
    distractor_turns:
      - "I think what surprised me was how easy it felt to just talk."
      - "Normally I overthink everything before I say it."

  # --- Scenario 5: Emotional state recall ---
  - persona_id: "MEM-P05"
    module_id: "MEM-M03"
    prompt: >
      A person waiting at a crosswalk makes eye contact with someone
      and feels an unexpected moment of connection.      
    emotion_before: "Surprised; vulnerable; open"
    ai_behavior: "Explore the feeling of unexpected connection, validate vulnerability"
    tone: "Soft; curious; present"
    memory_seed: "I've been feeling really overwhelmed since my sister moved away last month."
    memory_recall_turn: 4
    expected_recall: "sister"
    recall_question: "We talked about why I've been feeling off lately — can you remind me what I shared?"
    qa_check_type: "contains_keyword"
    distractor_turns:
      - "That eye contact moment was weird but kind of nice."
      - "I don't usually notice strangers but today felt different."
      - "Maybe I'm just more open because I've been feeling so alone."

  # --- Scenario 6: Multi-detail recall ---
  # Validates that the agent reproduces *both* seeded facts (origin + duration),
  # not just one — a stricter test than single-keyword recall.
  - persona_id: "MEM-P06"
    module_id: "MEM-M03"
    prompt: >
      Someone at a farmer's market hesitates to ask a vendor about
      a fruit they've never seen before.      
    emotion_before: "Curious; shy; slightly embarrassed"
    ai_behavior: "Encourage curiosity, normalize not knowing things"
    tone: "Light; playful; reassuring"
    memory_seed: "I moved here from Seoul three months ago and I'm still getting used to everything."
    memory_recall_turn: 4
    expected_recall:
      - "Seoul"
      - "three months"
    recall_question: "Where did I say I moved from, and how long ago did I say I moved? I want to see if you were paying attention."
    qa_check_type: "contains_keyword"
    distractor_turns:
      - "The market is so colorful, it's actually one of my favorite places here."
      - "I wish I knew more English words for food."
      - "Back home I never had to think this hard about buying groceries."