{
 "repo": {
  "name": "Prebid.js",
  "owner": "prebid",
  "stars": 1613,
  "license": "Apache-2.0",
  "full_name": "prebid/Prebid.js",
  "fetched_at": "2026-11-08T11:00:59.930453+00:00",
  "primary_language": "JavaScript"
 },
 "burns": [
  {
   "agent": "openai-codex",
   "number": 13151,
   "reviewer_excerpt": "OP has comments on possible updates to this",
   "reviewer_excerpt_url": "https://github.com/prebid/Prebid.js/pull/13151#issuecomment-2912040606"
  }
 ],
 "total": 126,
 "agents": [
  {
   "agent": "openai-codex",
   "merged": 98,
   "flights": 126,
   "burn_rate": 0.025,
   "merge_rate": 0.81,
   "last_flight_at": "2025-07-30T18:57:35+00:00",
   "median_hours_to_merge": 21.8
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Core: use uuid for bid ids",
   "number": 13698,
   "outcome": "stale",
   "index_ok": false,
   "additions": 3,
   "deletions": 3,
   "merged_at": null,
   "opened_at": "2025-07-30T18:57:35+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "e2e tests: extend webdriver session timeouts",
   "number": 13695,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 6,
   "deletions": 6,
   "merged_at": "2025-07-30T17:01:41+00:00",
   "opened_at": "2025-07-30T14:44:55+00:00",
   "task_type": "test",
   "files_changed": 2,
   "hours_to_merge": 2.28
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Test suite: clean up tests not setting shouldClearNativeTimers",
   "number": 13689,
   "outcome": "stale",
   "index_ok": false,
   "additions": 43,
   "deletions": 5,
   "merged_at": null,
   "opened_at": "2025-07-29T14:21:18+00:00",
   "task_type": "test",
   "files_changed": 10,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Test suite: use generic cache endpoint",
   "number": 13664,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 38,
   "deletions": 38,
   "merged_at": "2025-07-24T16:56:07+00:00",
   "opened_at": "2025-07-24T15:22:29+00:00",
   "task_type": "test",
   "files_changed": 5,
   "hours_to_merge": 1.56
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "AdPod: remove longform e2e tests",
   "number": 13663,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 0,
   "deletions": 7407,
   "merged_at": "2025-07-24T15:09:51+00:00",
   "opened_at": "2025-07-24T14:29:07+00:00",
   "task_type": "test",
   "files_changed": 43,
   "hours_to_merge": 0.68
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Docs: update example config in bidder md files",
   "number": 13662,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 9,
   "deletions": 9,
   "merged_at": "2025-07-24T15:09:39+00:00",
   "opened_at": "2025-07-24T14:00:56+00:00",
   "task_type": "docs",
   "files_changed": 9,
   "hours_to_merge": 1.15
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Adpartner & Mediaimpact adapters: share common sync helpers",
   "number": 13641,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 126,
   "deletions": 214,
   "merged_at": "2025-07-22T16:58:29+00:00",
   "opened_at": "2025-07-21T22:17:37+00:00",
   "task_type": "refactor",
   "files_changed": 3,
   "hours_to_merge": 18.68
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Livewrapped Analytics: cleanup analytics cache",
   "number": 13639,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 8128,
   "deletions": 6993,
   "merged_at": "2025-07-23T18:39:11+00:00",
   "opened_at": "2025-07-21T21:58:08+00:00",
   "task_type": "fix",
   "files_changed": 302,
   "hours_to_merge": 44.68
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Linting: fix array-callback-return warnings",
   "number": 13621,
   "outcome": "stale",
   "index_ok": false,
   "additions": 7149,
   "deletions": 3089,
   "merged_at": null,
   "opened_at": "2025-07-16T19:23:30+00:00",
   "task_type": "fix",
   "files_changed": 482,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "merge remote: remove useless escapes",
   "number": 13617,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 53,
   "deletions": 53,
   "merged_at": "2025-07-16T14:38:17+00:00",
   "opened_at": "2025-07-16T14:38:09+00:00",
   "task_type": "refactor",
   "files_changed": 21,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Pulsepoint and adxcg: solve duplication",
   "number": 13610,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 41,
   "deletions": 77,
   "merged_at": "2025-07-15T20:18:34+00:00",
   "opened_at": "2025-07-15T17:59:16+00:00",
   "task_type": "refactor",
   "files_changed": 4,
   "hours_to_merge": 2.32
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "merge remote: remove no return assign lint rule",
   "number": 13609,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 9825,
   "deletions": 9527,
   "merged_at": "2025-07-15T17:40:36+00:00",
   "opened_at": "2025-07-15T17:37:45+00:00",
   "task_type": "style",
   "files_changed": 200,
   "hours_to_merge": 0.05
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Yieldlab Bid Adapter: ensure netRevenue default",
   "number": 13602,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 1,
   "merged_at": "2025-07-15T12:09:08+00:00",
   "opened_at": "2025-07-15T12:09:00+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Kubient and TheMoneytizer Adapters: remove gvlid",
   "number": 13601,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 2,
   "deletions": 11,
   "merged_at": "2025-07-15T13:24:27+00:00",
   "opened_at": "2025-07-15T11:58:56+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": 1.43
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Core: add GPT type references",
   "number": 13597,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 9650,
   "deletions": 9477,
   "merged_at": "2025-07-16T14:06:24+00:00",
   "opened_at": "2025-07-14T22:32:43+00:00",
   "task_type": "feat",
   "files_changed": 164,
   "hours_to_merge": 39.56
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Codex/review pr for behavior changes and restore if needed",
   "number": 13595,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 714,
   "deletions": 714,
   "merged_at": null,
   "opened_at": "2025-07-14T21:43:56+00:00",
   "task_type": "other",
   "files_changed": 83,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Linting: no named defaults",
   "number": 13590,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 7807,
   "deletions": 6969,
   "merged_at": null,
   "opened_at": "2025-07-14T20:23:04+00:00",
   "task_type": "style",
   "files_changed": 302,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Linting: remove no-empty eslint exception",
   "number": 13589,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1,
   "deletions": 3,
   "merged_at": "2025-07-15T15:14:49+00:00",
   "opened_at": "2025-07-14T20:14:02+00:00",
   "task_type": "style",
   "files_changed": 2,
   "hours_to_merge": 19.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Testing suite: enforce no-global-assign in tests",
   "number": 13575,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1987,
   "deletions": 1275,
   "merged_at": "2025-07-14T23:12:22+00:00",
   "opened_at": "2025-07-13T12:59:20+00:00",
   "task_type": "test",
   "files_changed": 218,
   "hours_to_merge": 34.22
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Testing suite: enable default-case-last rule",
   "number": 13574,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1,
   "deletions": 2,
   "merged_at": "2025-07-14T12:58:46+00:00",
   "opened_at": "2025-07-13T11:53:38+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 25.09
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Test suite: enforce import extensions in tests",
   "number": 13569,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1117,
   "deletions": 917,
   "merged_at": "2025-07-14T17:52:48+00:00",
   "opened_at": "2025-07-11T14:00:33+00:00",
   "task_type": "test",
   "files_changed": 177,
   "hours_to_merge": 75.87
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Test suite: enable no-redeclare rule for tests",
   "number": 13568,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 8031,
   "deletions": 7213,
   "merged_at": "2025-07-11T17:29:15+00:00",
   "opened_at": "2025-07-11T13:01:39+00:00",
   "task_type": "test",
   "files_changed": 308,
   "hours_to_merge": 4.46
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Core: remove circleci from merges and pulls",
   "number": 13551,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 18,
   "deletions": 118,
   "merged_at": "2025-07-09T16:50:23+00:00",
   "opened_at": "2025-07-09T15:21:07+00:00",
   "task_type": "ci",
   "files_changed": 4,
   "hours_to_merge": 1.49
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Linting: enforce no tabs in test files",
   "number": 13524,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 370,
   "deletions": 372,
   "merged_at": "2025-07-07T13:36:02+00:00",
   "opened_at": "2025-07-04T01:13:00+00:00",
   "task_type": "style",
   "files_changed": 28,
   "hours_to_merge": 84.38
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "get rid of lint rule",
   "number": 13520,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 2,
   "deletions": 4,
   "merged_at": "2025-07-03T18:25:18+00:00",
   "opened_at": "2025-07-03T18:25:09+00:00",
   "task_type": "chore",
   "files_changed": 3,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Various modules: fix typos across codebase",
   "number": 13516,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 438,
   "deletions": 128,
   "merged_at": "2025-07-03T21:41:32+00:00",
   "opened_at": "2025-07-03T16:21:30+00:00",
   "task_type": "fix",
   "files_changed": 39,
   "hours_to_merge": 5.33
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Colossus Bid Adapter: use shared utils",
   "number": 13511,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 85,
   "deletions": 192,
   "merged_at": "2025-07-09T17:42:03+00:00",
   "opened_at": "2025-07-03T12:29:08+00:00",
   "task_type": "refactor",
   "files_changed": 1,
   "hours_to_merge": 149.22
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": " lockrAIM module: clean up test storage",
   "number": 13503,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 6,
   "deletions": 0,
   "merged_at": "2025-07-03T13:21:50+00:00",
   "opened_at": "2025-07-02T22:34:27+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 14.79
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Utils: convert urlUtils to TypeScript",
   "number": 13497,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 76,
   "deletions": 61,
   "merged_at": "2025-07-04T12:38:01+00:00",
   "opened_at": "2025-07-02T12:36:09+00:00",
   "task_type": "refactor",
   "files_changed": 8,
   "hours_to_merge": 48.03
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Equativ Adapter: guard user pid message handler",
   "number": 13491,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 42,
   "deletions": 43,
   "merged_at": "2025-07-02T11:42:11+00:00",
   "opened_at": "2025-07-01T22:09:54+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 13.54
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "UserId Module: dedupe secureSignalProviders",
   "number": 13490,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 8173,
   "deletions": 7012,
   "merged_at": "2025-07-15T20:09:49+00:00",
   "opened_at": "2025-07-01T21:27:13+00:00",
   "task_type": "fix",
   "files_changed": 302,
   "hours_to_merge": 334.71
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Pubmatic rtd test: restore fetch stub in pubmatic rtd spec",
   "number": 13484,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 14714,
   "deletions": 1243,
   "merged_at": "2025-07-07T13:03:36+00:00",
   "opened_at": "2025-07-01T18:00:04+00:00",
   "task_type": "fix",
   "files_changed": 361,
   "hours_to_merge": 139.06
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Core: timeoutQueue to TS",
   "number": 13469,
   "outcome": "stale",
   "index_ok": false,
   "additions": 24679,
   "deletions": 25204,
   "merged_at": null,
   "opened_at": "2025-06-30T22:54:07+00:00",
   "task_type": "perf",
   "files_changed": 439,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Ix bid adapter: cache GPT slot lookups",
   "number": 13468,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 10060,
   "deletions": 22240,
   "merged_at": "2025-07-02T16:58:47+00:00",
   "opened_at": "2025-06-30T22:16:38+00:00",
   "task_type": "perf",
   "files_changed": 136,
   "hours_to_merge": 42.7
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "User id module: dedupe secureSignalProviders registrations",
   "number": 13467,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 31,
   "deletions": 6,
   "merged_at": null,
   "opened_at": "2025-06-30T21:34:26+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Test suite: eliminate real time waits",
   "number": 13464,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 9828,
   "deletions": 22174,
   "merged_at": "2025-06-30T22:02:14+00:00",
   "opened_at": "2025-06-30T21:02:58+00:00",
   "task_type": "test",
   "files_changed": 127,
   "hours_to_merge": 0.99
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Identitylink id submodule: clear identitylink local storage in tests",
   "number": 13463,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 0,
   "merged_at": "2025-07-01T15:25:08+00:00",
   "opened_at": "2025-06-30T20:47:33+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 18.63
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Video Module: fix wrapper id lookup",
   "number": 13462,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 13658,
   "deletions": 815,
   "merged_at": "2025-07-08T19:04:33+00:00",
   "opened_at": "2025-06-30T20:32:49+00:00",
   "task_type": "fix",
   "files_changed": 301,
   "hours_to_merge": 190.53
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Rayn RTD module: restore logError stub",
   "number": 13461,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 19,
   "deletions": 23,
   "merged_at": "2025-07-01T15:46:38+00:00",
   "opened_at": "2025-06-30T20:29:52+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 19.28
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "invibes Bid Adapter: optimize keyword parsing",
   "number": 13460,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 24193,
   "deletions": 25023,
   "merged_at": "2025-07-10T14:23:23+00:00",
   "opened_at": "2025-06-30T17:24:49+00:00",
   "task_type": "perf",
   "files_changed": 425,
   "hours_to_merge": 236.98
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Release Drafter: categorize uncategorized PRs as maintenance",
   "number": 13455,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 3,
   "deletions": 3,
   "merged_at": "2025-07-02T19:28:14+00:00",
   "opened_at": "2025-06-30T14:49:30+00:00",
   "task_type": "build",
   "files_changed": 1,
   "hours_to_merge": 52.65
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Circleci: bail in e2e, lower disconnect tolerance",
   "number": 13454,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 18,
   "deletions": 18,
   "merged_at": "2025-06-30T21:43:55+00:00",
   "opened_at": "2025-06-30T14:39:22+00:00",
   "task_type": "ci",
   "files_changed": 3,
   "hours_to_merge": 7.08
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Core: limit circleci test conditions",
   "number": 13453,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 28,
   "deletions": 3,
   "merged_at": null,
   "opened_at": "2025-06-30T14:28:58+00:00",
   "task_type": "ci",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Unicorn Bid Adapter: example pr to demonstrate adding disclosures",
   "number": 13447,
   "outcome": "burn",
   "index_ok": true,
   "additions": 77,
   "deletions": 47,
   "merged_at": null,
   "opened_at": "2025-06-27T14:31:09+00:00",
   "task_type": "docs",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Prebid 10: fill out gvls",
   "number": 13428,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 66,
   "deletions": 5,
   "merged_at": "2025-06-26T15:04:25+00:00",
   "opened_at": "2025-06-24T20:19:35+00:00",
   "task_type": "fix",
   "files_changed": 34,
   "hours_to_merge": 42.75
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "submodules: update tests for removal of userId",
   "number": 13388,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 30,
   "deletions": 31,
   "merged_at": "2025-06-15T12:52:27+00:00",
   "opened_at": "2025-06-15T12:52:13+00:00",
   "task_type": "test",
   "files_changed": 4,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Adwmg adapters: share user agent parsing",
   "number": 13387,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 126,
   "deletions": 458,
   "merged_at": "2025-06-17T20:26:57+00:00",
   "opened_at": "2025-06-15T12:34:14+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": 55.88
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Datawrkz bid adapter: reduce duplicate code",
   "number": 13384,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 13863,
   "deletions": 1126,
   "merged_at": "2025-07-03T23:33:37+00:00",
   "opened_at": "2025-06-15T12:05:37+00:00",
   "task_type": "refactor",
   "files_changed": 304,
   "hours_to_merge": 443.47
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Prebid 10: Various bid adapters: align filename with bidder code",
   "number": 13379,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 3086,
   "deletions": 22633,
   "merged_at": "2025-06-24T15:27:13+00:00",
   "opened_at": "2025-06-13T14:07:55+00:00",
   "task_type": "refactor",
   "files_changed": 41,
   "hours_to_merge": 265.32
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Prebid 10: delete freewheelssp adapter",
   "number": 13378,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 12,
   "deletions": 1389,
   "merged_at": "2025-06-14T15:55:18+00:00",
   "opened_at": "2025-06-13T13:40:44+00:00",
   "task_type": "refactor",
   "files_changed": 3,
   "hours_to_merge": 26.24
  }
 ],
 "indexed": 91,
 "monthly": [
  {
   "burns": 1,
   "month": "2025-05",
   "merged": 20,
   "flights": 27
  },
  {
   "burns": 2,
   "month": "2025-06",
   "merged": 51,
   "flights": 67
  },
  {
   "burns": 0,
   "month": "2025-07",
   "merged": 27,
   "flights": 32
  }
 ],
 "top_authors": [
  {
   "name": "Patrick McCann",
   "login": "patmmccann",
   "flights": 126,
   "indexed": 91
  }
 ],
 "page": "https://agentriders.com/logs/prebid/Prebid.js/"
}