{
 "repo": {
  "name": "shinnku-com",
  "owner": "shinnku-nikaidou",
  "stars": 685,
  "license": "MIT",
  "full_name": "shinnku-nikaidou/shinnku-com",
  "fetched_at": "2026-11-08T11:01:08.668019+00:00",
  "primary_language": "TypeScript"
 },
 "burns": [],
 "total": 76,
 "agents": [
  {
   "agent": "openai-codex",
   "merged": 72,
   "flights": 76,
   "burn_rate": 0,
   "merge_rate": 0.96,
   "last_flight_at": "2025-07-03T08:44:27+00:00",
   "median_hours_to_merge": 0
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix ESLint circular fix warnings",
   "number": 221,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 3,
   "deletions": 23,
   "merged_at": "2025-07-03T08:44:37+00:00",
   "opened_at": "2025-07-03T08:44:27+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Rewrite ESLint config",
   "number": 220,
   "outcome": "stale",
   "index_ok": false,
   "additions": 97,
   "deletions": 105,
   "merged_at": null,
   "opened_at": "2025-07-03T08:44:14+00:00",
   "task_type": "refactor",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add zod validation for search and blog posts",
   "number": 219,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 65,
   "deletions": 11,
   "merged_at": "2025-07-03T07:18:08+00:00",
   "opened_at": "2025-07-03T07:17:57+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor navigation lists",
   "number": 218,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 51,
   "deletions": 76,
   "merged_at": "2025-07-03T05:53:09+00:00",
   "opened_at": "2025-07-03T05:52:39+00:00",
   "task_type": "refactor",
   "files_changed": 3,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix component filename inconsistencies",
   "number": 217,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 16,
   "deletions": 16,
   "merged_at": "2025-07-03T05:39:20+00:00",
   "opened_at": "2025-07-03T05:39:09+00:00",
   "task_type": "fix",
   "files_changed": 24,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add full shadcn component set",
   "number": 216,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 6111,
   "deletions": 85,
   "merged_at": "2025-07-03T05:04:04+00:00",
   "opened_at": "2025-07-03T05:03:29+00:00",
   "task_type": "feat",
   "files_changed": 40,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Implement ProxyService with Tower",
   "number": 215,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 80,
   "deletions": 37,
   "merged_at": "2025-07-03T02:53:39+00:00",
   "opened_at": "2025-07-03T02:53:19+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve backend error handling",
   "number": 214,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 30,
   "deletions": 20,
   "merged_at": "2025-07-03T02:38:18+00:00",
   "opened_at": "2025-07-03T02:38:04+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor backend router using Axum submodules",
   "number": 213,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 54,
   "deletions": 17,
   "merged_at": "2025-07-03T02:07:50+00:00",
   "opened_at": "2025-07-03T02:03:28+00:00",
   "task_type": "refactor",
   "files_changed": 6,
   "hours_to_merge": 0.07
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Move inode types to models and rename handler file",
   "number": 212,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 40,
   "deletions": 34,
   "merged_at": "2025-06-30T09:26:20+00:00",
   "opened_at": "2025-06-30T09:26:09+00:00",
   "task_type": "refactor",
   "files_changed": 4,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor backend file tree models",
   "number": 211,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 25,
   "deletions": 22,
   "merged_at": "2025-06-30T09:16:43+00:00",
   "opened_at": "2025-06-30T09:16:28+00:00",
   "task_type": "refactor",
   "files_changed": 7,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Unify backend error handling and logging",
   "number": 210,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 168,
   "deletions": 64,
   "merged_at": "2025-06-30T09:10:22+00:00",
   "opened_at": "2025-06-30T09:10:12+00:00",
   "task_type": "refactor",
   "files_changed": 11,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Remove async wrappers for inode",
   "number": 209,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 22,
   "deletions": 12,
   "merged_at": "2025-06-30T08:57:46+00:00",
   "opened_at": "2025-06-30T08:57:35+00:00",
   "task_type": "refactor",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Introduce basic service layer",
   "number": 208,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 41,
   "deletions": 32,
   "merged_at": "2025-06-30T08:20:31+00:00",
   "opened_at": "2025-06-30T08:17:51+00:00",
   "task_type": "refactor",
   "files_changed": 5,
   "hours_to_merge": 0.04
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix route names and refactor handlers",
   "number": 207,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 42,
   "deletions": 39,
   "merged_at": "2025-06-30T07:44:06+00:00",
   "opened_at": "2025-06-30T07:43:52+00:00",
   "task_type": "fix",
   "files_changed": 11,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve error handling",
   "number": 206,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 60,
   "deletions": 20,
   "merged_at": "2025-06-30T07:20:40+00:00",
   "opened_at": "2025-06-30T07:20:29+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update dependencies",
   "number": 204,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 668,
   "deletions": 631,
   "merged_at": "2025-06-21T13:37:31+00:00",
   "opened_at": "2025-06-21T13:37:18+00:00",
   "task_type": "build",
   "files_changed": 13,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Remove HeroUI dependency",
   "number": 203,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 43,
   "deletions": 111,
   "merged_at": "2025-06-21T12:13:43+00:00",
   "opened_at": "2025-06-21T12:13:15+00:00",
   "task_type": "refactor",
   "files_changed": 8,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Replace hero ui in blog header",
   "number": 202,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 39,
   "deletions": 13,
   "merged_at": "2025-06-21T11:50:18+00:00",
   "opened_at": "2025-06-21T11:50:05+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor sidebar drawer to shadcn",
   "number": 201,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 9,
   "deletions": 19,
   "merged_at": "2025-06-21T11:19:17+00:00",
   "opened_at": "2025-06-21T11:18:51+00:00",
   "task_type": "refactor",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor GameIntro component",
   "number": 200,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 22,
   "deletions": 19,
   "merged_at": "2025-06-21T11:19:00+00:00",
   "opened_at": "2025-06-21T11:18:37+00:00",
   "task_type": "refactor",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Switch return button to shadcn",
   "number": 199,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 22,
   "deletions": 14,
   "merged_at": "2025-06-21T10:41:53+00:00",
   "opened_at": "2025-06-21T10:41:35+00:00",
   "task_type": "refactor",
   "files_changed": 2,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Replace heroui Link in SideTreeItem",
   "number": 198,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 7,
   "deletions": 4,
   "merged_at": "2025-06-21T10:13:42+00:00",
   "opened_at": "2025-06-21T10:13:28+00:00",
   "task_type": "refactor",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix theme-switch icons visibility",
   "number": 197,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 12,
   "deletions": 8,
   "merged_at": "2025-06-21T09:48:03+00:00",
   "opened_at": "2025-06-21T09:47:42+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Refactor Navbar to Shadcn components",
   "number": 196,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 72,
   "deletions": 76,
   "merged_at": null,
   "opened_at": "2025-06-21T08:57:37+00:00",
   "task_type": "refactor",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Replace unwraps in fuse module",
   "number": 193,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 19,
   "deletions": 13,
   "merged_at": "2025-06-20T17:30:20+00:00",
   "opened_at": "2025-06-20T17:30:07+00:00",
   "task_type": "refactor",
   "files_changed": 3,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "docs: detail Fuse algorithm",
   "number": 192,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 1,
   "merged_at": "2025-06-20T14:48:27+00:00",
   "opened_at": "2025-06-20T14:47:47+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add backend tech stack post",
   "number": 191,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 51,
   "deletions": 0,
   "merged_at": "2025-06-20T14:39:33+00:00",
   "opened_at": "2025-06-20T14:39:10+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add image proxy API",
   "number": 190,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 36,
   "deletions": 2,
   "merged_at": "2025-06-20T13:45:08+00:00",
   "opened_at": "2025-06-20T13:44:56+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix search progress bar",
   "number": 189,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 4,
   "deletions": 4,
   "merged_at": "2025-06-20T11:57:34+00:00",
   "opened_at": "2025-06-20T11:57:04+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor blog components and remove 'kun' naming",
   "number": 188,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 110,
   "deletions": 110,
   "merged_at": "2025-06-20T11:30:05+00:00",
   "opened_at": "2025-06-20T11:29:34+00:00",
   "task_type": "refactor",
   "files_changed": 22,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Ensure proxy returns JSON",
   "number": 187,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 3,
   "deletions": 3,
   "merged_at": "2025-06-20T10:01:33+00:00",
   "opened_at": "2025-06-20T10:01:13+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add search page loading bar",
   "number": 186,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 9,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-06-20T09:48:01+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add wikisearchpicture endpoint in Rust",
   "number": 185,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 55,
   "deletions": 4,
   "merged_at": "2025-06-20T08:59:41+00:00",
   "opened_at": "2025-06-20T08:58:58+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Remove Fuse.js and call Rust backend for search",
   "number": 184,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 11,
   "deletions": 31,
   "merged_at": "2025-06-20T08:02:55+00:00",
   "opened_at": "2025-06-20T08:02:44+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor ai_search to use backend combine search",
   "number": 183,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 12,
   "deletions": 42,
   "merged_at": "2025-06-20T07:52:37+00:00",
   "opened_at": "2025-06-20T07:52:24+00:00",
   "task_type": "refactor",
   "files_changed": 3,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor handlers into separate modules",
   "number": 182,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 169,
   "deletions": 161,
   "merged_at": "2025-06-20T07:37:20+00:00",
   "opened_at": "2025-06-20T07:37:08+00:00",
   "task_type": "refactor",
   "files_changed": 5,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add combine search API",
   "number": 181,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 25,
   "deletions": 2,
   "merged_at": "2025-06-20T07:27:02+00:00",
   "opened_at": "2025-06-20T07:26:40+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add combined search",
   "number": 180,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 65,
   "deletions": 0,
   "merged_at": "2025-06-20T07:21:13+00:00",
   "opened_at": "2025-06-20T07:20:13+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor fuse module layout",
   "number": 179,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 792,
   "deletions": 787,
   "merged_at": "2025-06-20T07:14:19+00:00",
   "opened_at": "2025-06-20T07:13:25+00:00",
   "task_type": "refactor",
   "files_changed": 3,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add search endpoint",
   "number": 177,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 23,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-06-20T06:53:49+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Implement Rust search",
   "number": 176,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 47,
   "deletions": 2,
   "merged_at": "2025-06-20T06:39:37+00:00",
   "opened_at": "2025-06-20T06:39:25+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fetch file listing from backend",
   "number": 175,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 24,
   "deletions": 21,
   "merged_at": "2025-06-20T06:01:05+00:00",
   "opened_at": "2025-06-20T06:00:53+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Adjust inode API response",
   "number": 174,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 37,
   "deletions": 14,
   "merged_at": "2025-06-20T05:33:15+00:00",
   "opened_at": "2025-06-20T05:33:04+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add inode backend route",
   "number": 173,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 60,
   "deletions": 4,
   "merged_at": "2025-06-20T05:03:14+00:00",
   "opened_at": "2025-06-20T05:02:52+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Initialize root data via tokio OnceCell",
   "number": 172,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 15,
   "deletions": 2,
   "merged_at": "2025-06-20T04:51:28+00:00",
   "opened_at": "2025-06-20T04:49:49+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 0.03
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add tree helper function in Rust backend",
   "number": 171,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 31,
   "deletions": 0,
   "merged_at": "2025-06-19T16:46:14+00:00",
   "opened_at": "2025-06-19T16:27:46+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.31
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Port frontend init code to Rust",
   "number": 170,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 70,
   "deletions": 0,
   "merged_at": "2025-06-19T15:54:46+00:00",
   "opened_at": "2025-06-19T15:47:04+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 0.13
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Adjust background opacity",
   "number": 168,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 19,
   "deletions": 5,
   "merged_at": "2025-06-13T16:55:35+00:00",
   "opened_at": "2025-06-13T16:55:21+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Restore Python scripts and maintain proxy backend",
   "number": 167,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 938,
   "deletions": 370,
   "merged_at": "2025-06-04T16:31:20+00:00",
   "opened_at": "2025-06-04T16:23:37+00:00",
   "task_type": "fix",
   "files_changed": 5,
   "hours_to_merge": 0.13
  }
 ],
 "indexed": 56,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-06",
   "merged": 64,
   "flights": 67
  },
  {
   "burns": 0,
   "month": "2025-07",
   "merged": 8,
   "flights": 9
  }
 ],
 "top_authors": [
  {
   "name": "Shinnku",
   "login": "shinnku-nikaidou",
   "flights": 76,
   "indexed": 56
  }
 ],
 "page": "https://agentriders.com/logs/shinnku-nikaidou/shinnku-com/"
}