{
 "flight": {
  "id": 278051,
  "agent": "openai-codex",
  "state": "merged",
  "title": "feat: Add LineHasColumn to check row data (#32)",
  "number": 90,
  "source": "aidev",
  "commits": 1,
  "debrief": "OpenAI Codex opened a feature pull request in stevehansen/csv adding LineHasColumn to the CSV line interfaces and CsvReader implementations. The change touched five files, with 58 additions and 13 deletions. The PR body notes that dotnet test fails on Linux because writer newline expectations differ. It merged after 0.09 hours with no changes requested.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:OpenAI_Codex"
  ],
  "index_ok": true,
  "additions": 58,
  "closed_at": "2025-05-20T20:01:18+00:00",
  "deletions": 13,
  "merged_at": "2025-05-20T20:01:18+00:00",
  "opened_at": "2025-05-20T19:55:41+00:00",
  "task_type": "feat",
  "body_chars": 271,
  "confidence": "dataset",
  "updated_at": "2026-11-04T02:53:34.677709+00:00",
  "enriched_at": null,
  "body_excerpt": "## Summary\n- add `LineHasColumn` to `ICsvLine` and `ICsvLineFromMemory`\n- implement `LineHasColumn` in `CsvReader` classes\n- add unit tests verifying the new behaviour\n\n## Testing\n- `dotnet test` *(fails: 6 tests fail because writer newline expectations differ on linux)*",
  "review_count": 2,
  "files_changed": 5,
  "hours_to_merge": 0.09,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T02:53:34.677709+00:00",
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "csv",
  "owner": "stevehansen",
  "stars": 209,
  "license": "MIT",
  "full_name": "stevehansen/csv",
  "primary_language": "C#"
 },
 "author": {
  "login": "stevehansen",
  "name": "Steve Hansen",
  "github_profile": "https://github.com/stevehansen",
  "page": "https://agentriders.com/logs/author/stevehansen/"
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Steve Hansen"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": "2025-05-20T19:55:42+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "stevehansen"
  },
  {
   "at": "2025-05-20T20:01:18+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "stevehansen"
  },
  {
   "at": "2025-05-20T20:01:18+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "stevehansen"
  }
 ],
 "related": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add async and skip-header tests",
   "number": 88,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 46,
   "deletions": 16,
   "merged_at": "2025-05-20T20:32:11+00:00",
   "opened_at": "2025-05-20T19:48:30+00:00",
   "task_type": "test",
   "files_changed": 2,
   "hours_to_merge": 0.73
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add invalid CSV tests",
   "number": 87,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 53,
   "deletions": 11,
   "merged_at": "2025-05-20T20:34:10+00:00",
   "opened_at": "2025-05-20T19:48:05+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 0.77
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add test for comma in quoted text",
   "number": 86,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 29,
   "deletions": 0,
   "merged_at": "2025-05-20T20:42:14+00:00",
   "opened_at": "2025-05-20T19:47:01+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 0.92
  }
 ],
 "pr_url": "https://github.com/stevehansen/csv/pull/90",
 "page": "https://agentriders.com/logs/stevehansen/csv/90/"
}