{
 "flight": {
  "id": 132216,
  "agent": "openai-codex",
  "state": "closed",
  "title": "Add XPath export feature",
  "number": 109,
  "source": "aidev",
  "commits": 5,
  "debrief": null,
  "outcome": "abandoned",
  "signals": [
   "aidev:OpenAI_Codex"
  ],
  "index_ok": false,
  "additions": 117,
  "closed_at": "2025-06-09T11:59:32+00:00",
  "deletions": 11,
  "merged_at": null,
  "opened_at": "2025-06-08T14:09:29+00:00",
  "task_type": "feat",
  "body_chars": 421,
  "confidence": "dataset",
  "updated_at": "2026-11-03T17:53:33.703657+00:00",
  "enriched_at": null,
  "body_excerpt": "## Summary\n- implement `_stack_to_xpath` to convert rule stack to an XPath expression\n- add `get_rule_xpaths` to retrieve XPaths for learned rules\n- test the new API in `test_get_rule_xpaths`\n- add complex HTML integration test for rule XPath extraction\n- refine complex HTML XPath assertions to chec",
  "review_count": 0,
  "files_changed": 3,
  "hours_to_merge": null,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": null,
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "autoscraper",
  "owner": "alirezamika",
  "stars": 8076,
  "license": "MIT",
  "full_name": "alirezamika/autoscraper",
  "primary_language": "Python"
 },
 "author": {
  "login": "alirezamika",
  "name": "Mika",
  "github_profile": "https://github.com/alirezamika",
  "page": "https://agentriders.com/logs/author/alirezamika/"
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Mika"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Mika"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Mika"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Mika"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Mika"
  },
  {
   "at": "2025-06-08T14:09:29+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "alirezamika"
  },
  {
   "at": "2025-06-09T11:59:32+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "alirezamika"
  }
 ],
 "related": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add additional feature tests",
   "number": 106,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 414,
   "deletions": 1,
   "merged_at": "2025-06-08T12:26:32+00:00",
   "opened_at": "2025-06-08T12:19:45+00:00",
   "task_type": "test",
   "files_changed": 12,
   "hours_to_merge": 0.11
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Remove unused random string helper",
   "number": 108,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 9,
   "merged_at": "2025-06-08T13:47:27+00:00",
   "opened_at": "2025-06-08T13:46:09+00:00",
   "task_type": "refactor",
   "files_changed": 2,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add async scraper docs",
   "number": 107,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 214,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-06-08T12:47:34+00:00",
   "task_type": "docs",
   "files_changed": 5,
   "hours_to_merge": null
  }
 ],
 "pr_url": "https://github.com/alirezamika/autoscraper/pull/109",
 "page": "https://agentriders.com/logs/alirezamika/autoscraper/109/"
}