codenuk_backend_mine/services/ai-analysis-service/verify_fixes.sh
2025-11-07 08:54:52 +05:30

94 lines
3.5 KiB
Bash
Executable File

#!/bin/bash
# Verification script for AI Analysis Service fixes
echo "========================================"
echo "AI Analysis Service - Fix Verification"
echo "========================================"
echo ""
# Check 1: Service is running with latest code
echo "1. Checking service status and restart time..."
docker-compose ps ai-analysis-service
echo ""
echo "Last service initialization:"
docker-compose logs --tail=100 ai-analysis-service | grep "AI Analysis Service initialized" | tail -1
echo ""
# Check 2: Verify no TypeError in recent logs
echo "2. Checking for TypeError in recent logs..."
ERROR_COUNT=$(docker-compose logs --tail=200 ai-analysis-service | grep -c "TypeError: sequence item" || echo "0")
if [ "$ERROR_COUNT" -eq "0" ]; then
echo "✅ No TypeError found in recent logs"
else
echo "❌ Found $ERROR_COUNT TypeError occurrences in recent logs"
echo " ACTION REQUIRED: Service may not be running latest code. Restart the service:"
echo " docker-compose restart ai-analysis-service"
fi
echo ""
# Check 3: Check MongoDB for content storage
echo "3. Checking if file content is being stored in MongoDB..."
echo " (This requires MongoDB to be accessible)"
docker-compose exec -T pipeline_mongodb mongosh -u pipeline_admin -p mongo_secure_2024 --eval "
db = db.getSiblingDB('ai_analysis_db');
var sample = db.episodic_memory.findOne({'metadata.type': 'chunk_analysis'});
if (sample && sample.metadata && sample.metadata.file_analyses) {
var hasContent = sample.metadata.file_analyses.some(fa => fa.content !== undefined && fa.content !== '');
if (hasContent) {
print('❌ ISSUE: File content found in MongoDB episodic memory');
print(' ACTION REQUIRED: Clear old data or investigate storage code');
} else {
print('✅ File content NOT stored in MongoDB (correct)');
}
} else {
print('⚠️ No chunk analysis found in episodic memory (may be empty or analysis not run yet)');
}
" 2>/dev/null || echo "⚠️ Could not connect to MongoDB to verify. Run analysis and check manually."
echo ""
# Check 4: Check recent analysis runs
echo "4. Checking recent analysis activity..."
RECENT_ANALYSIS=$(docker-compose logs --tail=50 ai-analysis-service | grep "📊 State updated" | tail -3)
if [ -z "$RECENT_ANALYSIS" ]; then
echo "⚠️ No recent analysis activity found"
else
echo "Recent analysis progress:"
echo "$RECENT_ANALYSIS"
fi
echo ""
# Check 5: Code version check
echo "5. Verifying code contains fixes..."
if grep -q "ai_response_parts_clean" services/ai-analysis-service/server.py; then
echo "✅ TypeError fix present in code (ai_response_parts_clean)"
else
echo "❌ TypeError fix NOT found in code"
fi
if grep -q "EXPLICITLY EXCLUDE 'content' field" services/ai-analysis-service/server.py; then
echo "✅ Content exclusion fix present in code"
else
echo "❌ Content exclusion fix NOT found in code"
fi
if grep -q "Store run_id in metadata for retrieval" services/ai-analysis-service/server.py; then
echo "✅ run_id storage fix present in code"
else
echo "❌ run_id storage fix NOT found in code"
fi
echo ""
# Summary
echo "========================================"
echo "Verification Complete"
echo "========================================"
echo ""
echo "If any issues were found above:"
echo "1. Restart the service: docker-compose restart ai-analysis-service"
echo "2. Run a new analysis to test the fixes"
echo "3. Check logs for any new errors: docker-compose logs -f ai-analysis-service"
echo ""
echo "For detailed fix information, see: FIXES_SUMMARY.md"
echo ""