OptimAIze Debug Tool";
echo "";
try {
$auth = new Auth();
if (!$auth->isLoggedIn()) {
die("
❌ Please log in first
");
}
$db = Database::getInstance();
echo "
✅ Authentication and Database OK
";
// Check 1: Database Tables and Structure
echo "
";
echo "
1. Database Structure Check
";
$requiredTables = ['panel_directives', 'optimization_analysis_state', 'attributes'];
foreach ($requiredTables as $table) {
$result = $db->query("SHOW TABLES LIKE '$table'");
if ($result && $result->num_rows > 0) {
echo "
✅ Table '$table' exists
";
} else {
echo "
❌ Table '$table' missing
";
}
}
// Check required columns
$checkColumns = [
'optimization_analysis_state' => ['should_pause'],
'panel_directives' => ['llm_checked', 'is_impossible', 'llm_reasoning']
];
foreach ($checkColumns as $table => $columns) {
foreach ($columns as $column) {
$result = $db->query("SHOW COLUMNS FROM $table LIKE '$column'");
if ($result && $result->num_rows > 0) {
echo "
✅ Column $table.$column exists
";
} else {
echo "
❌ Column $table.$column missing
";
}
}
}
echo "
";
// Check 2: Current Data Status
echo "
";
echo "
2. Current Data Status
";
$totalDirectives = $db->query("SELECT COUNT(*) as count FROM panel_directives")->fetch_assoc()['count'];
$checkedDirectives = $db->query("SELECT COUNT(*) as count FROM panel_directives WHERE llm_checked = 1")->fetch_assoc()['count'];
$impossibleDirectives = $db->query("SELECT COUNT(*) as count FROM panel_directives WHERE llm_checked = 1 AND is_impossible = 1")->fetch_assoc()['count'];
$attributeCount = $db->query("SELECT COUNT(*) as count FROM attributes")->fetch_assoc()['count'];
echo "
📊 Total Directives: " . number_format($totalDirectives) . "
📊 Available Attributes: " . number_format($attributeCount) . "
";
if ($totalDirectives == 0) {
echo "
⚠️ No directives found. Click button below to generate combinations.
";
echo "";
}
if ($attributeCount < 2) {
echo "
❌ Need at least 2 attributes for analysis
";
}
echo "
";
// Check 3: Analysis State
echo "
";
echo "
3. Analysis State
";
$analysisState = $db->query("SELECT * FROM optimization_analysis_state ORDER BY id DESC LIMIT 1");
if ($analysisState && $analysisState->num_rows > 0) {
$state = $analysisState->fetch_assoc();
echo "