opencompletion.com/research/activity3.yaml
Russell Ballestrini 51b74be7d9 Fix YAML validator and activity file validation errors
- Updated validator terminal step detection to only flag truly terminal steps
- Fixed validator to accept integers and booleans in buckets (as supported by app.py)
- Fixed metadata_remove format in activity17 from dictionary to list of strings
- Added proper terminal section to activity3.yaml without questions/buckets
- Fixed missing restart transition and bucket in activity28
- Removed unused game_end transitions from battleship files
- Updated exit transitions to go directly to step_4 (goodbye step)
- Applied black formatting to validator code

All 30 activity YAML files now validate successfully with 0 errors and 0 warnings.
2025-08-10 19:38:50 -04:00

302 lines
16 KiB
YAML

default_max_attempts_per_step: 3
sections:
- section_id: "section_1"
title: "Introduction to Elephants"
steps:
- step_id: "step_1"
title: "What is an Elephant?"
content_blocks:
- "Welcome to the world of elephants!"
- "Elephants are the largest land animals on Earth. They are known for their big ears, long trunks, and tusks."
tokens_for_ai: "Explain what an elephant is and its key features in a friendly and engaging manner suitable for a 7-year-old. If any part of the user's answer is correct and on-topic, categorize it as 'correct'."
question: "What do you know about elephants?"
buckets:
- correct
- partial_understanding
- off_topic
- asking_clarifying_questions
transitions:
correct:
content_blocks:
- "Great! You know a lot about elephants."
ai_feedback:
tokens_for_ai: "Provide positive reinforcement and encourage the child to continue learning."
partial_understanding:
content_blocks:
- "You know a little about elephants. Let's learn more!"
ai_feedback:
tokens_for_ai: "Provide additional information to clarify the child's understanding in a friendly and supportive manner."
off_topic:
content_blocks:
- "It seems like your response is off-topic. Let's try to stay focused on elephants."
ai_feedback:
tokens_for_ai: "Gently guide the child back to the topic of elephants in a supportive manner."
asking_clarifying_questions:
content_blocks:
- "I see you have some questions. Let's answer them."
ai_feedback:
tokens_for_ai: "Answer the child's clarifying questions and provide additional information in a friendly and engaging manner."
- step_id: "step_2"
title: "Where Do Elephants Live?"
content_blocks:
- "Elephants live in different parts of the world."
- "There are two main types of elephants: African elephants and Asian elephants."
- "African elephants live in Africa, and Asian elephants live in Asia."
tokens_for_ai: "Explain where elephants live and the difference between African and Asian elephants in a friendly and engaging manner suitable for a 7-year-old. If any part of the user's answer is correct and on-topic, categorize it as 'correct'."
question: "Can you name the two types of elephants and where they live?"
buckets:
- correct
- partial_understanding
- off_topic
- asking_clarifying_questions
transitions:
correct:
content_blocks:
- "Excellent! You know where elephants live."
ai_feedback:
tokens_for_ai: "Provide positive reinforcement and encourage the child to continue learning."
partial_understanding:
content_blocks:
- "You know a little about where elephants live. Let's learn more!"
ai_feedback:
tokens_for_ai: "Provide additional information to clarify the child's understanding in a friendly and supportive manner."
off_topic:
content_blocks:
- "It seems like your response is off-topic. Let's try to stay focused on where elephants live."
ai_feedback:
tokens_for_ai: "Gently guide the child back to the topic of where elephants live in a supportive manner."
asking_clarifying_questions:
content_blocks:
- "I see you have some questions. Let's answer them."
ai_feedback:
tokens_for_ai: "Answer the child's clarifying questions and provide additional information in a friendly and engaging manner."
- section_id: "section_2"
title: "Elephant Anatomy"
steps:
- step_id: "step_1"
title: "Elephant Trunks"
content_blocks:
- "Elephants have long trunks that they use for many things."
- "They use their trunks to drink water, pick up food, and even to greet other elephants."
tokens_for_ai: "Explain the uses of an elephant's trunk in a friendly and engaging manner suitable for a 7-year-old. If any part of the user's answer is correct and on-topic, categorize it as 'correct'."
question: "What do elephants use their trunks for?"
buckets:
- correct
- partial_understanding
- off_topic
- asking_clarifying_questions
transitions:
correct:
content_blocks:
- "Great! You know how elephants use their trunks."
ai_feedback:
tokens_for_ai: "Provide positive reinforcement and encourage the child to continue learning."
partial_understanding:
content_blocks:
- "You know a little about how elephants use their trunks. Let's learn more!"
ai_feedback:
tokens_for_ai: "Provide additional information to clarify the child's understanding in a friendly and supportive manner."
off_topic:
content_blocks:
- "It seems like your response is off-topic. Let's try to stay focused on elephant trunks."
ai_feedback:
tokens_for_ai: "Gently guide the child back to the topic of elephant trunks in a supportive manner."
asking_clarifying_questions:
content_blocks:
- "I see you have some questions. Let's answer them."
ai_feedback:
tokens_for_ai: "Answer the child's clarifying questions and provide additional information in a friendly and engaging manner."
- step_id: "step_2"
title: "Elephant Ears"
content_blocks:
- "Elephants have big ears that help them stay cool."
- "They flap their ears to fan themselves and keep their bodies cool."
tokens_for_ai: "Explain the purpose of an elephant's ears in a friendly and engaging manner suitable for a 7-year-old. If any part of the user's answer is correct and on-topic, categorize it as 'correct'."
question: "Why do elephants have big ears?"
buckets:
- correct
- partial_understanding
- off_topic
- asking_clarifying_questions
transitions:
correct:
content_blocks:
- "Excellent! You know why elephants have big ears."
ai_feedback:
tokens_for_ai: "Provide positive reinforcement and encourage the child to continue learning."
partial_understanding:
content_blocks:
- "You know a little about why elephants have big ears. Let's learn more!"
ai_feedback:
tokens_for_ai: "Provide additional information to clarify the child's understanding in a friendly and supportive manner."
off_topic:
content_blocks:
- "It seems like your response is off-topic. Let's try to stay focused on elephant ears."
ai_feedback:
tokens_for_ai: "Gently guide the child back to the topic of elephant ears in a supportive manner."
asking_clarifying_questions:
content_blocks:
- "I see you have some questions. Let's answer them."
ai_feedback:
tokens_for_ai: "Answer the child's clarifying questions and provide additional information in a friendly and engaging manner."
- section_id: "section_3"
title: "Elephant Behavior"
steps:
- step_id: "step_1"
title: "Elephant Families"
content_blocks:
- "Elephants live in groups called herds."
- "A herd is usually led by the oldest female elephant, called the matriarch."
tokens_for_ai: "Explain the social structure of elephant herds in a friendly and engaging manner suitable for a 7-year-old. If any part of the user's answer is correct and on-topic, categorize it as 'correct'."
question: "What is a group of elephants called and who leads it?"
buckets:
- correct
- partial_understanding
- off_topic
- asking_clarifying_questions
transitions:
correct:
content_blocks:
- "Great! You know about elephant families."
ai_feedback:
tokens_for_ai: "Provide positive reinforcement and encourage the child to continue learning."
partial_understanding:
content_blocks:
- "You know a little about elephant families. Let's learn more!"
ai_feedback:
tokens_for_ai: "Provide additional information to clarify the child's understanding in a friendly and supportive manner."
off_topic:
content_blocks:
- "It seems like your response is off-topic. Let's try to stay focused on elephant families."
ai_feedback:
tokens_for_ai: "Gently guide the child back to the topic of elephant families in a supportive manner."
asking_clarifying_questions:
content_blocks:
- "I see you have some questions. Let's answer them."
ai_feedback:
tokens_for_ai: "Answer the child's clarifying questions and provide additional information in a friendly and engaging manner."
- step_id: "step_2"
title: "Elephant Communication"
content_blocks:
- "Elephants communicate with each other using sounds, touch, and even vibrations."
- "They can make loud trumpeting sounds and low rumbles that humans can't hear."
tokens_for_ai: "Explain how elephants communicate in a friendly and engaging manner suitable for a 7-year-old. If any part of the user's answer is correct and on-topic, categorize it as 'correct'."
question: "How do elephants communicate with each other?"
buckets:
- correct
- partial_understanding
- off_topic
- asking_clarifying_questions
transitions:
correct:
content_blocks:
- "Excellent! You know how elephants communicate."
ai_feedback:
tokens_for_ai: "Provide positive reinforcement and encourage the child to continue learning."
partial_understanding:
content_blocks:
- "You know a little about how elephants communicate. Let's learn more!"
ai_feedback:
tokens_for_ai: "Provide additional information to clarify the child's understanding in a friendly and supportive manner."
off_topic:
content_blocks:
- "It seems like your response is off-topic. Let's try to stay focused on elephant communication."
ai_feedback:
tokens_for_ai: "Gently guide the child back to the topic of elephant communication in a supportive manner."
asking_clarifying_questions:
content_blocks:
- "I see you have some questions. Let's answer them."
ai_feedback:
tokens_for_ai: "Answer the child's clarifying questions and provide additional information in a friendly and engaging manner."
- section_id: "section_4"
title: "Elephant Conservation"
steps:
- step_id: "step_1"
title: "Why Elephants Need Our Help"
content_blocks:
- "Elephants are amazing animals, but they need our help to survive."
- "Many elephants are in danger because of habitat loss and poaching."
tokens_for_ai: "Explain why elephants need our help and the threats they face in a friendly and engaging manner suitable for a 7-year-old. If any part of the user's answer is correct and on-topic, categorize it as 'correct'."
question: "Why do elephants need our help?"
buckets:
- correct
- partial_understanding
- off_topic
- asking_clarifying_questions
transitions:
correct:
content_blocks:
- "Great! You understand why elephants need our help."
ai_feedback:
tokens_for_ai: "Provide positive reinforcement and encourage the child to continue learning."
partial_understanding:
content_blocks:
- "You know a little about why elephants need our help. Let's learn more!"
ai_feedback:
tokens_for_ai: "Provide additional information to clarify the child's understanding in a friendly and supportive manner."
off_topic:
content_blocks:
- "It seems like your response is off-topic. Let's try to stay focused on why elephants need our help."
ai_feedback:
tokens_for_ai: "Gently guide the child back to the topic of why elephants need our help in a supportive manner."
asking_clarifying_questions:
content_blocks:
- "I see you have some questions. Let's answer them."
ai_feedback:
tokens_for_ai: "Answer the child's clarifying questions and provide additional information in a friendly and engaging manner."
- step_id: "step_2"
title: "How We Can Help Elephants"
content_blocks:
- "There are many ways we can help elephants."
- "We can support organizations that protect elephants, learn more about them, and spread the word to others."
tokens_for_ai: "Explain how we can help elephants in a friendly and engaging manner suitable for a 7-year-old. If any part of the user's answer is correct and on-topic, categorize it as 'correct'."
question: "Can you think of ways to help elephants?"
buckets:
- correct
- partial_understanding
- off_topic
- asking_clarifying_questions
transitions:
correct:
content_blocks:
- "Excellent! You have great ideas to help elephants."
ai_feedback:
tokens_for_ai: "Provide positive reinforcement and encourage the child to continue learning."
partial_understanding:
content_blocks:
- "You have some good ideas. Let's think of more ways to help elephants."
ai_feedback:
tokens_for_ai: "Provide additional suggestions to help the child think of more ways to help elephants in a friendly and supportive manner."
off_topic:
content_blocks:
- "It seems like your response is off-topic. Let's try to stay focused on how we can help elephants."
ai_feedback:
tokens_for_ai: "Gently guide the child back to the topic of how we can help elephants in a supportive manner."
asking_clarifying_questions:
content_blocks:
- "I see you have some questions. Let's answer them."
ai_feedback:
tokens_for_ai: "Answer the child's clarifying questions and provide additional information in a friendly and engaging manner."
- section_id: "section_5"
title: "Congratulations!"
steps:
- step_id: "step_1"
title: "You're an Elephant Expert!"
content_blocks:
- "🎉 Congratulations! You've learned so much about elephants today!"
- "You now know:"
- "✅ What elephants look like and how big they are"
- "✅ What elephants eat with their trunks"
- "✅ How elephants communicate with each other"
- "✅ Why elephants need our help"
- "✅ Ways we can help protect elephants"
- "You're now an elephant expert! Keep learning and caring about animals! 🐘🌟"
- "Thank you for taking this journey with us!"