test_goals_flow_fix.pyโข4.35 kB
#!/usr/bin/env python3
"""
๐งช Test Script: Verify Goals Flow Fix for Technical Questions
"""
def test_goals_flow_fix():
"""Test if technical questions now include conversation context"""
print("๐งช TESTING GOALS FLOW FIX FOR TECHNICAL QUESTIONS")
print("=" * 70)
try:
# Test 1: Import optimized prompt generator
print("1๏ธโฃ Testing optimized prompt generator import...")
from optimized_prompt_generator import OptimizedPromptGenerator
generator = OptimizedPromptGenerator()
print("โ
OptimizedPromptGenerator imported successfully")
# Test 2: Create test context
print("\n2๏ธโฃ Testing with technical question...")
from prompt_generator import PromptContext
test_context = PromptContext(
conversation_summary="Test conversation summary",
action_history="Test action history",
tech_stack="Test tech stack",
project_plans="๐ฏ PROJECT PLANS & OBJECTIVES:\n1. Build powerful conversation tracking system โ
\n2. Implement context-aware prompt processing โ
\n3. Create intelligent memory management system โ
",
user_preferences="Test user preferences",
agent_metadata="Test agent metadata",
recent_interactions=[],
project_patterns=[],
best_practices=[],
common_issues=[],
development_workflow=[],
confidence_score=0.9,
context_type="test"
)
# Test 3: Test intent classification for technical question
print("\n3๏ธโฃ Testing intent classification for technical question...")
context_dict = generator._context_to_dict(test_context)
if generator.intent_selector:
relevant_context, intent_analysis = generator.intent_selector.select_relevant_context(
"test goals flow and updates",
context_dict
)
print(f"โ
Intent classification successful")
print(f"๐ฏ Intent: {intent_analysis.primary_intent.value}")
print(f"๐ Context requirements: {intent_analysis.context_requirements}")
print(f"๐ง Selected context: {list(relevant_context.keys())}")
else:
print("โ ๏ธ Intent selector not available")
return
# Test 4: Test full prompt generation
print("\n4๏ธโฃ Testing full prompt generation...")
try:
full_prompt = generator._create_phase1_optimized_prompt(
"test goals flow and updates",
test_context,
"smart"
)
print(f"โ
Full prompt generated")
print(f"๐ Prompt length: {len(full_prompt)}")
print(f"๐ฌ Contains context: {'๐ฌ CONTEXT:' in full_prompt}")
print(f"๐ Contains recent: {'๐ RECENT:' in full_prompt}")
print(f"๐ฏ Contains goals: {'๐ฏ GOALS:' in full_prompt}")
# Show the relevant section
if '๐ฌ CONTEXT:' in full_prompt:
context_start = full_prompt.find('๐ฌ CONTEXT:')
context_end = full_prompt.find('\n\n', context_start)
if context_end == -1:
context_end = len(full_prompt)
context_section = full_prompt[context_start:context_end]
print(f"๐ Conversation context section:\n{context_section}")
else:
print("โ No conversation context section found!")
except Exception as e:
print(f"โ Full prompt generation failed: {e}")
import traceback
traceback.print_exc()
print("\n" + "=" * 70)
print("๐งช TEST COMPLETE")
# Final assessment
if '๐ฌ CONTEXT:' in full_prompt and '๐ฏ GOALS:' in full_prompt:
print("๐ SUCCESS: Technical questions now include conversation context with goals!")
else:
print("โ FAILURE: Technical questions still missing conversation context!")
except Exception as e:
print(f"โ Error during testing: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
test_goals_flow_fix()