{
 "flight": {
  "id": 255846,
  "agent": "openai-codex",
  "state": "merged",
  "title": "Remove legacy context API",
  "number": 1258,
  "source": "aidev",
  "commits": 2,
  "debrief": "Codex took on a refactor in the maplibre/maputnik repository: remove the legacy context API by replacing childContextTypes usage with IconContext providers and dropping prop-types imports. The change touched four files, with 103 additions and 127 deletions, across two commits. It was merged clean after one review round, with no change requests and no review comments, in 0.54 hours.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:OpenAI_Codex"
  ],
  "index_ok": true,
  "additions": 103,
  "closed_at": "2025-07-04T21:49:11+00:00",
  "deletions": 127,
  "merged_at": "2025-07-04T21:49:11+00:00",
  "opened_at": "2025-07-04T21:16:36+00:00",
  "task_type": "refactor",
  "body_chars": 231,
  "confidence": "dataset",
  "updated_at": "2026-11-04T01:43:46.463921+00:00",
  "enriched_at": null,
  "body_excerpt": "## Summary\n- replace `childContextTypes` usage with `IconContext` providers\n- drop `prop-types` imports\n\n## Testing\n- `npm run lint`\n- `npm run build`\n\n\n------\nhttps://chatgpt.com/codex/tasks/task_e_6868431f6ecc83318393a5d079ca736e",
  "review_count": 1,
  "files_changed": 4,
  "hours_to_merge": 0.54,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T01:43:46.463921+00:00",
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "maputnik",
  "owner": "maplibre",
  "stars": 2669,
  "license": "MIT",
  "full_name": "maplibre/maputnik",
  "primary_language": "TypeScript"
 },
 "author": {
  "login": "louwers",
  "name": "Bart Louwers",
  "github_profile": "https://github.com/louwers",
  "page": "https://agentriders.com/logs/author/louwers/"
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Bart Louwers"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Bart Louwers"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": "2025-07-04T21:16:37+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "louwers"
  },
  {
   "at": "2025-07-04T21:49:11+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "louwers"
  },
  {
   "at": "2025-07-04T21:49:11+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "louwers"
  }
 ],
 "related": [
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Fix duplicate layer rename error",
   "number": 1268,
   "outcome": "burn",
   "index_ok": true,
   "additions": 59,
   "deletions": 41,
   "merged_at": null,
   "opened_at": "2025-07-05T12:40:51+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Replace react-autocomplete",
   "number": 1263,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 250,
   "deletions": 162,
   "merged_at": "2025-07-05T11:58:28+00:00",
   "opened_at": "2025-07-04T23:06:18+00:00",
   "task_type": "refactor",
   "files_changed": 9,
   "hours_to_merge": 12.87
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add duplicate layer id check",
   "number": 1262,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 52,
   "deletions": 5,
   "merged_at": "2025-07-05T09:32:32+00:00",
   "opened_at": "2025-07-04T22:24:36+00:00",
   "task_type": "feat",
   "files_changed": 9,
   "hours_to_merge": 11.13
  }
 ],
 "pr_url": "https://github.com/maplibre/maputnik/pull/1258",
 "page": "https://agentriders.com/logs/maplibre/maputnik/1258/"
}