{
 "repo": {
  "name": "neon",
  "owner": "neondatabase",
  "stars": 23309,
  "license": "Apache-2.0",
  "full_name": "neondatabase/neon",
  "fetched_at": "2026-11-08T11:01:57.995545+00:00",
  "primary_language": "Rust"
 },
 "burns": [
  {
   "agent": "devin",
   "number": 11865,
   "reviewer_excerpt": "You had it right initially, but apparently can't deal correctly with multi repo PRs.",
   "reviewer_excerpt_url": "https://github.com/neondatabase/neon/pull/11865#issuecomment-2862956173"
  },
  {
   "agent": "devin",
   "number": 11835,
   "reviewer_excerpt": "Use `map_err(anyhow::Error::new)` instead of `map_err(|e| anyhow::anyhow!(e))`. Don't use `error(\"flush task cancelled\")` for the higher level `Cancelled` variants. Just `error(\"cancelled\")` is good. Maybe we don't need",
   "reviewer_excerpt_url": "https://github.com/neondatabase/neon/pull/11835#pullrequestreview-2819325918"
  },
  {
   "agent": "devin",
   "number": 11517,
   "reviewer_excerpt": "Devin - please rebase this on main, where we just merged the other PR that adds CLI flag for safekeeper and config for pageserver. Remember",
   "reviewer_excerpt_url": "https://github.com/neondatabase/neon/pull/11517#issuecomment-2827194299"
  }
 ],
 "total": 14,
 "agents": [
  {
   "agent": "devin",
   "merged": 7,
   "flights": 14,
   "burn_rate": 0.3,
   "merge_rate": 0.7,
   "last_flight_at": "2025-06-26T13:36:30+00:00",
   "median_hours_to_merge": 99.9
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "devin",
   "state": "open",
   "title": "Remove --no-event-triggers flag from fast_import",
   "number": 12353,
   "outcome": "stale",
   "index_ok": false,
   "additions": 1412,
   "deletions": 804,
   "merged_at": null,
   "opened_at": "2025-06-26T13:36:30+00:00",
   "task_type": "feat",
   "files_changed": 60,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "storcon: skip offline nodes in get_top_tenant_shards",
   "number": 12057,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 4,
   "deletions": 2,
   "merged_at": "2025-05-29T11:17:51+00:00",
   "opened_at": "2025-05-29T10:04:12+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 1.23
  },
  {
   "agent": "devin",
   "state": "open",
   "title": "[test_runner/performance] scale: Increase data volumes in PostgreSQL regression tests by 10x",
   "number": 11967,
   "outcome": "stale",
   "index_ok": false,
   "additions": 20,
   "deletions": 20,
   "merged_at": null,
   "opened_at": "2025-05-19T10:06:59+00:00",
   "task_type": "test",
   "files_changed": 9,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "Make `set_len` a tokio-epoll-uring operation",
   "number": 11865,
   "outcome": "burn",
   "index_ok": true,
   "additions": 50,
   "deletions": 33,
   "merged_at": null,
   "opened_at": "2025-05-08T12:24:26+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "Replace anyhow::Result with typed BlobWriterError in BlobWriter error path",
   "number": 11835,
   "outcome": "burn",
   "index_ok": true,
   "additions": 564,
   "deletions": 331,
   "merged_at": null,
   "opened_at": "2025-05-06T09:57:22+00:00",
   "task_type": "refactor",
   "files_changed": 11,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "[pageserver/virtual_file] impr: Improve OpenOptions API ergonomics",
   "number": 11789,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 33,
   "deletions": 46,
   "merged_at": "2025-05-05T13:13:19+00:00",
   "opened_at": "2025-04-30T15:49:28+00:00",
   "task_type": "refactor",
   "files_changed": 2,
   "hours_to_merge": 117.4
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "pageserver: remove resident size from billing metrics",
   "number": 11699,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 13,
   "deletions": 65,
   "merged_at": "2025-04-29T18:41:09+00:00",
   "opened_at": "2025-04-24T11:57:25+00:00",
   "task_type": "fix",
   "files_changed": 7,
   "hours_to_merge": 126.73
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Remove SAFEKEEPER_AUTH_TOKEN env var parsing from safekeeper",
   "number": 11698,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 5596,
   "deletions": 2490,
   "merged_at": "2025-04-28T15:40:06+00:00",
   "opened_at": "2025-04-24T11:48:36+00:00",
   "task_type": "refactor",
   "files_changed": 143,
   "hours_to_merge": 99.86
  },
  {
   "agent": "devin",
   "state": "open",
   "title": "pageserver, safekeeper: make authentication mandatory without dev mode",
   "number": 11696,
   "outcome": "stale",
   "index_ok": false,
   "additions": 14695,
   "deletions": 8240,
   "merged_at": null,
   "opened_at": "2025-04-24T11:04:29+00:00",
   "task_type": "feat",
   "files_changed": 364,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Fix KeyError in physical replication benchmark test",
   "number": 11675,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 2,
   "deletions": 2,
   "merged_at": "2025-04-23T14:53:21+00:00",
   "opened_at": "2025-04-23T10:08:43+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 4.74
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Add --dev CLI flag to pageserver and safekeeper binaries",
   "number": 11526,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 6602,
   "deletions": 2637,
   "merged_at": "2025-04-24T10:52:34+00:00",
   "opened_at": "2025-04-10T15:27:46+00:00",
   "task_type": "feat",
   "files_changed": 225,
   "hours_to_merge": 331.41
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "storage: require authentication by default, unless --dev is specified",
   "number": 11517,
   "outcome": "burn",
   "index_ok": true,
   "additions": 84,
   "deletions": 43,
   "merged_at": null,
   "opened_at": "2025-04-10T08:43:28+00:00",
   "task_type": "feat",
   "files_changed": 8,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "open",
   "title": "Add missing APIs to neon_api.py fixture",
   "number": 11305,
   "outcome": "stale",
   "index_ok": false,
   "additions": 910,
   "deletions": 57,
   "merged_at": null,
   "opened_at": "2025-03-19T09:08:01+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "fix: Change metric_unit from 'microseconds' to 'μs' in test_compute_ctl_api.py",
   "number": 11209,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 4,
   "deletions": 4,
   "merged_at": "2025-03-13T10:19:01+00:00",
   "opened_at": "2025-03-13T09:18:17+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 1.01
  }
 ],
 "indexed": 10,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-03",
   "merged": 1,
   "flights": 2
  },
  {
   "burns": 1,
   "month": "2025-04",
   "merged": 5,
   "flights": 7
  },
  {
   "burns": 2,
   "month": "2025-05",
   "merged": 1,
   "flights": 4
  },
  {
   "burns": 0,
   "month": "2025-06",
   "merged": 0,
   "flights": 1
  }
 ],
 "top_authors": [],
 "page": "https://agentriders.com/logs/neondatabase/neon/"
}