{
  "admin_dsn_required": false,
  "available": true,
  "benchmark_php_ttl_cache": true,
  "checks": [
    {
      "id": "scan_results_table",
      "label": "Scan-Results-Tabelle",
      "operator_action": "Datenbankverbindung in sicherer Umgebung herstellen und Preflight erneut ausführen; Artefaktstatus ist ohne DB-Verbindung nicht belegt.",
      "purpose": "Basis für Reports, Monitoring, Radar und Benchmark.",
      "ready": false,
      "required_for_performance_gate": true,
      "status": "unknown"
    },
    {
      "id": "scan_results_host_created_idx",
      "label": "Host/Created-Index",
      "operator_action": "Datenbankverbindung in sicherer Umgebung herstellen und Preflight erneut ausführen; Artefaktstatus ist ohne DB-Verbindung nicht belegt.",
      "purpose": "Schneller Zugriff auf neueste Scans eines exakt gespeicherten Hosts.",
      "ready": false,
      "required_for_performance_gate": true,
      "status": "unknown"
    },
    {
      "id": "scan_results_lower_host_created_idx",
      "label": "Lower-Host/Created-Index",
      "operator_action": "Datenbankverbindung in sicherer Umgebung herstellen und Preflight erneut ausführen; Artefaktstatus ist ohne DB-Verbindung nicht belegt.",
      "purpose": "Beschleunigt neuester Scan je Domain bei lower(host)-Ranking und Deduplizierung.",
      "ready": false,
      "required_for_performance_gate": true,
      "status": "unknown"
    },
    {
      "id": "scan_results_created_idx",
      "label": "Created-Index",
      "operator_action": "Datenbankverbindung in sicherer Umgebung herstellen und Preflight erneut ausführen; Artefaktstatus ist ohne DB-Verbindung nicht belegt.",
      "purpose": "Beschleunigt letzte Checks, Feeds und zeitbasierte Listen.",
      "ready": false,
      "required_for_performance_gate": true,
      "status": "unknown"
    },
    {
      "id": "scan_results_result_gin_idx",
      "label": "Result-GIN-Index",
      "operator_action": "Datenbankverbindung in sicherer Umgebung herstellen und Preflight erneut ausführen; Artefaktstatus ist ohne DB-Verbindung nicht belegt.",
      "purpose": "Ermöglicht JSONB-Filter auf Report-Evidenz.",
      "ready": false,
      "required_for_performance_gate": false,
      "status": "unknown"
    },
    {
      "id": "benchmark_php_ttl_cache",
      "label": "Benchmark-TTL-Cache im PHP-Reportpfad",
      "operator_action": "Weiter beobachten.",
      "purpose": "Verhindert wiederholte Full-Aggregates pro Report-Request und exportiert query_mode als Evidence.",
      "ready": true,
      "required_for_performance_gate": true,
      "status": "ready"
    }
  ],
  "database_reachable": false,
  "error_class": "connection_failed",
  "generated_at": "2026-07-14T20:54:01.625291Z",
  "migration_concurrent_index_count": 2,
  "migration_path": "infra/postgres/migrations/scan-results-performance-indexes.sql",
  "migration_required": false,
  "migration_sha256": "904c76676892ba33d5139468dfdd55371b7860447102956e92dcb8d3bc6ff500",
  "migration_sql_url": "https://saferpage.de/performance/scan-results-migration.sql",
  "migration_transaction_wrapper": false,
  "migration_uses_concurrent_indexes": true,
  "missing_artifact_count": 0,
  "missing_required_artifacts": [],
  "ok": false,
  "operator_runbook": [
    "Kurzlebigen Admin-DSN nur in einer sicheren Shell setzen; nicht in History, Projektdateien, systemd-Units oder Public-State speichern.",
    "scripts/run-scan-results-performance-preflight.sh ausführen und unknown_required_artifacts sowie missing_required_artifacts prüfen.",
    "infra/postgres/migrations/scan-results-performance-indexes.sql mit DB-Owner/Admin anwenden oder scripts/run-storage-migrations.sh nutzen.",
    "Preflight erneut ausführen; danach Report-, Monitoring- und Radar-Smokes prüfen."
  ],
  "performance_artifact_ready": false,
  "public_migration_matches_repo": true,
  "public_migration_sha256": "904c76676892ba33d5139468dfdd55371b7860447102956e92dcb8d3bc6ff500",
  "ready_artifact_count": 1,
  "required_artifact_count": 5,
  "safe_apply_command": "SAFERPAGE_MIGRATION_DATABASE_URL='<admin-dsn-from-secure-shell>' scripts/run-storage-migrations.sh",
  "safe_next_action": "Restore database connectivity in a secure environment and rerun this preflight; table and index status is currently unknown, not proven missing.",
  "safe_preflight_command": "scripts/run-scan-results-performance-preflight.sh",
  "schema": "https://saferpage.de/schemas/scan-results-performance-preflight.v1",
  "secret_policy": "No DSN, password, raw database user, host, port or report payload is exported.",
  "unknown_artifact_count": 4,
  "unknown_required_artifacts": [
    "scan_results_table",
    "scan_results_host_created_idx",
    "scan_results_lower_host_created_idx",
    "scan_results_created_idx"
  ]
}
