{
  "generated_at": "2026-10-31T19:23:54.307Z",
  "source_commit": "541f0b1cde98f824fa5ee7250192e5d69ca3dfd7",
  "inventory": {
    "ventures": 1325,
    "research_projects": 1059
  },
  "git": {
    "available": true,
    "window_days": 30,
    "merges_total": 5657,
    "merges_per_day": {
      "2026-10-02": 49,
      "2026-10-03": 56,
      "2026-10-04": 60,
      "2026-10-05": 51,
      "2026-10-06": 59,
      "2026-10-07": 57,
      "2026-10-08": 58,
      "2026-10-09": 66,
      "2026-10-10": 55,
      "2026-10-11": 49,
      "2026-10-12": 51,
      "2026-10-13": 68,
      "2026-10-14": 60,
      "2026-10-15": 222,
      "2026-10-16": 305,
      "2026-10-17": 277,
      "2026-10-18": 330,
      "2026-10-19": 341,
      "2026-10-20": 379,
      "2026-10-21": 325,
      "2026-10-22": 299,
      "2026-10-23": 299,
      "2026-10-24": 322,
      "2026-10-25": 243,
      "2026-10-26": 248,
      "2026-10-27": 224,
      "2026-10-28": 246,
      "2026-10-29": 250,
      "2026-10-30": 400,
      "2026-10-31": 198
    },
    "merges_last_24h": 304,
    "lead_time_hours": {
      "n": 7,
      "p50": 0.7,
      "p90": 53.3,
      "note": "merge commits of the last 7 days: oldest commit on the branch to the merge; squash merges are not visible here"
    },
    "reverts": 0,
    "fix_forward_merges": 40,
    "ventures_added": 748
  },
  "runs": {
    "available": true,
    "window_days": 30,
    "runs": 4251,
    "integrity_issues": 24,
    "by_track": {
      "research": {
        "runs": 1468,
        "success_rate": 0.96,
        "ci_failures_mean": 0.05,
        "measured": 761,
        "api_usd_median": 0.85,
        "active_minutes_median": 4.5,
        "leverage_median": 510.4
      },
      "ventures": {
        "runs": 1383,
        "success_rate": 0.87,
        "ci_failures_mean": 5.4,
        "measured": 410,
        "api_usd_median": 0.66,
        "active_minutes_median": 3.5,
        "leverage_median": 327.5
      },
      "process": {
        "runs": 431,
        "success_rate": 0.77,
        "ci_failures_mean": 2.86,
        "measured": 175,
        "api_usd_median": 0.48,
        "active_minutes_median": 2.1,
        "leverage_median": 145.7
      },
      "redteam": {
        "runs": 332,
        "success_rate": 0.95,
        "ci_failures_mean": null,
        "measured": 145,
        "api_usd_median": 0.42,
        "active_minutes_median": 2.1,
        "leverage_median": 213.1
      },
      "creative": {
        "runs": 251,
        "success_rate": 0.94,
        "ci_failures_mean": null,
        "measured": 99,
        "api_usd_median": 0.65,
        "active_minutes_median": 3.2,
        "leverage_median": 572.8
      },
      "explore": {
        "runs": 203,
        "success_rate": 0.95,
        "ci_failures_mean": 1,
        "measured": 65,
        "api_usd_median": 0.59,
        "active_minutes_median": 2.7,
        "leverage_median": 201
      },
      "review": {
        "runs": 123,
        "success_rate": 0.94,
        "ci_failures_mean": null,
        "measured": 53,
        "api_usd_median": 0.41,
        "active_minutes_median": 1.7,
        "leverage_median": 171
      },
      "polish": {
        "runs": 47,
        "success_rate": 0.87,
        "ci_failures_mean": null,
        "measured": 8,
        "api_usd_median": 0.5,
        "active_minutes_median": 1.4,
        "leverage_median": null
      },
      "perf": {
        "runs": 13,
        "success_rate": 0.77,
        "ci_failures_mean": null,
        "measured": 2,
        "api_usd_median": 0.45,
        "active_minutes_median": 9.3,
        "leverage_median": null
      }
    },
    "by_model": {
      "claude-sonnet-5-5": {
        "runs": 3950,
        "success_rate": 0.9,
        "ci_failures_mean": 0.01,
        "measured": 1662,
        "api_usd_median": 0.69,
        "active_minutes_median": 3.3,
        "leverage_median": 345.5
      },
      "unknown": {
        "runs": 184,
        "success_rate": 0.92,
        "ci_failures_mean": 4.5,
        "measured": 0,
        "api_usd_median": null,
        "active_minutes_median": null,
        "leverage_median": null
      },
      "claude-opus-5-5": {
        "runs": 114,
        "success_rate": 0.98,
        "ci_failures_mean": 2.71,
        "measured": 55,
        "api_usd_median": 3.46,
        "active_minutes_median": 15,
        "leverage_median": 184.1
      },
      "null": {
        "runs": 2,
        "success_rate": 0.5,
        "ci_failures_mean": null,
        "measured": 0,
        "api_usd_median": null,
        "active_minutes_median": null,
        "leverage_median": null
      },
      "redacted": {
        "runs": 1,
        "success_rate": 0,
        "ci_failures_mean": null,
        "measured": 1,
        "api_usd_median": 9.58,
        "active_minutes_median": 27.4,
        "leverage_median": 167.1
      }
    },
    "by_prompt": {
      "research/0": {
        "runs": 1284,
        "success_rate": 0.95,
        "ci_failures_mean": 0.04,
        "measured": 619,
        "api_usd_median": 0.84,
        "active_minutes_median": 4.4,
        "leverage_median": 511
      },
      "ventures/1": {
        "runs": 1095,
        "success_rate": 0.87,
        "ci_failures_mean": 6,
        "measured": 327,
        "api_usd_median": 0.66,
        "active_minutes_median": 3.5,
        "leverage_median": 327.8
      },
      "process/1": {
        "runs": 385,
        "success_rate": 0.78,
        "ci_failures_mean": 3.17,
        "measured": 168,
        "api_usd_median": 0.48,
        "active_minutes_median": 2.1,
        "leverage_median": 145.4
      },
      "redteam/0": {
        "runs": 332,
        "success_rate": 0.95,
        "ci_failures_mean": null,
        "measured": 145,
        "api_usd_median": 0.42,
        "active_minutes_median": 2.1,
        "leverage_median": 213.1
      },
      "ventures/2": {
        "runs": 256,
        "success_rate": 0.86,
        "ci_failures_mean": null,
        "measured": 82,
        "api_usd_median": 0.63,
        "active_minutes_median": 3.5,
        "leverage_median": 313.7
      },
      "creative/0": {
        "runs": 251,
        "success_rate": 0.94,
        "ci_failures_mean": null,
        "measured": 99,
        "api_usd_median": 0.65,
        "active_minutes_median": 3.2,
        "leverage_median": 572.8
      },
      "explore/0": {
        "runs": 203,
        "success_rate": 0.95,
        "ci_failures_mean": 1,
        "measured": 65,
        "api_usd_median": 0.59,
        "active_minutes_median": 2.7,
        "leverage_median": 201
      },
      "research/1": {
        "runs": 184,
        "success_rate": 0.97,
        "ci_failures_mean": 2,
        "measured": 142,
        "api_usd_median": 0.88,
        "active_minutes_median": 4.7,
        "leverage_median": 509.7
      },
      "review/1": {
        "runs": 99,
        "success_rate": 0.94,
        "ci_failures_mean": null,
        "measured": 44,
        "api_usd_median": 0.4,
        "active_minutes_median": 1.6,
        "leverage_median": 171
      },
      "polish/0": {
        "runs": 47,
        "success_rate": 0.87,
        "ci_failures_mean": null,
        "measured": 8,
        "api_usd_median": 0.5,
        "active_minutes_median": 1.4,
        "leverage_median": null
      },
      "process/2": {
        "runs": 40,
        "success_rate": 0.68,
        "ci_failures_mean": null,
        "measured": 6,
        "api_usd_median": 0.44,
        "active_minutes_median": 1.8,
        "leverage_median": null
      },
      "ventures/0": {
        "runs": 32,
        "success_rate": 0.91,
        "ci_failures_mean": 4,
        "measured": 1,
        "api_usd_median": 2.42,
        "active_minutes_median": 13.8,
        "leverage_median": 330.6
      },
      "review/2": {
        "runs": 23,
        "success_rate": 1,
        "ci_failures_mean": null,
        "measured": 9,
        "api_usd_median": 0.51,
        "active_minutes_median": 2.1,
        "leverage_median": 142.1
      },
      "perf/0": {
        "runs": 13,
        "success_rate": 0.77,
        "ci_failures_mean": null,
        "measured": 2,
        "api_usd_median": 0.45,
        "active_minutes_median": 9.3,
        "leverage_median": null
      },
      "process/0": {
        "runs": 6,
        "success_rate": 1,
        "ci_failures_mean": 1,
        "measured": 1,
        "api_usd_median": 1.4,
        "active_minutes_median": 6.6,
        "leverage_median": 285.2
      },
      "review/0": {
        "runs": 1,
        "success_rate": 0,
        "ci_failures_mean": null,
        "measured": 0,
        "api_usd_median": null,
        "active_minutes_median": null,
        "leverage_median": null
      }
    },
    "doc_friction_top": [
      [
        "research/CLAUDE.md",
        426
      ],
      [
        "CLAUDE.md",
        298
      ],
      [
        "research/PROJECTS.md",
        298
      ],
      [
        "prompts/process/prompt-1.md",
        171
      ],
      [
        "portfolio/flagships.yaml",
        156
      ],
      [
        "prompt.md",
        134
      ],
      [
        "portfolio/router/allocate.py",
        90
      ],
      [
        "prompts/review/prompt-1.md",
        87
      ]
    ]
  },
  "github": {
    "available": true,
    "prs_merged_7d": 282,
    "pr_cycle_hours": {
      "n": 282,
      "p50": 0,
      "p90": 0.3
    },
    "prs_closed_unmerged_7d": 18,
    "first_review_hours": {
      "sampled": 40,
      "reviewed": 0,
      "p50": null,
      "p90": null
    },
    "review_states": {},
    "open_prs": {
      "count": 38,
      "drafts": 16,
      "older_than_7d": 20,
      "oldest_days": 32.8,
      "recent": [
        {
          "number": 12156,
          "title": "research/build-data: milestone 4, conformal calibration on the real feeds (H2)",
          "draft": true,
          "created_at": "2026-10-31T19:20:34Z"
        },
        {
          "number": 12154,
          "title": "research/lowcomm-training: milestone 6o, keep 1/8 and 1/32 at H=64 (draft)",
          "draft": true,
          "created_at": "2026-10-31T19:13:47Z"
        },
        {
          "number": 12147,
          "title": "Adopt stranded branch claude/intelligent-volta-6n9vtz: perf: cache share-card mark coverage in drawMark",
          "draft": true,
          "created_at": "2026-10-31T18:43:36Z"
        },
        {
          "number": 12133,
          "title": "explore prompt: record JSON-LD, http:// and duplicate-id sweeps as clean",
          "draft": false,
          "created_at": "2026-10-31T17:18:47Z"
        },
        {
          "number": 12130,
          "title": "wall-framing-takeoff: schedule durations from the takeoff on the whole-house page",
          "draft": false,
          "created_at": "2026-10-31T17:09:03Z"
        },
        {
          "number": 12119,
          "title": "wall-framing-takeoff: twelve validators return an error for non-object input",
          "draft": false,
          "created_at": "2026-10-31T16:08:47Z"
        },
        {
          "number": 12038,
          "title": "process: prompt.md step 0 fallback when security-alerts branch is missing",
          "draft": false,
          "created_at": "2026-10-31T07:11:06Z"
        },
        {
          "number": 12026,
          "title": "prompts: review 2026-10-31",
          "draft": false,
          "created_at": "2026-10-31T06:10:54Z"
        },
        {
          "number": 11988,
          "title": "deploy-concurrency-check: match the Actions checker family's UI",
          "draft": true,
          "created_at": "2026-10-31T02:43:22Z"
        },
        {
          "number": 11986,
          "title": "goals.md: Direction: industrial, energy and construction",
          "draft": false,
          "created_at": "2026-10-31T02:28:38Z"
        },
        {
          "number": 11962,
          "title": "Payments rule: the owner's merchant of record, never a key; delete the routine trigger (needs owner approval)",
          "draft": false,
          "created_at": "2026-10-31T00:57:35Z"
        },
        {
          "number": 11730,
          "title": "polish: hand-written llms.txt for cra-evidence-desk",
          "draft": false,
          "created_at": "2026-10-30T09:11:23Z"
        },
        {
          "number": 11655,
          "title": "clonescan: rename dupehound (crates.io name taken) + gated crates.io publish workflow",
          "draft": true,
          "created_at": "2026-10-30T03:33:50Z"
        },
        {
          "number": 11337,
          "title": "Adopt stranded branch claude/focused-dijkstra-6gtv0g: regen.mjs: refresh front-door mirror after second merge",
          "draft": true,
          "created_at": "2026-10-29T06:50:56Z"
        },
        {
          "number": 11336,
          "title": "Adopt stranded branch claude/zealous-bohr-mbrcrv: gitops/ci/README.md: sync runs-on count after s3-bucket-exposure-check-ci.yml",
          "draft": true,
          "created_at": "2026-10-29T06:50:54Z"
        },
        {
          "number": 11151,
          "title": "ai-bookkeeper: CLI refuses non-numeric flags, fx rate and --deposited instead of saving or printing NaN",
          "draft": false,
          "created_at": "2026-10-28T15:30:15Z"
        },
        {
          "number": 10881,
          "title": "ci: flag third-party script/stylesheet requests; drop Google Fonts from retail portal",
          "draft": false,
          "created_at": "2026-10-27T12:32:51Z"
        },
        {
          "number": 10600,
          "title": "changepoint-detector: meanvar variants checked on the real Nile series",
          "draft": false,
          "created_at": "2026-10-26T08:25:09Z"
        },
        {
          "number": 10052,
          "title": "Adopt stranded branch claude/trusting-faraday-2gc5if: GOING_PUBLIC: email and Pages URL done in the tree; history options",
          "draft": true,
          "created_at": "2026-10-24T06:58:37Z"
        },
        {
          "number": 8764,
          "title": "marriage-divorce-evidence: flexible models and pooled nine-survey model tested held out; report, blog post and NEXT.md",
          "draft": false,
          "created_at": "2026-10-20T09:25:13Z"
        },
        {
          "number": 8720,
          "title": "marriage-divorce-evidence: race detail, family of origin, religion, politics, occupation and wealth tested held out; predictor atlas",
          "draft": false,
          "created_at": "2026-10-20T07:56:12Z"
        },
        {
          "number": 8700,
          "title": "Retire the research archive workflow: oss-research-monorepo is deleted",
          "draft": true,
          "created_at": "2026-10-20T07:10:00Z"
        },
        {
          "number": 8649,
          "title": "csv-to-sepa-pain008: free CSV to SEPA direct debit (pain.008) file converter",
          "draft": false,
          "created_at": "2026-10-20T05:05:58Z"
        },
        {
          "number": 8630,
          "title": "subscription-audit-from-statement: read Apple Card, Revolut, ING-style and header-less (Wells Fargo) exports",
          "draft": false,
          "created_at": "2026-10-20T03:59:10Z"
        },
        {
          "number": 8592,
          "title": "pages: the site lives at duncan-haywood.github.io/oss-monorepo/, not /monorepo-projects/",
          "draft": true,
          "created_at": "2026-10-20T02:01:22Z"
        }
      ]
    },
    "ci_main": {
      "runs": 200,
      "green_share": 0.731,
      "failing_workflows": [
        [
          "Portfolio validate",
          21
        ],
        [
          "Prompts",
          15
        ],
        [
          "ventures tests",
          11
        ]
      ]
    },
    "ci_pr": {
      "runs": 300,
      "run_pass_share": 0.8,
      "first_try_green_share": 1,
      "iterations_before_green_mean": 0,
      "branches_seen": 17
    },
    "branches": {
      "count": 641,
      "capped": false
    }
  },
  "ci": {
    "available": true,
    "counted_at": "2026-10-31T19:23:54.307Z",
    "window_days": 14,
    "runs": 148268,
    "totals": {
      "passed": 105101,
      "failed": 13762,
      "cancelled": 25516,
      "skipped": 3889
    },
    "pass_share": 0.884,
    "failed_share_of_decided": 0.116,
    "per_day": {
      "2026-10-18": {
        "passed": 7434,
        "failed": 603,
        "cancelled": 1824,
        "skipped": 113
      },
      "2026-10-19": {
        "passed": 9976,
        "failed": 762,
        "cancelled": 2120,
        "skipped": 179
      },
      "2026-10-20": {
        "passed": 13841,
        "failed": 1023,
        "cancelled": 3411,
        "skipped": 678
      },
      "2026-10-21": {
        "passed": 9638,
        "failed": 628,
        "cancelled": 1781,
        "skipped": 289
      },
      "2026-10-22": {
        "passed": 7098,
        "failed": 239,
        "cancelled": 1100,
        "skipped": 186
      },
      "2026-10-23": {
        "passed": 7572,
        "failed": 573,
        "cancelled": 1558,
        "skipped": 154
      },
      "2026-10-24": {
        "passed": 10383,
        "failed": 1541,
        "cancelled": 4256,
        "skipped": 319
      },
      "2026-10-25": {
        "passed": 5982,
        "failed": 1175,
        "cancelled": 1298,
        "skipped": 113
      },
      "2026-10-26": {
        "passed": 4972,
        "failed": 1117,
        "cancelled": 817,
        "skipped": 101
      },
      "2026-10-27": {
        "passed": 4529,
        "failed": 1119,
        "cancelled": 964,
        "skipped": 100
      },
      "2026-10-28": {
        "passed": 5358,
        "failed": 1090,
        "cancelled": 1233,
        "skipped": 111
      },
      "2026-10-29": {
        "passed": 6411,
        "failed": 1227,
        "cancelled": 1012,
        "skipped": 207
      },
      "2026-10-30": {
        "passed": 8383,
        "failed": 2022,
        "cancelled": 2790,
        "skipped": 427
      },
      "2026-10-31": {
        "passed": 3524,
        "failed": 643,
        "cancelled": 1352,
        "skipped": 912
      }
    },
    "coverage": {
      "capped_days": [
        "2026-10-24"
      ],
      "reused_days": 11,
      "note": "More than 2,500 runs of one outcome in a single hour on the days listed; their counts are a floor"
    },
    "sample": {
      "runs": 1000,
      "span": {
        "from": "2026-10-31T16:12:26Z",
        "to": "2026-10-31T19:23:33Z",
        "hours": 3.2
      },
      "workflows_seen": 23
    },
    "by_event": {
      "pull_request": {
        "passed": 308,
        "failed": 88,
        "cancelled": 161,
        "skipped": 66,
        "pass_share": 0.778
      },
      "push to main": {
        "passed": 176,
        "failed": 57,
        "cancelled": 35,
        "skipped": 0,
        "pass_share": 0.755
      },
      "pull_request_target": {
        "passed": 29,
        "failed": 0,
        "cancelled": 1,
        "skipped": 2,
        "pass_share": 1
      },
      "schedule": {
        "passed": 7,
        "failed": 0,
        "cancelled": 0,
        "skipped": 10,
        "pass_share": 1
      },
      "workflow_run": {
        "passed": 0,
        "failed": 0,
        "cancelled": 0,
        "skipped": 60,
        "pass_share": null
      }
    },
    "workflows": [
      {
        "name": "Portfolio validate",
        "runs": 76,
        "passed": 0,
        "failed": 55,
        "cancelled": 20,
        "skipped": 1,
        "pass_share": 0,
        "minutes_p50": 0.6,
        "minutes_p90": 0.8
      },
      {
        "name": "ventures tests",
        "runs": 64,
        "passed": 15,
        "failed": 33,
        "cancelled": 16,
        "skipped": 0,
        "pass_share": 0.313,
        "minutes_p50": 1.4,
        "minutes_p90": 2.3
      },
      {
        "name": "Prompts",
        "runs": 63,
        "passed": 18,
        "failed": 33,
        "cancelled": 12,
        "skipped": 0,
        "pass_share": 0.353,
        "minutes_p50": 0.5,
        "minutes_p90": 0.6
      },
      {
        "name": "README live links",
        "runs": 32,
        "passed": 0,
        "failed": 23,
        "cancelled": 9,
        "skipped": 0,
        "pass_share": 0,
        "minutes_p50": 0.2,
        "minutes_p90": 0.3
      },
      {
        "name": "Portfolio Pages",
        "runs": 74,
        "passed": 54,
        "failed": 1,
        "cancelled": 18,
        "skipped": 1,
        "pass_share": 0.982,
        "minutes_p50": 9,
        "minutes_p90": 17.5
      },
      {
        "name": "Conflict markers",
        "runs": 89,
        "passed": 67,
        "failed": 0,
        "cancelled": 21,
        "skipped": 1,
        "pass_share": 1,
        "minutes_p50": 0.6,
        "minutes_p90": 0.7
      },
      {
        "name": "Control-plane guard",
        "runs": 89,
        "passed": 79,
        "failed": 0,
        "cancelled": 9,
        "skipped": 1,
        "pass_share": 1,
        "minutes_p50": 0.2,
        "minutes_p90": 0.2
      },
      {
        "name": "Portfolio Pages site build",
        "runs": 64,
        "passed": 44,
        "failed": 0,
        "cancelled": 20,
        "skipped": 0,
        "pass_share": 1,
        "minutes_p50": 0.8,
        "minutes_p90": 1
      },
      {
        "name": "Agent cross-review",
        "runs": 61,
        "passed": 0,
        "failed": 0,
        "cancelled": 0,
        "skipped": 61,
        "pass_share": null,
        "minutes_p50": null,
        "minutes_p90": null
      },
      {
        "name": "Agent PR auto-merge",
        "runs": 60,
        "passed": 0,
        "failed": 0,
        "cancelled": 0,
        "skipped": 60,
        "pass_share": null,
        "minutes_p50": null,
        "minutes_p90": null
      },
      {
        "name": "Doc references",
        "runs": 53,
        "passed": 36,
        "failed": 0,
        "cancelled": 16,
        "skipped": 1,
        "pass_share": 1,
        "minutes_p50": 0.3,
        "minutes_p90": 0.3
      },
      {
        "name": "Sibling links",
        "runs": 47,
        "passed": 34,
        "failed": 0,
        "cancelled": 13,
        "skipped": 0,
        "pass_share": 1,
        "minutes_p50": 0.5,
        "minutes_p90": 0.6
      },
      {
        "name": "Link contrast",
        "runs": 46,
        "passed": 36,
        "failed": 0,
        "cancelled": 10,
        "skipped": 0,
        "pass_share": 1,
        "minutes_p50": 0.2,
        "minutes_p90": 0.3
      },
      {
        "name": "Page integrity",
        "runs": 46,
        "passed": 31,
        "failed": 0,
        "cancelled": 15,
        "skipped": 0,
        "pass_share": 1,
        "minutes_p50": 2.1,
        "minutes_p90": 2.6
      },
      {
        "name": "Checklist coverage",
        "runs": 40,
        "passed": 31,
        "failed": 0,
        "cancelled": 9,
        "skipped": 0,
        "pass_share": 1,
        "minutes_p50": 0.2,
        "minutes_p90": 0.3
      },
      {
        "name": "Branch cleanup",
        "runs": 33,
        "passed": 30,
        "failed": 0,
        "cancelled": 1,
        "skipped": 2,
        "pass_share": 1,
        "minutes_p50": 0.5,
        "minutes_p90": 0.8
      },
      {
        "name": "agent-permission-harness CI",
        "runs": 25,
        "passed": 18,
        "failed": 0,
        "cancelled": 7,
        "skipped": 0,
        "pass_share": 1,
        "minutes_p50": 3.4,
        "minutes_p90": 4.3
      },
      {
        "name": "Research",
        "runs": 12,
        "passed": 11,
        "failed": 0,
        "cancelled": 1,
        "skipped": 0,
        "pass_share": 1,
        "minutes_p50": 0.5,
        "minutes_p90": 0.6
      },
      {
        "name": "Duplicate symbols",
        "runs": 11,
        "passed": 11,
        "failed": 0,
        "cancelled": 0,
        "skipped": 0,
        "pass_share": 1,
        "minutes_p50": 0.3,
        "minutes_p90": 0.3
      },
      {
        "name": "Claude routine trigger",
        "runs": 10,
        "passed": 0,
        "failed": 0,
        "cancelled": 0,
        "skipped": 10,
        "pass_share": null,
        "minutes_p50": null,
        "minutes_p90": null
      }
    ],
    "duration_minutes": {
      "n": 862,
      "p50": 0.5,
      "p90": 2.6,
      "note": "run start to last update: wall-clock, including time jobs waited for a runner"
    },
    "ci_hours_per_hour": 6.2,
    "rerun_share": 0,
    "main": {
      "runs": 500,
      "span": {
        "from": "2026-10-31T13:09:54Z",
        "to": "2026-10-31T19:20:29Z",
        "hours": 6.2
      }
    },
    "main_recovery_hours": {
      "n": 15,
      "p50": 0.2,
      "p90": 0.8
    },
    "red_on_main_now": [
      {
        "workflow": "Portfolio validate",
        "since": "2026-10-31T16:12:55Z",
        "hours": 3.2
      },
      {
        "workflow": "ventures tests",
        "since": "2026-10-31T19:19:49Z",
        "hours": 0.1
      }
    ]
  },
  "delivery": {
    "available": true,
    "window_days": 3,
    "from": "2026-10-28T19:23:54.307Z",
    "to": "2026-10-31T19:23:54.307Z",
    "deploy_workflow": "portfolio-pages.yml",
    "deploys": 136,
    "deploys_per_day": {
      "2026-10-28": 0,
      "2026-10-29": 21,
      "2026-10-30": 29,
      "2026-10-31": 86
    },
    "merges": 892,
    "merge_to_live_minutes": {
      "n": 890,
      "p50": 87.7,
      "p75": 260.4,
      "p90": 429.2,
      "max": 666.3,
      "over_60": 492,
      "waiting": 2
    },
    "gates": [
      {
        "workflow": "portfolio-pages.yml",
        "name": "Portfolio Pages",
        "decided": 334,
        "failed": 198,
        "failed_share": 0.593,
        "red_spells": 22,
        "restore_hours": {
          "n": 22,
          "p50": 0.2,
          "p90": 8.85
        },
        "red_hours": 46.2,
        "red_share": 0.641,
        "red_now": false
      },
      {
        "workflow": "portfolio-validate.yml",
        "name": "Portfolio validate",
        "decided": 755,
        "failed": 494,
        "failed_share": 0.654,
        "red_spells": 29,
        "restore_hours": {
          "n": 28,
          "p50": 0.35,
          "p90": 2.8
        },
        "red_hours": 43.9,
        "red_share": 0.609,
        "red_now": true
      }
    ],
    "note": "A red spell runs from a failing run on main to the next passing one; one still open at the window end counts up to now. A spell that began before the window is counted from its first failing run inside it."
  }
}
