{
  "report_type": "cybersentinel_security_lab_scorecard",
  "lab_version": "L1.0",
  "data_mode": "synthetic",
  "disclaimer": "Synthetic laboratory results. They measure rule behaviour on 20 fictional scenarios written by the same team that wrote the rules; they are NOT evidence of real-world detection quality and make no business-readiness claim.",
  "total_scenarios": 20,
  "scenarios_loaded": 20,
  "scenarios_executed": 20,
  "scenarios_passed": 20,
  "scenarios_failed": 0,
  "by_category": {
    "A": {
      "scenarios": 4,
      "passed": 4
    },
    "B": {
      "scenarios": 4,
      "passed": 4
    },
    "C": {
      "scenarios": 4,
      "passed": 4
    },
    "D": {
      "scenarios": 4,
      "passed": 4
    },
    "E": {
      "scenarios": 4,
      "passed": 4
    }
  },
  "ground_truth_positive_findings": 15,
  "correctly_detected_findings": 15,
  "false_positives": 0,
  "false_negatives": 0,
  "precision": 1,
  "recall": 1,
  "correct_severity_classifications": {
    "correct": 15,
    "denominator": 15,
    "rate": 1
  },
  "correct_confidence_classifications": {
    "correct": 15,
    "denominator": 15,
    "rate": 1
  },
  "correct_status_classifications": {
    "correct": 15,
    "denominator": 15,
    "rate": 1
  },
  "correct_change_classifications": {
    "matched": 9,
    "expected": 9,
    "unexpected": 0,
    "rate": 1
  },
  "authorization_violations": 0,
  "confidentiality_violations": 0,
  "unsupported_confirmed_vulnerability_claims": 0,
  "outreach_generated": 0,
  "metric_definitions": {
    "precision": "TP / (TP + FP) over findings (not informational, manual-review, suppressed or warnings).",
    "recall": "TP / (TP + FN) over the expected findings of all 20 scenarios.",
    "severity": "TP whose priority equals the expected priority, divided by TP.",
    "change": "Matched expected changes / (expected changes + unexpected changes); a change is key|change|transition.",
    "scenario_pass": "All checks of the scenario pass (findings, priorities, confidence, status, sets, non-findings, changes, safety)."
  },
  "scenarios": [
    {
      "scenario_id": "LAB-01",
      "category": "A",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-02",
      "category": "A",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-03",
      "category": "A",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-04",
      "category": "A",
      "passed": true,
      "tp": 0,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-05",
      "category": "B",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-06",
      "category": "B",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-07",
      "category": "B",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-08",
      "category": "B",
      "passed": true,
      "tp": 0,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-09",
      "category": "C",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-10",
      "category": "C",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-11",
      "category": "C",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-12",
      "category": "C",
      "passed": true,
      "tp": 0,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-13",
      "category": "D",
      "passed": true,
      "tp": 0,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-14",
      "category": "D",
      "passed": true,
      "tp": 0,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-15",
      "category": "D",
      "passed": true,
      "tp": 0,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-16",
      "category": "D",
      "passed": true,
      "tp": 0,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-17",
      "category": "E",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-18",
      "category": "E",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-19",
      "category": "E",
      "passed": true,
      "tp": 1,
      "fp": 0,
      "fn": 0,
      "failures": []
    },
    {
      "scenario_id": "LAB-20",
      "category": "E",
      "passed": true,
      "tp": 3,
      "fp": 0,
      "fn": 0,
      "failures": []
    }
  ]
}
