{
 "repo": {
  "name": "Analog",
  "owner": "analogdotnow",
  "stars": 1594,
  "license": "MIT",
  "full_name": "analogdotnow/Analog",
  "fetched_at": "2026-11-08T11:00:08.865779+00:00",
  "primary_language": "TypeScript"
 },
 "burns": [],
 "total": 27,
 "agents": [
  {
   "agent": "openai-codex",
   "merged": 14,
   "flights": 27,
   "burn_rate": 0,
   "merge_rate": 0.875,
   "last_flight_at": "2025-07-18T23:34:55+00:00",
   "median_hours_to_merge": 47
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(web): add keyboard shortcut to cancel drag to create",
   "number": 231,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 48,
   "deletions": 12,
   "merged_at": "2025-07-20T22:24:16+00:00",
   "opened_at": "2025-07-18T23:34:55+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 46.82
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Extend calendar preferences atom",
   "number": 230,
   "outcome": "stale",
   "index_ok": false,
   "additions": 116,
   "deletions": 72,
   "merged_at": null,
   "opened_at": "2025-07-18T23:30:55+00:00",
   "task_type": "feat",
   "files_changed": 12,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(web): add double click to create draft",
   "number": 227,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 131,
   "deletions": 20,
   "merged_at": "2025-07-20T21:56:04+00:00",
   "opened_at": "2025-07-17T16:21:18+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 77.58
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(api): retrieve user attendee responses for events",
   "number": 225,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 203,
   "deletions": 71,
   "merged_at": "2025-07-21T00:28:44+00:00",
   "opened_at": "2025-07-17T14:29:58+00:00",
   "task_type": "feat",
   "files_changed": 8,
   "hours_to_merge": 81.98
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add mobile drawer for event form",
   "number": 224,
   "outcome": "stale",
   "index_ok": false,
   "additions": 176,
   "deletions": 11,
   "merged_at": null,
   "opened_at": "2025-07-17T14:27:15+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Implement Vercel BotID",
   "number": 219,
   "outcome": "stale",
   "index_ok": false,
   "additions": 28,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-07-16T18:32:46+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "feat(ical): add @analog/ical package support",
   "number": 216,
   "outcome": "stale",
   "index_ok": false,
   "additions": 340,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-07-15T16:10:26+00:00",
   "task_type": "feat",
   "files_changed": 9,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add etag field to calendar events",
   "number": 215,
   "outcome": "stale",
   "index_ok": false,
   "additions": 26,
   "deletions": 8,
   "merged_at": null,
   "opened_at": "2025-07-15T13:25:55+00:00",
   "task_type": "feat",
   "files_changed": 7,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add LiveStore schema",
   "number": 214,
   "outcome": "stale",
   "index_ok": false,
   "additions": 257,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-15T12:01:45+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Upgrade Zod to v4",
   "number": 198,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 10,
   "deletions": 10,
   "merged_at": null,
   "opened_at": "2025-07-10T21:27:29+00:00",
   "task_type": "fix",
   "files_changed": 6,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "chore(web): add browser timezone and locale utils",
   "number": 168,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1725,
   "deletions": 1655,
   "merged_at": "2025-07-15T01:16:32+00:00",
   "opened_at": "2025-07-02T10:51:43+00:00",
   "task_type": "chore",
   "files_changed": 11,
   "hours_to_merge": 302.41
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(auth): add secondary storage using upstash redis",
   "number": 166,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 45,
   "deletions": 4,
   "merged_at": "2025-07-15T00:51:34+00:00",
   "opened_at": "2025-07-02T09:15:09+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 303.61
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Add reauth flow for missing tokens",
   "number": 165,
   "outcome": "stale",
   "index_ok": false,
   "additions": 97,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-07-02T09:11:03+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "Implement Google Calendar event move",
   "number": 164,
   "outcome": "stale",
   "index_ok": false,
   "additions": 20,
   "deletions": 7,
   "merged_at": null,
   "opened_at": "2025-07-02T09:10:14+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "feat(api): add reminder parsing to providers",
   "number": 148,
   "outcome": "stale",
   "index_ok": false,
   "additions": 71,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-06-23T14:34:56+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "feat(web): remove agenda view",
   "number": 134,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 4,
   "deletions": 180,
   "merged_at": null,
   "opened_at": "2025-06-21T11:53:48+00:00",
   "task_type": "feat",
   "files_changed": 11,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "chore(web): add discord redirect",
   "number": 133,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 9,
   "deletions": 1,
   "merged_at": "2025-06-23T10:50:45+00:00",
   "opened_at": "2025-06-21T11:38:48+00:00",
   "task_type": "chore",
   "files_changed": 1,
   "hours_to_merge": 47.2
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(api): add respond to event invite endpoint",
   "number": 129,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 201,
   "deletions": 51,
   "merged_at": "2025-06-23T14:25:01+00:00",
   "opened_at": "2025-06-19T08:27:26+00:00",
   "task_type": "feat",
   "files_changed": 6,
   "hours_to_merge": 101.96
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "feat(auth): account sign-in enable/disable",
   "number": 126,
   "outcome": "stale",
   "index_ok": false,
   "additions": 92,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-06-18T23:22:38+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "feat(api): add freebusy query support to providers",
   "number": 123,
   "outcome": "stale",
   "index_ok": false,
   "additions": 171,
   "deletions": 1,
   "merged_at": null,
   "opened_at": "2025-06-17T19:19:20+00:00",
   "task_type": "feat",
   "files_changed": 7,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "chore(docs): improve CONTRIBUTING.md",
   "number": 122,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 15,
   "deletions": 12,
   "merged_at": "2025-06-17T19:04:22+00:00",
   "opened_at": "2025-06-17T10:28:49+00:00",
   "task_type": "chore",
   "files_changed": 1,
   "hours_to_merge": 8.59
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(db): add calendar and event tables",
   "number": 121,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1034,
   "deletions": 142,
   "merged_at": "2025-06-30T15:20:35+00:00",
   "opened_at": "2025-06-17T10:28:26+00:00",
   "task_type": "feat",
   "files_changed": 12,
   "hours_to_merge": 316.87
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix Temporal.Instant handling for Microsoft calendar",
   "number": 117,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 12,
   "deletions": 2,
   "merged_at": "2025-06-16T08:05:09+00:00",
   "opened_at": "2025-06-16T00:50:36+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 7.24
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add calendar-aware year comparison",
   "number": 116,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 14,
   "deletions": 11,
   "merged_at": "2025-06-16T08:08:07+00:00",
   "opened_at": "2025-06-16T00:27:30+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 7.68
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix calendars visibility atom file name",
   "number": 104,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 1,
   "merged_at": "2025-06-05T00:29:12+00:00",
   "opened_at": "2025-06-05T00:23:34+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0.09
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix token retrieval for fallback active account",
   "number": 103,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 13,
   "deletions": 1,
   "merged_at": "2025-06-05T00:18:08+00:00",
   "opened_at": "2025-06-05T00:10:09+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.13
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update contributing docs",
   "number": 102,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 5,
   "deletions": 4,
   "merged_at": "2025-06-05T00:22:28+00:00",
   "opened_at": "2025-06-05T00:09:21+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.22
  }
 ],
 "indexed": 9,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-06",
   "merged": 9,
   "flights": 13
  },
  {
   "burns": 0,
   "month": "2025-07",
   "merged": 5,
   "flights": 14
  }
 ],
 "top_authors": [
  {
   "name": "Jean P.D. Meijer",
   "login": "JeanMeijer",
   "flights": 27,
   "indexed": 9
  }
 ],
 "page": "https://agentriders.com/logs/analogdotnow/Analog/"
}