{
 "repo": {
  "name": "fromthepage",
  "owner": "benwbrum",
  "stars": 187,
  "license": "AGPL-3.0",
  "full_name": "benwbrum/fromthepage",
  "fetched_at": "2026-11-08T10:58:37.373325+00:00",
  "primary_language": "Ruby"
 },
 "burns": [
  {
   "agent": "github-copilot",
   "number": 4784,
   "reviewer_excerpt": "This is outside of the scope of copilot until it can actually run tests and modify the code based on the results.",
   "reviewer_excerpt_url": "https://github.com/benwbrum/fromthepage/pull/4784#issuecomment-3122184014"
  },
  {
   "agent": "github-copilot",
   "number": 4782,
   "reviewer_excerpt": "This looks good. We need to run i18n-tasks translate to get the translations created.",
   "reviewer_excerpt_url": "https://github.com/benwbrum/fromthepage/pull/4782#pullrequestreview-3057350878"
  },
  {
   "agent": "openai-codex",
   "number": 4747,
   "reviewer_excerpt": "## Pull Request Test Coverage Report for [Build 16231667154](https://coveralls.io/builds/74586972) ### Details * **44** of **44** **(100.0%)** changed or added relevant lines in **1** file are",
   "reviewer_excerpt_url": "https://github.com/benwbrum/fromthepage/pull/4747#issuecomment-3064306973"
  },
  {
   "agent": "openai-codex",
   "number": 4692,
   "reviewer_excerpt": "## Pull Request Test Coverage Report for [Build 15593649993](https://coveralls.io/builds/74105476) ### Warning: This coverage report may be inaccurate. This pull request's base commit is no longer",
   "reviewer_excerpt_url": "https://github.com/benwbrum/fromthepage/pull/4692#issuecomment-2964648372"
  }
 ],
 "total": 28,
 "agents": [
  {
   "agent": "github-copilot",
   "merged": 4,
   "flights": 15,
   "burn_rate": 0.286,
   "merge_rate": 0.571,
   "last_flight_at": "2025-07-28T13:59:44+00:00",
   "median_hours_to_merge": 27.9
  },
  {
   "agent": "openai-codex",
   "merged": 8,
   "flights": 13,
   "burn_rate": 0.182,
   "merge_rate": 0.727,
   "last_flight_at": "2025-07-21T20:33:40+00:00",
   "median_hours_to_merge": 12.3
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Fix security vulnerability in bulk export routes with granular access control",
   "number": 4795,
   "outcome": "stale",
   "index_ok": false,
   "additions": 2872,
   "deletions": 179,
   "merged_at": null,
   "opened_at": "2025-07-28T13:59:44+00:00",
   "task_type": "fix",
   "files_changed": 92,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Add comprehensive sitemap generation and SEO improvements for WayBack Machine archival",
   "number": 4794,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 823,
   "deletions": 110,
   "merged_at": "2025-07-29T18:53:15+00:00",
   "opened_at": "2025-07-26T02:24:44+00:00",
   "task_type": "feat",
   "files_changed": 17,
   "hours_to_merge": 88.48
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Don't send overnight activity email to owners if no new activity",
   "number": 4793,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 125,
   "deletions": 37,
   "merged_at": "2025-07-26T18:48:11+00:00",
   "opened_at": "2025-07-26T02:23:28+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": 16.41
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix expunge failing when page version has no previous version",
   "number": 4792,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 25,
   "deletions": 12,
   "merged_at": "2025-07-27T13:54:14+00:00",
   "opened_at": "2025-07-26T02:23:19+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 35.52
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Implement WCAG 2.1 compliance for subject link hover behavior",
   "number": 4791,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 338,
   "deletions": 98,
   "merged_at": "2025-07-26T22:43:04+00:00",
   "opened_at": "2025-07-26T02:22:35+00:00",
   "task_type": "fix",
   "files_changed": 5,
   "hours_to_merge": 20.34
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Hide \"create blank work\" functionality from start project tab",
   "number": 4790,
   "outcome": "stale",
   "index_ok": false,
   "additions": 42596,
   "deletions": 41331,
   "merged_at": null,
   "opened_at": "2025-07-26T02:21:58+00:00",
   "task_type": "fix",
   "files_changed": 351,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Redirect restricted collection views to landing page instead of showing errors",
   "number": 4789,
   "outcome": "stale",
   "index_ok": false,
   "additions": 2636,
   "deletions": 215,
   "merged_at": null,
   "opened_at": "2025-07-26T02:21:29+00:00",
   "task_type": "fix",
   "files_changed": 72,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Add email warnings when document uploads contain no supported images",
   "number": 4788,
   "outcome": "stale",
   "index_ok": false,
   "additions": 2403,
   "deletions": 169,
   "merged_at": null,
   "opened_at": "2025-07-26T02:18:53+00:00",
   "task_type": "feat",
   "files_changed": 65,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "closed",
   "title": "Investigation: OWNER_EMAIL_BLACKLIST constant does not exist - issue is obsolete",
   "number": 4787,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 0,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-26T02:11:56+00:00",
   "task_type": "other",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Remove duplicate and unused methods in User and Work models",
   "number": 4786,
   "outcome": "stale",
   "index_ok": false,
   "additions": 11,
   "deletions": 35,
   "merged_at": null,
   "opened_at": "2025-07-26T02:11:08+00:00",
   "task_type": "refactor",
   "files_changed": 12,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Add comprehensive social media metadata support for Facebook, Twitter, Slack, and Pinterest sharing",
   "number": 4785,
   "outcome": "stale",
   "index_ok": false,
   "additions": 3118,
   "deletions": 272,
   "merged_at": null,
   "opened_at": "2025-07-26T02:08:43+00:00",
   "task_type": "feat",
   "files_changed": 71,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "closed",
   "title": "Isolate feature tests by implementing centralized database cleaning strategy",
   "number": 4784,
   "outcome": "burn",
   "index_ok": true,
   "additions": 319,
   "deletions": 147,
   "merged_at": null,
   "opened_at": "2025-07-26T02:06:35+00:00",
   "task_type": "feat",
   "files_changed": 21,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Adjust subject duplicates algorithm to reduce false positives",
   "number": 4783,
   "outcome": "stale",
   "index_ok": false,
   "additions": 206,
   "deletions": 80,
   "merged_at": null,
   "opened_at": "2025-07-26T02:06:25+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "closed",
   "title": "Add better contextual help for uncategorized subjects",
   "number": 4782,
   "outcome": "burn",
   "index_ok": true,
   "additions": 132,
   "deletions": 60,
   "merged_at": null,
   "opened_at": "2025-07-26T02:04:41+00:00",
   "task_type": "feat",
   "files_changed": 11,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix last seen date on profile",
   "number": 4766,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 23,
   "deletions": 2,
   "merged_at": "2025-07-21T20:57:28+00:00",
   "opened_at": "2025-07-21T20:33:40+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": 0.4
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add note about overnight stats update",
   "number": 4765,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 2745,
   "deletions": 1353,
   "merged_at": "2025-07-30T16:59:28+00:00",
   "opened_at": "2025-07-21T20:32:14+00:00",
   "task_type": "feat",
   "files_changed": 95,
   "hours_to_merge": 212.45
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Enhance contact form anti-spam protection with hourly token expiration",
   "number": 4750,
   "outcome": "stale",
   "index_ok": false,
   "additions": 7646,
   "deletions": 5009,
   "merged_at": null,
   "opened_at": "2025-07-14T14:43:07+00:00",
   "task_type": "feat",
   "files_changed": 232,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Implement ALTO aligner",
   "number": 4747,
   "outcome": "burn",
   "index_ok": true,
   "additions": 105,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-11T23:33:54+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Escape ampersands in TEI export",
   "number": 4742,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 9,
   "deletions": 9,
   "merged_at": "2025-07-10T21:11:38+00:00",
   "opened_at": "2025-07-10T20:16:29+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0.92
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add import_GRI rake task",
   "number": 4738,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 95,
   "deletions": 5,
   "merged_at": "2025-07-10T17:52:05+00:00",
   "opened_at": "2025-07-09T18:18:04+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 23.57
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add more admin controller specs",
   "number": 4720,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 935,
   "deletions": 430,
   "merged_at": null,
   "opened_at": "2025-06-24T21:19:12+00:00",
   "task_type": "test",
   "files_changed": 24,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Fix admin restriction on bulk export pages",
   "number": 4719,
   "outcome": "stale",
   "index_ok": false,
   "additions": 53,
   "deletions": 4,
   "merged_at": null,
   "opened_at": "2025-06-24T21:08:54+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix warning by pinning mail gem",
   "number": 4716,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 3,
   "deletions": 13,
   "merged_at": "2025-06-24T21:23:25+00:00",
   "opened_at": "2025-06-24T20:39:42+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0.73
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add relationship graph tests",
   "number": 4714,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 25,
   "deletions": 0,
   "merged_at": "2025-06-24T18:36:40+00:00",
   "opened_at": "2025-06-24T17:29:42+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 1.12
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add admin controller request specs",
   "number": 4697,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 62,
   "deletions": 0,
   "merged_at": "2025-06-18T18:21:58+00:00",
   "opened_at": "2025-06-16T20:01:45+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 46.34
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Fix duplicate slug cleanup (#4067 duplicate slugs)",
   "number": 4696,
   "outcome": "stale",
   "index_ok": false,
   "additions": 3258,
   "deletions": 1855,
   "merged_at": null,
   "opened_at": "2025-06-16T19:46:52+00:00",
   "task_type": "fix",
   "files_changed": 106,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix subject page link context",
   "number": 4693,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 11,
   "deletions": 5,
   "merged_at": "2025-06-13T18:32:35+00:00",
   "opened_at": "2025-06-11T19:50:52+00:00",
   "task_type": "fix",
   "files_changed": 6,
   "hours_to_merge": 46.7
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Fix variable reference in ScManifest.lang_keys_from_object",
   "number": 4692,
   "outcome": "burn",
   "index_ok": false,
   "additions": 1,
   "deletions": 1,
   "merged_at": null,
   "opened_at": "2025-06-11T19:15:36+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": null
  }
 ],
 "indexed": 12,
 "monthly": [
  {
   "burns": 1,
   "month": "2025-06",
   "merged": 4,
   "flights": 8
  },
  {
   "burns": 3,
   "month": "2025-07",
   "merged": 8,
   "flights": 20
  }
 ],
 "top_authors": [
  {
   "name": "Sara Brumfield",
   "login": "saracarl",
   "flights": 8,
   "indexed": 4
  },
  {
   "name": "Ben W. Brumfield",
   "login": "benwbrum",
   "flights": 5,
   "indexed": 2
  }
 ],
 "page": "https://agentriders.com/logs/benwbrum/fromthepage/"
}