{
 "repo": {
  "name": "nodetool",
  "owner": "nodetool-ai",
  "stars": 615,
  "license": "AGPL-3.0",
  "full_name": "nodetool-ai/nodetool",
  "fetched_at": "2026-11-08T11:00:52.562879+00:00",
  "primary_language": "TypeScript"
 },
 "burns": [],
 "total": 96,
 "agents": [
  {
   "agent": "openai-codex",
   "merged": 74,
   "flights": 94,
   "burn_rate": 0,
   "merge_rate": 0.892,
   "last_flight_at": "2025-07-20T15:59:20+00:00",
   "median_hours_to_merge": 0.5
  },
  {
   "agent": "cursor",
   "merged": 2,
   "flights": 2,
   "burn_rate": 0,
   "merge_rate": 1,
   "last_flight_at": "2025-07-13T12:09:11+00:00",
   "median_hours_to_merge": 0.9
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Allow unbounded numeric inputs",
   "number": 165,
   "outcome": "stale",
   "index_ok": false,
   "additions": 110,
   "deletions": 60,
   "merged_at": null,
   "opened_at": "2025-07-20T15:59:20+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Refactor README with privacy-first messaging",
   "number": 160,
   "outcome": "stale",
   "index_ok": false,
   "additions": 90,
   "deletions": 62,
   "merged_at": null,
   "opened_at": "2025-07-13T15:31:28+00:00",
   "task_type": "refactor",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Revert web changes, update electron docs",
   "number": 159,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 569,
   "deletions": 656,
   "merged_at": "2025-07-13T13:39:42+00:00",
   "opened_at": "2025-07-13T13:38:26+00:00",
   "task_type": "revert",
   "files_changed": 16,
   "hours_to_merge": 0.02
  },
  {
   "agent": "cursor",
   "state": "merged",
   "title": "Add documentation for base nodes",
   "number": 158,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 2069,
   "deletions": 0,
   "merged_at": "2025-07-13T13:46:38+00:00",
   "opened_at": "2025-07-13T12:09:11+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": 1.62
  },
  {
   "agent": "cursor",
   "state": "merged",
   "title": "Enhance Nodetool UI documentation",
   "number": 157,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 801,
   "deletions": 38,
   "merged_at": "2025-07-13T11:56:33+00:00",
   "opened_at": "2025-07-13T11:48:23+00:00",
   "task_type": "docs",
   "files_changed": 4,
   "hours_to_merge": 0.14
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add Node Packs docs",
   "number": 143,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 28,
   "deletions": 2,
   "merged_at": "2025-07-13T12:05:54+00:00",
   "opened_at": "2025-06-23T18:02:39+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": 474.05
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add settings documentation",
   "number": 142,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 29,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-06-23T18:02:08+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add Collections docs",
   "number": 141,
   "outcome": "stale",
   "index_ok": false,
   "additions": 36,
   "deletions": 1,
   "merged_at": null,
   "opened_at": "2025-06-23T02:09:29+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add models manager docs",
   "number": 140,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 28,
   "deletions": 1,
   "merged_at": "2025-06-23T02:06:29+00:00",
   "opened_at": "2025-06-23T02:05:59+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Expand node editor docs",
   "number": 139,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 29,
   "deletions": 0,
   "merged_at": "2025-06-23T02:04:53+00:00",
   "opened_at": "2025-06-23T02:04:34+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add Global Chat docs",
   "number": 138,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 39,
   "deletions": 0,
   "merged_at": "2025-06-22T22:14:38+00:00",
   "opened_at": "2025-06-22T22:13:34+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix web tests",
   "number": 137,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 38,
   "deletions": 18,
   "merged_at": "2025-06-22T18:13:38+00:00",
   "opened_at": "2025-06-22T18:13:18+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix test script",
   "number": 136,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 45,
   "deletions": 15,
   "merged_at": "2025-06-22T17:04:19+00:00",
   "opened_at": "2025-06-22T17:03:58+00:00",
   "task_type": "fix",
   "files_changed": 6,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Remove unused function",
   "number": 135,
   "outcome": "stale",
   "index_ok": false,
   "additions": 0,
   "deletions": 6,
   "merged_at": null,
   "opened_at": "2025-06-22T16:32:17+00:00",
   "task_type": "refactor",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix type errors",
   "number": 134,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 53,
   "deletions": 30,
   "merged_at": "2025-06-22T16:33:02+00:00",
   "opened_at": "2025-06-22T16:31:36+00:00",
   "task_type": "fix",
   "files_changed": 7,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add architecture overview",
   "number": 133,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 58,
   "deletions": 0,
   "merged_at": "2025-06-22T16:30:04+00:00",
   "opened_at": "2025-06-22T16:29:43+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add manual documentation pages",
   "number": 132,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 81,
   "deletions": 0,
   "merged_at": "2025-06-22T16:20:21+00:00",
   "opened_at": "2025-06-22T16:19:53+00:00",
   "task_type": "docs",
   "files_changed": 4,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Restore Inspector panel",
   "number": 126,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 390,
   "deletions": 3,
   "merged_at": "2025-06-17T16:37:01+00:00",
   "opened_at": "2025-06-17T14:02:45+00:00",
   "task_type": "feat",
   "files_changed": 7,
   "hours_to_merge": 2.57
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add layout testing harness for MUI components",
   "number": 117,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 470,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-06-01T12:49:52+00:00",
   "task_type": "feat",
   "files_changed": 43,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add GitHub markdown styles for chat",
   "number": 116,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 118,
   "deletions": 19,
   "merged_at": null,
   "opened_at": "2025-05-31T21:38:12+00:00",
   "task_type": "style",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Refactor large components into subcomponents",
   "number": 115,
   "outcome": "stale",
   "index_ok": false,
   "additions": 754,
   "deletions": 990,
   "merged_at": null,
   "opened_at": "2025-05-31T12:40:30+00:00",
   "task_type": "refactor",
   "files_changed": 12,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor styles into modules",
   "number": 114,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 391,
   "deletions": 384,
   "merged_at": "2025-05-31T16:39:57+00:00",
   "opened_at": "2025-05-31T12:40:05+00:00",
   "task_type": "refactor",
   "files_changed": 4,
   "hours_to_merge": 4
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add API and socket hooks",
   "number": 113,
   "outcome": "stale",
   "index_ok": false,
   "additions": 47,
   "deletions": 16,
   "merged_at": null,
   "opened_at": "2025-05-31T12:39:41+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Refactor WorkflowManager context utilities",
   "number": 112,
   "outcome": "stale",
   "index_ok": false,
   "additions": 62,
   "deletions": 70,
   "merged_at": null,
   "opened_at": "2025-05-31T10:49:16+00:00",
   "task_type": "refactor",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor ExampleGrid into smaller components",
   "number": 111,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 276,
   "deletions": 191,
   "merged_at": "2025-05-31T16:39:28+00:00",
   "opened_at": "2025-05-31T10:47:56+00:00",
   "task_type": "refactor",
   "files_changed": 4,
   "hours_to_merge": 5.86
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix short message width in ChatThreadView",
   "number": 110,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 0,
   "merged_at": "2025-05-31T08:22:33+00:00",
   "opened_at": "2025-05-31T08:20:49+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.03
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix chat composer theme param and accessibility",
   "number": 109,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 29,
   "deletions": 13,
   "merged_at": "2025-05-31T07:32:02+00:00",
   "opened_at": "2025-05-31T07:20:54+00:00",
   "task_type": "fix",
   "files_changed": 5,
   "hours_to_merge": 0.19
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add thread list component for global chat",
   "number": 106,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 512,
   "deletions": 495,
   "merged_at": null,
   "opened_at": "2025-05-30T18:54:21+00:00",
   "task_type": "feat",
   "files_changed": 24,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add responsive mobile layout for chat and dashboard",
   "number": 105,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 120,
   "deletions": 12,
   "merged_at": "2025-05-30T18:23:44+00:00",
   "opened_at": "2025-05-30T18:20:35+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0.05
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Show selected model and tools in GlobalChat",
   "number": 104,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 39,
   "deletions": 52,
   "merged_at": "2025-05-30T17:57:35+00:00",
   "opened_at": "2025-05-30T17:52:21+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0.09
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve auto-scroll in ChatThreadView",
   "number": 103,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 17,
   "deletions": 3,
   "merged_at": "2025-05-30T17:48:18+00:00",
   "opened_at": "2025-05-30T17:02:44+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.76
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Increase test coverage",
   "number": 101,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 74,
   "deletions": 2,
   "merged_at": "2025-05-30T17:49:03+00:00",
   "opened_at": "2025-05-29T23:28:13+00:00",
   "task_type": "test",
   "files_changed": 3,
   "hours_to_merge": 18.35
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add GlobalChatStore unit tests",
   "number": 97,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 922,
   "deletions": 12,
   "merged_at": "2025-05-31T08:20:53+00:00",
   "opened_at": "2025-05-29T19:11:59+00:00",
   "task_type": "test",
   "files_changed": 2,
   "hours_to_merge": 37.15
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add utils tests",
   "number": 96,
   "outcome": "stale",
   "index_ok": false,
   "additions": 7092,
   "deletions": 2784,
   "merged_at": null,
   "opened_at": "2025-05-29T15:07:43+00:00",
   "task_type": "test",
   "files_changed": 104,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add NodeTypeMapping tests",
   "number": 95,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 57,
   "deletions": 0,
   "merged_at": "2025-05-29T14:22:51+00:00",
   "opened_at": "2025-05-29T14:16:59+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 0.1
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add Claude PR critique action",
   "number": 94,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 49,
   "deletions": 0,
   "merged_at": "2025-05-28T04:08:57+00:00",
   "opened_at": "2025-05-28T04:06:37+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.04
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add new tests for utils and error boundary",
   "number": 91,
   "outcome": "stale",
   "index_ok": false,
   "additions": 1303,
   "deletions": 354,
   "merged_at": null,
   "opened_at": "2025-05-27T05:54:33+00:00",
   "task_type": "test",
   "files_changed": 26,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add workflow for syncing api.ts",
   "number": 88,
   "outcome": "stale",
   "index_ok": false,
   "additions": 57,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-05-26T16:36:04+00:00",
   "task_type": "ci",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add Playwright e2e test & workflow",
   "number": 86,
   "outcome": "stale",
   "index_ok": false,
   "additions": 53,
   "deletions": 1,
   "merged_at": null,
   "opened_at": "2025-05-25T21:14:23+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve docs",
   "number": 84,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 46,
   "deletions": 2,
   "merged_at": "2025-05-25T19:04:09+00:00",
   "opened_at": "2025-05-25T18:31:35+00:00",
   "task_type": "docs",
   "files_changed": 4,
   "hours_to_merge": 0.54
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add global chat page",
   "number": 83,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 277,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-05-25T17:44:33+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Switch docs to Jekyll",
   "number": 82,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 15,
   "deletions": 70,
   "merged_at": "2025-05-25T16:50:33+00:00",
   "opened_at": "2025-05-25T16:30:13+00:00",
   "task_type": "docs",
   "files_changed": 9,
   "hours_to_merge": 0.34
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add events module tests",
   "number": 81,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 83,
   "deletions": 0,
   "merged_at": "2025-05-24T20:08:17+00:00",
   "opened_at": "2025-05-24T18:51:10+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 1.29
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add installer IPC registration test",
   "number": 80,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 12,
   "deletions": 0,
   "merged_at": "2025-05-24T14:51:30+00:00",
   "opened_at": "2025-05-24T14:39:54+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 0.19
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add recommended models toggle",
   "number": 79,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 86,
   "deletions": 13,
   "merged_at": "2025-05-24T14:55:07+00:00",
   "opened_at": "2025-05-24T08:48:54+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 6.1
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve auto-layout offset",
   "number": 78,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 33,
   "deletions": 5,
   "merged_at": "2025-05-24T08:39:26+00:00",
   "opened_at": "2025-05-24T08:32:28+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.12
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add recommended models view",
   "number": 77,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 35,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-05-24T08:32:14+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Implement auto-save when renaming workflow",
   "number": 76,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 7,
   "deletions": 3,
   "merged_at": "2025-05-24T08:16:54+00:00",
   "opened_at": "2025-05-24T08:16:04+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix show more button visibility",
   "number": 75,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 0,
   "merged_at": "2025-05-24T08:16:25+00:00",
   "opened_at": "2025-05-24T08:15:35+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix left panel collapse logic",
   "number": 74,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 11,
   "deletions": 3,
   "merged_at": "2025-05-24T07:52:37+00:00",
   "opened_at": "2025-05-24T07:24:06+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0.48
  }
 ],
 "indexed": 59,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-05",
   "merged": 63,
   "flights": 77
  },
  {
   "burns": 0,
   "month": "2025-06",
   "merged": 10,
   "flights": 14
  },
  {
   "burns": 0,
   "month": "2025-07",
   "merged": 3,
   "flights": 5
  }
 ],
 "top_authors": [
  {
   "name": "georgi",
   "login": "georgi",
   "flights": 92,
   "indexed": 58
  },
  {
   "name": "heavy-d",
   "login": "heavy-d",
   "flights": 4,
   "indexed": 1
  }
 ],
 "page": "https://agentriders.com/logs/nodetool-ai/nodetool/"
}