{
 "repo": {
  "name": "enrichmcp",
  "owner": "featureform",
  "stars": 643,
  "license": "Apache-2.0",
  "full_name": "featureform/enrichmcp",
  "fetched_at": "2026-11-08T11:00:28.766597+00:00",
  "primary_language": "Python"
 },
 "burns": [],
 "total": 87,
 "agents": [
  {
   "agent": "openai-codex",
   "merged": 71,
   "flights": 87,
   "burn_rate": 0,
   "merge_rate": 0.855,
   "last_flight_at": "2025-07-20T21:16:02+00:00",
   "median_hours_to_merge": 0.1
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add prompt wrapper",
   "number": 151,
   "outcome": "stale",
   "index_ok": false,
   "additions": 27,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-20T21:16:02+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add tool wrapper",
   "number": 150,
   "outcome": "stale",
   "index_ok": false,
   "additions": 76,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-20T21:15:56+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix model rebuilds for forward refs",
   "number": 149,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 15,
   "deletions": 1,
   "merged_at": "2025-07-17T21:18:58+00:00",
   "opened_at": "2025-07-17T20:54:12+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0.41
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add changelog for v0.4.7",
   "number": 148,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 13,
   "deletions": 0,
   "merged_at": "2025-07-14T08:03:59+00:00",
   "opened_at": "2025-07-14T08:03:17+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add .tool-versions for version managers",
   "number": 147,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 0,
   "merged_at": "2025-07-14T07:56:01+00:00",
   "opened_at": "2025-07-14T07:45:23+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.18
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add balanced model preferences",
   "number": 146,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 42,
   "deletions": 10,
   "merged_at": "2025-07-14T07:55:36+00:00",
   "opened_at": "2025-07-14T07:45:12+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 0.17
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve basic_memory docstrings",
   "number": 145,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 17,
   "deletions": 3,
   "merged_at": "2025-07-14T07:26:26+00:00",
   "opened_at": "2025-07-14T07:24:39+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.03
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add interactive example selection",
   "number": 144,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 54,
   "deletions": 8,
   "merged_at": "2025-07-14T07:22:18+00:00",
   "opened_at": "2025-07-14T07:20:08+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0.04
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add ask_user support",
   "number": 141,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 54,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-14T05:57:48+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Fix LLM callback param names",
   "number": 140,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 13,
   "deletions": 8,
   "merged_at": null,
   "opened_at": "2025-07-14T05:45:10+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Finalize sampling callback",
   "number": 139,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 67,
   "deletions": 13,
   "merged_at": "2025-07-14T04:20:47+00:00",
   "opened_at": "2025-07-14T04:17:53+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0.05
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Ensure example tests cover travel planner app",
   "number": 137,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 0,
   "merged_at": "2025-07-14T04:12:37+00:00",
   "opened_at": "2025-07-14T04:08:13+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 0.07
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Use app.get_context instead of EnrichContext injection",
   "number": 135,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 80,
   "deletions": 64,
   "merged_at": "2025-07-14T03:56:33+00:00",
   "opened_at": "2025-07-14T03:54:06+00:00",
   "task_type": "docs",
   "files_changed": 12,
   "hours_to_merge": 0.04
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Fix uv run by restoring uv.lock",
   "number": 134,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 19350,
   "deletions": 402,
   "merged_at": null,
   "opened_at": "2025-07-14T00:18:14+00:00",
   "task_type": "fix",
   "files_changed": 12,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Improve cache and SQLAlchemy coverage",
   "number": 133,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 163,
   "deletions": 5,
   "merged_at": null,
   "opened_at": "2025-07-13T22:32:17+00:00",
   "task_type": "test",
   "files_changed": 12,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve docstrings across EnrichMCP",
   "number": 132,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 37,
   "deletions": 1,
   "merged_at": "2025-07-11T20:45:44+00:00",
   "opened_at": "2025-07-11T20:42:16+00:00",
   "task_type": "docs",
   "files_changed": 6,
   "hours_to_merge": 0.06
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update travel planner instructions",
   "number": 130,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 5,
   "deletions": 2,
   "merged_at": "2025-07-11T20:39:16+00:00",
   "opened_at": "2025-07-11T20:36:09+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": 0.05
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Implement tool logging wrapper",
   "number": 129,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 55,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-07-11T20:30:25+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix ask_llm context handling",
   "number": 128,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 8,
   "deletions": 1,
   "merged_at": "2025-07-11T20:17:10+00:00",
   "opened_at": "2025-07-11T20:15:24+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0.03
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add server-side LLM sampling docs and alias",
   "number": 127,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 340,
   "deletions": 1,
   "merged_at": "2025-07-11T17:53:32+00:00",
   "opened_at": "2025-07-11T17:49:35+00:00",
   "task_type": "feat",
   "files_changed": 10,
   "hours_to_merge": 0.07
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Use FastMCP context logging",
   "number": 126,
   "outcome": "stale",
   "index_ok": false,
   "additions": 66,
   "deletions": 12,
   "merged_at": null,
   "opened_at": "2025-07-10T10:27:32+00:00",
   "task_type": "refactor",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Clarify explore_data_model usage",
   "number": 122,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 9,
   "deletions": 9,
   "merged_at": null,
   "opened_at": "2025-07-10T09:33:27+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Use EnrichParameter defaults",
   "number": 121,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 749,
   "deletions": 278,
   "merged_at": null,
   "opened_at": "2025-07-10T09:20:03+00:00",
   "task_type": "feat",
   "files_changed": 25,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add ToolKind enum and helper method for tool registration",
   "number": 120,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 147,
   "deletions": 53,
   "merged_at": "2025-07-10T09:17:55+00:00",
   "opened_at": "2025-07-10T09:15:39+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 0.04
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve openai_chat_agent startup message",
   "number": 119,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 3,
   "deletions": 1,
   "merged_at": "2025-07-10T09:17:13+00:00",
   "opened_at": "2025-07-10T09:14:25+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.05
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update explore_data_model tests for new summary class",
   "number": 118,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 435,
   "deletions": 182,
   "merged_at": "2025-07-10T09:20:46+00:00",
   "opened_at": "2025-07-10T08:51:21+00:00",
   "task_type": "test",
   "files_changed": 13,
   "hours_to_merge": 0.49
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Improve docs with development setup",
   "number": 116,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 15,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-10T08:47:06+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add DataModelSummary class and dynamic explore resource",
   "number": 114,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 85,
   "deletions": 18,
   "merged_at": "2025-07-09T22:38:42+00:00",
   "opened_at": "2025-07-09T19:19:55+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 3.31
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Support EnrichParameter metadata hints",
   "number": 113,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 152,
   "deletions": 0,
   "merged_at": "2025-07-09T22:37:20+00:00",
   "opened_at": "2025-07-09T19:14:25+00:00",
   "task_type": "feat",
   "files_changed": 8,
   "hours_to_merge": 3.38
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix README code examples",
   "number": 112,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 60,
   "deletions": 2,
   "merged_at": "2025-07-08T17:32:31+00:00",
   "opened_at": "2025-07-08T17:14:50+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.29
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add documentation badge",
   "number": 111,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 0,
   "merged_at": "2025-07-03T01:03:25+00:00",
   "opened_at": "2025-07-03T01:02:36+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Prepare 0.4.5 release",
   "number": 109,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 2,
   "deletions": 0,
   "merged_at": "2025-07-02T23:25:08+00:00",
   "opened_at": "2025-07-02T23:21:33+00:00",
   "task_type": "chore",
   "files_changed": 1,
   "hours_to_merge": 0.06
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix tests warnings and update docs",
   "number": 108,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 13,
   "deletions": 9,
   "merged_at": "2025-07-02T23:21:56+00:00",
   "opened_at": "2025-07-02T23:20:54+00:00",
   "task_type": "fix",
   "files_changed": 6,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve cache namespace isolation",
   "number": 107,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 17,
   "deletions": 4,
   "merged_at": "2025-07-02T23:19:29+00:00",
   "opened_at": "2025-07-02T23:18:10+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add PR guidelines to AGENTS",
   "number": 106,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 11,
   "deletions": 0,
   "merged_at": "2025-07-02T23:13:27+00:00",
   "opened_at": "2025-07-02T23:13:03+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Implement context caching system",
   "number": 104,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 466,
   "deletions": 24,
   "merged_at": null,
   "opened_at": "2025-07-02T22:49:46+00:00",
   "task_type": "feat",
   "files_changed": 22,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Allow pytest-asyncio 1.x or newer",
   "number": 103,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 2,
   "deletions": 2,
   "merged_at": "2025-07-02T22:32:28+00:00",
   "opened_at": "2025-07-02T22:29:30+00:00",
   "task_type": "build",
   "files_changed": 2,
   "hours_to_merge": 0.05
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add get_context helper",
   "number": 102,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 52,
   "deletions": 3,
   "merged_at": "2025-07-02T22:33:01+00:00",
   "opened_at": "2025-07-02T17:41:38+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 4.86
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add test for Literal in describe_model",
   "number": 101,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 46,
   "deletions": 11,
   "merged_at": "2025-07-02T19:39:03+00:00",
   "opened_at": "2025-07-02T17:34:18+00:00",
   "task_type": "test",
   "files_changed": 6,
   "hours_to_merge": 2.08
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix create_note and update mcp_use test",
   "number": 100,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 123,
   "deletions": 5,
   "merged_at": "2025-06-26T22:20:25+00:00",
   "opened_at": "2025-06-26T22:19:04+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add changelog for v0.4.4",
   "number": 99,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 8,
   "deletions": 0,
   "merged_at": "2025-06-26T19:08:10+00:00",
   "opened_at": "2025-06-26T19:02:41+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.09
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix pip cache warning",
   "number": 98,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 0,
   "deletions": 9,
   "merged_at": "2025-06-26T19:07:39+00:00",
   "opened_at": "2025-06-26T19:02:32+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": 0.09
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix typed annotation handling in auto resources",
   "number": 97,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 2,
   "deletions": 0,
   "merged_at": "2025-06-26T18:30:07+00:00",
   "opened_at": "2025-06-26T18:29:44+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix SQLAlchemy README example",
   "number": 96,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 14,
   "deletions": 9,
   "merged_at": "2025-06-24T23:01:35+00:00",
   "opened_at": "2025-06-24T23:00:26+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve coverage reporting",
   "number": 95,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 94,
   "deletions": 4,
   "merged_at": "2025-06-24T21:21:22+00:00",
   "opened_at": "2025-06-24T21:20:52+00:00",
   "task_type": "test",
   "files_changed": 3,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Prepare 0.4.3 release",
   "number": 94,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 30,
   "deletions": 6,
   "merged_at": "2025-06-24T18:05:01+00:00",
   "opened_at": "2025-06-24T18:04:46+00:00",
   "task_type": "docs",
   "files_changed": 4,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add basic memory utilities as example",
   "number": 93,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 506,
   "deletions": 30,
   "merged_at": "2025-06-24T17:47:52+00:00",
   "opened_at": "2025-06-24T17:46:16+00:00",
   "task_type": "feat",
   "files_changed": 18,
   "hours_to_merge": 0.03
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add streamable HTTP support",
   "number": 91,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 85,
   "deletions": 2,
   "merged_at": "2025-06-24T17:42:02+00:00",
   "opened_at": "2025-06-24T17:37:00+00:00",
   "task_type": "feat",
   "files_changed": 6,
   "hours_to_merge": 0.08
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add pagination to SQLAlchemy relationship resolvers",
   "number": 90,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 166,
   "deletions": 18,
   "merged_at": "2025-06-24T17:41:05+00:00",
   "opened_at": "2025-06-24T17:14:40+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 0.44
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Run CRUD example and clean pytest config",
   "number": 88,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 2,
   "merged_at": "2025-06-24T17:41:28+00:00",
   "opened_at": "2025-06-20T23:05:31+00:00",
   "task_type": "test",
   "files_changed": 2,
   "hours_to_merge": 90.6
  }
 ],
 "indexed": 45,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-06",
   "merged": 44,
   "flights": 48
  },
  {
   "burns": 0,
   "month": "2025-07",
   "merged": 27,
   "flights": 39
  }
 ],
 "top_authors": [
  {
   "name": "Simba Khadder",
   "login": "simba-git",
   "flights": 87,
   "indexed": 45
  }
 ],
 "page": "https://agentriders.com/logs/featureform/enrichmcp/"
}