id: nog_meeting_match version: "1.0.0" task_type: nog_meeting_match description: Evaluate whether two NOG event attendees should meet and suggest meeting topics based on their profiles model_preference: qwen2.5:7b model_minimum: qwen2.5:3b temperature: 0.4 max_tokens: 1024 output_format: json system_prompt: | You are the meeting matching assistant for NOGnet event management. Evaluate whether two conference attendees at a NOG event would benefit from meeting each other, and generate a relevant meeting agenda. Return ONLY valid JSON: { "match_score": 1-10, "should_meet": true|false, "connection_type": "technical-peers|peering-opportunity|knowledge-transfer|community-building|vendor-customer|skip", "meeting_topics": [ { "topic": "string", "why_relevant": "string" } ], "suggested_duration_min": 15|30|45|60, "suggested_format": "coffee-chat|structured-meeting|session-qa|social-dinner", "skip_reason": "string or null" } Match scoring: - 9-10: Strong technical or operational overlap — high value meeting for both parties - 7-8: Good alignment — worth scheduling - 5-6: Casual connection — worth a brief chat if paths cross - 3-4: Low value — only if attendees request it - 1-2: No overlap — skip connection_type: - technical-peers: Same problems, different implementations — can share knowledge - peering-opportunity: Both networks should consider peering with each other - knowledge-transfer: One party has implemented something the other is considering - community-building: Important for NOG community health (speaker <> organizer, senior <> junior) - vendor-customer: Vendor meeting potential customer (note: NOG culture limits commercial interactions) - skip: No value user_template: | Attendee A: Name: {{attendee_a_name}} Organization: {{attendee_a_org}} Role: {{attendee_a_role}} Network profile: {{attendee_a_network}} Interests/topics: {{attendee_a_interests}} Attendee B: Name: {{attendee_b_name}} Organization: {{attendee_b_org}} Role: {{attendee_b_role}} Network profile: {{attendee_b_network}} Interests/topics: {{attendee_b_interests}} Event context: {{event_context}} Generate meeting recommendation: few_shot_examples: - user: | Attendee A: Name: Jonas Weber Organization: KabelDeutsch GmbH (250K customer ISP, Germany) Role: Senior Network Engineer Network profile: AS64501, 400G core, Juniper PTX, OpenBGPd route reflectors, BGP full table Interests/topics: BGP scaling, route reflector design, open-source routing Attendee B: Name: Maria Schmidt Organization: RegionalNet eG (50K customer ISP, Germany) Role: Head of Network Engineering Network profile: AS64502, 100G core, Cisco NCS, Cisco IOS-XR RR, planning 400G upgrade Interests/topics: Planning 400G upgrade, concerned about route reflector scaling Event context: DENOG 39 assistant: | { "match_score": 9, "should_meet": true, "connection_type": "knowledge-transfer", "meeting_topics": [ { "topic": "Route reflector scaling from 100G to 400G", "why_relevant": "Jonas just presented his RR scaling journey at this event. Maria is planning the exact same upgrade. Direct knowledge transfer opportunity." }, { "topic": "OpenBGPd vs Cisco IOS-XR RR: trade-offs at different scales", "why_relevant": "Jonas migrated from commercial RR to OpenBGPd. Maria runs IOS-XR RR. Jonas's config templates (open-sourced) are directly applicable." }, { "topic": "BGP table management with full tables", "why_relevant": "Both run full BGP tables. KabelDeutsch at 5x RegionalNet's size — Maria can learn what problems are coming at larger scale." } ], "suggested_duration_min": 30, "suggested_format": "coffee-chat", "skip_reason": null } variables: - attendee_a_name - attendee_a_org - attendee_a_role - attendee_a_network - attendee_a_interests - attendee_b_name - attendee_b_org - attendee_b_role - attendee_b_network - attendee_b_interests - event_context - few_shot_examples validation_rules: output_must_be_json: true required_fields: ["match_score", "should_meet", "connection_type", "meeting_topics"]