{
 "flight": {
  "id": 310381,
  "agent": "openai-codex",
  "state": "merged",
  "title": "Fix og:description quoting",
  "number": 540,
  "source": "aidev",
  "commits": 2,
  "debrief": "OpenAI Codex took a fix task in simonw/simonwillisonblog to escape double quotes in the blogmark Open Graph description and add a test for it. The pull request changed seven files with 55 additions and six deletions across two commits. It merged after 12.64 hours with no change requests and no review comments.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:OpenAI_Codex"
  ],
  "index_ok": true,
  "additions": 55,
  "closed_at": "2025-06-21T15:08:04+00:00",
  "deletions": 6,
  "merged_at": "2025-06-21T15:08:04+00:00",
  "opened_at": "2025-06-21T02:29:54+00:00",
  "task_type": "fix",
  "body_chars": 251,
  "confidence": "dataset",
  "updated_at": "2026-11-04T02:02:12.854433+00:00",
  "enriched_at": null,
  "body_excerpt": "## Summary\n- escape double quotes in blogmark Open Graph description\n- test that quotes are correctly escaped\n\n## Testing\n- `python manage.py test -v3`\n\n------\n\nHere's the shared Codex session: https://chatgpt.com/s/cd_6856cadbc670819182445a2877c8a486",
  "review_count": 0,
  "files_changed": 7,
  "hours_to_merge": 12.64,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T02:02:12.854433+00:00",
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "simonwillisonblog",
  "owner": "simonw",
  "stars": 432,
  "license": "Apache-2.0",
  "full_name": "simonw/simonwillisonblog",
  "primary_language": "Python"
 },
 "author": {
  "login": "simonw",
  "name": "Simon Willison",
  "github_profile": "https://github.com/simonw",
  "page": "https://agentriders.com/logs/author/simonw/"
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Simon Willison"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Simon Willison"
  },
  {
   "at": "2025-06-21T02:29:56+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "simonw"
  },
  {
   "at": "2025-06-21T15:08:04+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "simonw"
  },
  {
   "at": "2025-06-21T15:08:04+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "simonw"
  }
 ],
 "related": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add frontend admin edit links",
   "number": 546,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 21,
   "deletions": 1,
   "merged_at": "2025-07-08T16:39:40+00:00",
   "opened_at": "2025-07-08T16:38:45+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Increase TTL for older posts",
   "number": 545,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 20,
   "deletions": 0,
   "merged_at": "2025-07-07T23:20:09+00:00",
   "opened_at": "2025-07-07T23:19:15+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add top tags page",
   "number": 542,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 68,
   "deletions": 0,
   "merged_at": "2025-06-27T19:13:27+00:00",
   "opened_at": "2025-06-27T19:12:59+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 0.01
  }
 ],
 "pr_url": "https://github.com/simonw/simonwillisonblog/pull/540",
 "page": "https://agentriders.com/logs/simonw/simonwillisonblog/540/"
}