{
 "author": {
  "bio": "Principal Bioinformatician at Metabolon Inc.",
  "name": "Joe Wandy",
  "login": "joewandy",
  "is_bot": false,
  "company": "Metabolon",
  "avatar_url": "https://avatars.githubusercontent.com/u/2523391?v=4",
  "social_urls": [
   "https://twitter.com/joe__wandy"
  ],
  "website_url": "https://scholar.google.com/citations?user=K6nz3aoAAAAJ&hl=en&oi=ao",
  "github_user_id": 2523391,
  "readme_excerpt": "I work on applying machine learning in computational biology domain, mostly in metabolomics and multi-omics data analysis.",
  "profile_fetched_at": "2026-11-04T18:46:43.005277+00:00",
  "github_profile": "https://github.com/joewandy"
 },
 "totals": {
  "burns": 0,
  "repos": 2,
  "merged": 40,
  "flights": 47,
  "indexed": 17,
  "burn_rate": 0,
  "merge_rate": 0.851,
  "last_flight_at": "2025-06-11T09:40:21+00:00"
 },
 "agents": [
  {
   "agent": "openai-codex",
   "burns": 0,
   "merged": 40,
   "flights": 47
  }
 ],
 "repos": [
  {
   "stars": 23,
   "flights": 25,
   "full_name": "glasgowcompbio/vimms",
   "primary_language": "Python"
  },
  {
   "stars": 154,
   "flights": 22,
   "full_name": "joewandy/hlda",
   "primary_language": "Python"
  }
 ],
 "flights": [
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update poetry lock",
   "number": 59,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 144,
   "deletions": 1,
   "merged_at": "2025-06-05T09:21:46+00:00",
   "opened_at": "2025-06-05T09:16:35+00:00",
   "task_type": "build",
   "files_changed": 1,
   "hours_to_merge": 0.09
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Organize examples and update CLI",
   "number": 58,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 44,
   "deletions": 1333,
   "merged_at": "2025-06-05T09:07:33+00:00",
   "opened_at": "2025-06-05T07:37:46+00:00",
   "task_type": "chore",
   "files_changed": 10,
   "hours_to_merge": 1.5
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add sklearn wrapper",
   "number": 57,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 201,
   "deletions": 1,
   "merged_at": "2025-06-05T00:45:07+00:00",
   "opened_at": "2025-06-05T00:44:51+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 0
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add tree export feature",
   "number": 56,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 67,
   "deletions": 0,
   "merged_at": "2025-06-05T00:30:05+00:00",
   "opened_at": "2025-06-05T00:28:28+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 0.03
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Enable word column names in synthetic data",
   "number": 55,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 225,
   "deletions": 469,
   "merged_at": "2025-06-05T00:28:43+00:00",
   "opened_at": "2025-06-05T00:28:10+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0.01
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add tests for sampler CSV helpers",
   "number": 54,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 34,
   "deletions": 0,
   "merged_at": "2025-06-05T00:29:35+00:00",
   "opened_at": "2025-06-05T00:27:32+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 0.03
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix flake8 warnings",
   "number": 53,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 195,
   "deletions": 61,
   "merged_at": "2025-06-04T23:29:58+00:00",
   "opened_at": "2025-06-04T23:27:11+00:00",
   "task_type": "fix",
   "files_changed": 7,
   "hours_to_merge": 0.05
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add unit tests for run_hlda utilities",
   "number": 50,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 48,
   "deletions": 0,
   "merged_at": "2025-06-04T22:51:31+00:00",
   "opened_at": "2025-06-04T22:50:54+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix sampler comments",
   "number": 47,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 22,
   "deletions": 5,
   "merged_at": "2025-06-04T22:50:58+00:00",
   "opened_at": "2025-06-04T22:50:32+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add hLDA sampler documentation",
   "number": 44,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 47,
   "deletions": 0,
   "merged_at": "2025-06-04T22:48:45+00:00",
   "opened_at": "2025-06-04T22:48:36+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve README",
   "number": 42,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 75,
   "deletions": 12,
   "merged_at": "2025-06-04T22:16:24+00:00",
   "opened_at": "2025-06-04T22:16:13+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Project cleanup and src layout",
   "number": 41,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1,
   "deletions": 978,
   "merged_at": "2025-06-04T22:11:46+00:00",
   "opened_at": "2025-06-04T22:09:22+00:00",
   "task_type": "refactor",
   "files_changed": 300,
   "hours_to_merge": 0.04
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add Github Actions CI for Poetry tests",
   "number": 40,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 21,
   "deletions": 0,
   "merged_at": "2025-06-04T21:56:05+00:00",
   "opened_at": "2025-06-04T21:48:20+00:00",
   "task_type": "ci",
   "files_changed": 1,
   "hours_to_merge": 0.13
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add deterministic BBC demo test",
   "number": 39,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 187,
   "deletions": 2,
   "merged_at": "2025-06-04T21:35:56+00:00",
   "opened_at": "2025-06-04T21:35:43+00:00",
   "task_type": "test",
   "files_changed": 4,
   "hours_to_merge": 0
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix drop_path and NCRP prior bugs",
   "number": 38,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 45,
   "deletions": 11,
   "merged_at": "2025-06-04T21:11:50+00:00",
   "opened_at": "2025-06-04T21:11:36+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update poetry lock",
   "number": 37,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 42,
   "deletions": 1165,
   "merged_at": "2025-06-04T21:00:03+00:00",
   "opened_at": "2025-06-04T20:59:46+00:00",
   "task_type": "build",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update licensing to MIT",
   "number": 35,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 4682,
   "deletions": 723,
   "merged_at": "2025-06-04T20:43:37+00:00",
   "opened_at": "2025-06-04T20:43:13+00:00",
   "task_type": "chore",
   "files_changed": 6,
   "hours_to_merge": 0.01
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Make heavy dependencies optional",
   "number": 304,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-12T08:04:18+00:00",
   "opened_at": "2025-06-11T09:40:21+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 22.4
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Make pipeline steps overridable",
   "number": 303,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T09:12:28+00:00",
   "opened_at": "2025-06-11T09:10:42+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.03
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "closed",
   "title": "Move seldom used dependencies to optional extras",
   "number": 302,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-11T08:44:44+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor pipeline into classes",
   "number": 301,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T08:45:29+00:00",
   "opened_at": "2025-06-10T23:57:04+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 8.81
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor pipeline output handling",
   "number": 300,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-10T23:09:19+00:00",
   "opened_at": "2025-06-10T22:35:35+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.56
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "closed",
   "title": "Refactor untargeted demo dataset handling",
   "number": 299,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-10T19:24:45+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add helper to report alignment metrics",
   "number": 296,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-10T16:50:34+00:00",
   "opened_at": "2025-06-09T21:22:36+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 19.47
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add pipeline script",
   "number": 295,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-09T21:07:10+00:00",
   "opened_at": "2025-06-09T21:05:58+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.02
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add join_align helper and tests",
   "number": 294,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-09T16:34:11+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add skeleton untargeted metabolomics pipeline plan",
   "number": 293,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-09T16:36:09+00:00",
   "opened_at": "2025-06-09T00:21:06+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 16.25
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add CLI script entry point",
   "number": 51,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 10,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-06-04T22:59:40+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add entry point for hlda demo",
   "number": 49,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 9,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-06-04T22:50:48+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix file loading mode",
   "number": 48,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 2,
   "deletions": 2,
   "merged_at": "2025-06-04T22:51:07+00:00",
   "opened_at": "2025-06-04T22:50:38+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add BBC dataset citation guidance",
   "number": 45,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 18,
   "deletions": 0,
   "merged_at": "2025-06-04T22:49:23+00:00",
   "opened_at": "2025-06-04T22:49:14+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "repo": "joewandy/hlda",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Expose main entry points",
   "number": 43,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 5,
   "deletions": 0,
   "merged_at": "2025-06-04T22:47:59+00:00",
   "opened_at": "2025-06-04T22:47:50+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Expand ViMMS documentation",
   "number": 292,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T10:42:34+00:00",
   "opened_at": "2025-06-04T10:42:05+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix RTD dev dependencies",
   "number": 291,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T10:28:31+00:00",
   "opened_at": "2025-06-04T10:28:22+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add PyPI release workflow",
   "number": 290,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T08:30:42+00:00",
   "opened_at": "2025-06-04T08:30:23+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add tests for chromatograms and peak picking helpers",
   "number": 289,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T08:14:33+00:00",
   "opened_at": "2025-06-04T08:12:47+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.03
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix lint and formatting",
   "number": 288,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T07:57:35+00:00",
   "opened_at": "2025-06-04T07:12:54+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.74
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add pre-commit linting tools",
   "number": 287,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T01:40:30+00:00",
   "opened_at": "2025-06-04T01:40:12+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update docs",
   "number": 286,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T01:20:39+00:00",
   "opened_at": "2025-06-04T01:20:25+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Install black and format code",
   "number": 285,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T01:16:39+00:00",
   "opened_at": "2025-06-04T01:16:04+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix coverage display and silence numpy warning",
   "number": 284,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T00:57:26+00:00",
   "opened_at": "2025-06-04T00:57:11+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Remove Conda and Pipenv support, use Poetry only",
   "number": 283,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T00:44:16+00:00",
   "opened_at": "2025-06-04T00:44:00+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "closed",
   "title": "Remove conda and pipenv support",
   "number": 282,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-04T00:28:30+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Switch CI to Poetry",
   "number": 281,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T00:27:27+00:00",
   "opened_at": "2025-06-04T00:24:09+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.06
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "closed",
   "title": "Switch CI to Poetry",
   "number": 280,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-04T00:18:46+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix mgf database creation from invalid SMILES",
   "number": 279,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-04T00:06:39+00:00",
   "opened_at": "2025-06-04T00:06:20+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "glasgowcompbio/vimms",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update dependencies",
   "number": 277,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-03T23:29:17+00:00",
   "opened_at": "2025-06-03T23:24:24+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.08
  }
 ],
 "claim": null,
 "page": "https://agentriders.com/logs/author/joewandy/"
}