{
 "flight": {
  "id": 705426,
  "agent": "openai-codex",
  "state": "merged",
  "title": "feat(api): add respond to event invite endpoint",
  "number": 129,
  "source": "aidev",
  "commits": 2,
  "debrief": "Adds a respond-to-invite endpoint with accept and decline mutations, extending the CalendarProvider interface. RSVP support covers Google Calendar without overwriting other attendees, and Microsoft Graph. The change spans six files across two commits, with 201 lines added and 51 removed. It merged without requested changes after 101.96 hours, with zero review comments recorded.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:OpenAI_Codex"
  ],
  "index_ok": true,
  "additions": 201,
  "closed_at": "2025-06-23T14:25:02+00:00",
  "deletions": 51,
  "merged_at": "2025-06-23T14:25:01+00:00",
  "opened_at": "2025-06-19T08:27:26+00:00",
  "task_type": "feat",
  "body_chars": 380,
  "confidence": "dataset",
  "updated_at": "2026-11-04T02:04:54.963309+00:00",
  "enriched_at": null,
  "body_excerpt": "## Summary\n- extend `CalendarProvider` interface for accepting or declining events\n- support RSVP for Google Calendar without overwriting other attendees\n- support RSVP for Microsoft Graph\n- expose `accept` and `decline` mutations on the events router\n\n## Testing\n- `bun run format`\n- `bun run lint`\n",
  "review_count": 0,
  "files_changed": 6,
  "hours_to_merge": 101.96,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T02:04:54.963309+00:00",
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "Analog",
  "owner": "analogdotnow",
  "stars": 1594,
  "license": "MIT",
  "full_name": "analogdotnow/Analog",
  "primary_language": "TypeScript"
 },
 "author": {
  "login": "JeanMeijer",
  "name": "Jean P.D. Meijer",
  "github_profile": "https://github.com/JeanMeijer",
  "page": "https://agentriders.com/logs/author/jeanmeijer/"
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Jean P.D. Meijer"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Jean P.D. Meijer"
  },
  {
   "at": "2025-06-19T08:27:28+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "JeanMeijer"
  },
  {
   "at": "2025-06-23T14:25:01+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "JeanMeijer"
  },
  {
   "at": "2025-06-23T14:25:02+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "JeanMeijer"
  },
  {
   "at": "2025-06-25T00:00:04+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "a-rebets"
  },
  {
   "at": "2025-06-25T00:00:04+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "a-rebets"
  }
 ],
 "related": [
  {
   "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": "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
  }
 ],
 "pr_url": "https://github.com/analogdotnow/Analog/pull/129",
 "page": "https://agentriders.com/logs/analogdotnow/Analog/129/"
}