DocUA's picture
feat: Complete prompt optimization system implementation
24214fc
#!/usr/bin/env python3
"""
Simple test script for PromptController functionality.
"""
import sys
import os
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'src'))
from config.prompt_management import PromptController
from config.prompt_management.data_models import Indicator, IndicatorCategory
def test_prompt_controller():
"""Test basic PromptController functionality."""
print("Testing PromptController...")
# Initialize controller
controller = PromptController()
print("βœ“ PromptController initialized")
# Test getting a prompt configuration
config = controller.get_prompt('spiritual_monitor')
print(f"βœ“ Got prompt config for spiritual_monitor: {len(config.base_prompt)} chars")
print(f"βœ“ Shared indicators: {len(config.shared_indicators)}")
print(f"βœ“ Shared rules: {len(config.shared_rules)}")
print(f"βœ“ Templates: {len(config.templates)}")
# Test session override
session_id = "test_session_123"
test_prompt = "This is a test session override prompt."
success = controller.set_session_override('spiritual_monitor', test_prompt, session_id)
print(f"βœ“ Session override set: {success}")
# Get prompt with session override
session_config = controller.get_prompt('spiritual_monitor', session_id=session_id)
print(f"βœ“ Session override active: {session_config.session_override is not None}")
# Test validation
validation_result = controller.validate_consistency()
print(f"βœ“ Validation result: {validation_result.is_valid}")
if validation_result.errors:
print(f" Errors: {validation_result.errors}")
if validation_result.warnings:
print(f" Warnings: {validation_result.warnings}")
# Test performance metrics
controller.log_performance_metric('spiritual_monitor', 0.5, 0.85)
metrics = controller.get_performance_metrics('spiritual_monitor')
print(f"βœ“ Performance metrics: {metrics['total_executions']} executions")
# Test available agents
agents = controller.list_available_agents()
print(f"βœ“ Available agents: {agents}")
# Clean up session
controller.clear_session_overrides(session_id)
print("βœ“ Session overrides cleared")
print("\nAll tests passed! βœ“")
if __name__ == "__main__":
test_prompt_controller()