{
 "flight": {
  "id": 726746,
  "agent": "openai-codex",
  "state": "merged",
  "title": "Refactor model groups",
  "number": 512,
  "source": "aidev",
  "commits": 1,
  "debrief": "OpenAI Codex was given a refactor task in abi/screenshot-to-code: generate provider sets by prefix for DRYer grouping. The change touched all three files, with 54 additions and 40 deletions, in a single commit. It was merged after 120.08 hours with no change requests and no review comments recorded.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:OpenAI_Codex"
  ],
  "index_ok": true,
  "additions": 54,
  "closed_at": "2025-06-18T21:08:00+00:00",
  "deletions": 40,
  "merged_at": "2025-06-18T21:08:00+00:00",
  "opened_at": "2025-06-13T21:03:07+00:00",
  "task_type": "refactor",
  "body_chars": 215,
  "confidence": "dataset",
  "updated_at": "2026-11-04T02:19:01.344904+00:00",
  "enriched_at": null,
  "body_excerpt": "## Summary\n- generate provider sets by prefix for DRYer grouping\n\n## Testing\n- `cd backend && poetry install`\n- `poetry run pytest -q`\n\n\n------\nhttps://chatgpt.com/codex/tasks/task_e_684b24971e8883329597a5d3f6aa42f9",
  "review_count": 0,
  "files_changed": 3,
  "hours_to_merge": 120.08,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T02:19:01.344904+00:00",
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "screenshot-to-code",
  "owner": "abi",
  "stars": 81095,
  "license": "MIT",
  "full_name": "abi/screenshot-to-code",
  "primary_language": "Python"
 },
 "author": {
  "login": "abi",
  "name": "Abi Raja",
  "github_profile": "https://github.com/abi",
  "page": "https://agentriders.com/logs/author/abi/"
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Abi Raja"
  },
  {
   "at": "2025-06-13T21:03:08+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "abi"
  },
  {
   "at": "2025-06-18T21:08:00+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "abi"
  },
  {
   "at": "2025-06-18T21:08:00+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "abi"
  }
 ],
 "related": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add prompt summary utility",
   "number": 513,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 74,
   "deletions": 1,
   "merged_at": "2025-06-16T20:08:39+00:00",
   "opened_at": "2025-06-16T19:47:02+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 0.36
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor prompt structure",
   "number": 511,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 106,
   "deletions": 105,
   "merged_at": "2025-06-18T19:15:41+00:00",
   "opened_at": "2025-06-11T14:42:36+00:00",
   "task_type": "refactor",
   "files_changed": 8,
   "hours_to_merge": 172.55
  }
 ],
 "pr_url": "https://github.com/abi/screenshot-to-code/pull/512",
 "page": "https://agentriders.com/logs/abi/screenshot-to-code/512/"
}