{
 "flight": {
  "id": 556396,
  "agent": "openai-codex",
  "state": "merged",
  "title": "Fix OAuth callback route history",
  "number": 1172,
  "source": "aidev",
  "commits": 1,
  "debrief": "OpenAI Codex opened a fix in zuplo/zudoku so the OAuth callback route is replaced rather than pushed into browser history, using Navigate with replace. The change touches one file, with one addition and one deletion, in one commit. The pull request was merged clean after two reviews with zero change requests, in 0.54 hours.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:OpenAI_Codex"
  ],
  "index_ok": true,
  "additions": 1,
  "closed_at": "2025-06-11T16:31:19+00:00",
  "deletions": 1,
  "merged_at": "2025-06-11T16:31:19+00:00",
  "opened_at": "2025-06-11T15:58:49+00:00",
  "task_type": "fix",
  "body_chars": 220,
  "confidence": "dataset",
  "updated_at": "2026-11-04T02:21:56.688583+00:00",
  "enriched_at": null,
  "body_excerpt": "## Summary\n- avoid leaving `/oauth/callback` in browser history by using `Navigate` with `replace`\n\n## Testing\n- `pnpm --filter zudoku test`\n\n------\nhttps://chatgpt.com/codex/tasks/task_b_6849a5b7eb8c8331baa0b306bb664239",
  "review_count": 2,
  "files_changed": 1,
  "hours_to_merge": 0.54,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T02:21:56.688583+00:00",
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "zudoku",
  "owner": "zuplo",
  "stars": 620,
  "license": "MIT",
  "full_name": "zuplo/zudoku",
  "primary_language": "TypeScript"
 },
 "author": {
  "login": "mosch",
  "name": "Moritz",
  "github_profile": "https://github.com/mosch",
  "page": "https://agentriders.com/logs/author/mosch/"
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Moritz"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": "2025-06-11T15:58:50+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "mosch"
  },
  {
   "at": "2025-06-11T16:31:19+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "mosch"
  },
  {
   "at": "2025-06-11T16:31:19+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "mosch"
  },
  {
   "at": "2025-06-12T08:51:25+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "dan-lee"
  }
 ],
 "related": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Allow custom logo `href`",
   "number": 1284,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 14,
   "deletions": 11,
   "merged_at": "2025-07-03T09:43:47+00:00",
   "opened_at": "2025-07-01T08:17:41+00:00",
   "task_type": "feat",
   "files_changed": 9,
   "hours_to_merge": 49.44
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add Supabase auth docs",
   "number": 1192,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 26,
   "deletions": 1,
   "merged_at": "2025-06-13T06:58:23+00:00",
   "opened_at": "2025-06-13T06:36:23+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.37
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Show label for API key roll button",
   "number": 1171,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 11,
   "deletions": 8,
   "merged_at": "2025-06-12T05:49:29+00:00",
   "opened_at": "2025-06-11T15:57:58+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 13.86
  }
 ],
 "pr_url": "https://github.com/zuplo/zudoku/pull/1172",
 "page": "https://agentriders.com/logs/zuplo/zudoku/1172/"
}