import re def get_assert(output, context): topic = context["vars"]["topic"] goal_count = int(context["vars"]["count"]) pattern = fr'(^|\s)\b{re.escape(topic)}\b' actual_count = len(re.findall(pattern, output.lower())) pass_result = goal_count == actual_count result = { "pass": pass_result, "score": 1 if pass_result else 0, "reason": f"Expected {topic} to appear {goal_count} times. Actual: {actual_count}", } return result