{
  "generated_at": "2026-05-09 16:29:47 PDT",
  "lookback_days": 30,
  "gh_available": true,
  "run_counts": {
    "total": 1000,
    "completed": 941,
    "success": 18,
    "failure": 26,
    "cancelled": 897
  },
  "success_rate_strict": 41,
  "success_rate_loose": 2,
  "queue_depth_trend": [
    {
      "date": "2026-05-09",
      "count": 54
    }
  ],
  "failure_rate_by_workflow": [
    {
      "workflow": ".github/workflows/rebase-fanout.yml",
      "total": 15,
      "failed": 15,
      "cancelled": 0,
      "success": 0,
      "failure_rate_pct": 100,
      "cancel_rate_pct": 0
    },
    {
      "workflow": "PR Throughput Dashboard",
      "total": 1,
      "failed": 1,
      "cancelled": 0,
      "success": 0,
      "failure_rate_pct": 100,
      "cancel_rate_pct": 0
    },
    {
      "workflow": "PR Tracker Validator",
      "total": 11,
      "failed": 4,
      "cancelled": 7,
      "success": 0,
      "failure_rate_pct": 100,
      "cancel_rate_pct": 63.63636363636363
    },
    {
      "workflow": "lint-suite",
      "total": 6,
      "failed": 4,
      "cancelled": 2,
      "success": 0,
      "failure_rate_pct": 100,
      "cancel_rate_pct": 33.333333333333336
    },
    {
      "workflow": "PR Meta Checks",
      "total": 10,
      "failed": 2,
      "cancelled": 7,
      "success": 1,
      "failure_rate_pct": 66.66666666666667,
      "cancel_rate_pct": 70
    },
    {
      "workflow": "Auto-flip kanban Status to Done on PR merge",
      "total": 7,
      "failed": 0,
      "cancelled": 0,
      "success": 7,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 0
    },
    {
      "workflow": "Auto-merge pipeline",
      "total": 3,
      "failed": 0,
      "cancelled": 3,
      "success": 0,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 100
    },
    {
      "workflow": "CI Cascade-Blocked Alarm",
      "total": 1,
      "failed": 0,
      "cancelled": 1,
      "success": 0,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 100
    },
    {
      "workflow": "CI Dashboard",
      "total": 418,
      "failed": 0,
      "cancelled": 418,
      "success": 0,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 100
    },
    {
      "workflow": "Core Tests",
      "total": 9,
      "failed": 0,
      "cancelled": 6,
      "success": 3,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 66.66666666666667
    },
    {
      "workflow": "Health Monitors",
      "total": 9,
      "failed": 0,
      "cancelled": 9,
      "success": 0,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 100
    },
    {
      "workflow": "Project Board Automation",
      "total": 14,
      "failed": 0,
      "cancelled": 14,
      "success": 0,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 100
    },
    {
      "workflow": "Quality Dashboard Update",
      "total": 420,
      "failed": 0,
      "cancelled": 420,
      "success": 0,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 100
    },
    {
      "workflow": "Security Suite",
      "total": 5,
      "failed": 0,
      "cancelled": 5,
      "success": 0,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 100
    },
    {
      "workflow": "Status-Flip Lint (warn-only)",
      "total": 4,
      "failed": 0,
      "cancelled": 0,
      "success": 4,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 0
    },
    {
      "workflow": "Type-error count",
      "total": 8,
      "failed": 0,
      "cancelled": 5,
      "success": 3,
      "failure_rate_pct": 0,
      "cancel_rate_pct": 62.5
    }
  ],
  "time_to_green_minutes": {
    "p50_minutes": 0.25,
    "p95_minutes": 175.73333333333332,
    "sample_size": 18
  },
  "top_5_highest_failure_rate": [
    {
      "workflow": ".github/workflows/rebase-fanout.yml",
      "total": 15,
      "failed": 15,
      "cancelled": 0,
      "success": 0,
      "failure_rate_strict": 100
    }
  ],
  "pr_cycle_time_minutes": {
    "merged_count": 0,
    "avg_minutes": null,
    "p50_minutes": null,
    "p95_minutes": null
  },
  "stuck_jobs": [],
  "metric_semantics": {
    "success_rate_strict": "PRIMARY: success / (success + failure). Excludes cancellations. Use this for CI health.",
    "success_rate_loose": "SECONDARY: success / completed. Cancellations count against this rate.",
    "failure_rate_by_workflow_note": "failure_rate_pct = failed / (success + failed) per workflow. cancel_rate_pct = cancelled / total.",
    "top_5_note": "Sorted by strict failure rate. Workflows with <5 non-cancelled runs excluded."
  },
  "display": {
    "success_rate_strict": "41%",
    "cancel_pct": "95%",
    "ttg_p50": "0.2 min",
    "ttg_p95": "175.7 min",
    "pr_avg": "n/a",
    "pr_p50": "n/a",
    "pr_p95": "n/a",
    "generated_at": "2026-05-09 16:29:47 PDT"
  }
}
