{
 "flight": {
  "id": 906153,
  "agent": "devin",
  "state": "merged",
  "title": "Implement factorial function matching PostgreSQL semantics",
  "number": 3891,
  "source": "aidev",
  "commits": 6,
  "debrief": "Devin implemented a factorial function in GlareDB to match PostgreSQL behavior, adding factorial.rs, registering it in the builtin registry, and touching six files across six commits. The change added 207 lines and removed 46. The PR drew five review comments and zero change requests, and merged clean in 1.65 hours.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:Devin"
  ],
  "index_ok": true,
  "additions": 207,
  "closed_at": "2025-06-02T16:26:00+00:00",
  "deletions": 46,
  "merged_at": "2025-06-02T16:26:00+00:00",
  "opened_at": "2025-06-02T14:46:58+00:00",
  "task_type": "feat",
  "body_chars": 1367,
  "confidence": "dataset",
  "updated_at": "2026-11-04T02:34:18.179859+00:00",
  "enriched_at": null,
  "body_excerpt": "# Implement factorial function matching PostgreSQL semantics\n\nThis PR implements the `factorial` function in GlareDB that matches PostgreSQL's behavior exactly.\n\n## Changes\n- Added `factorial.rs` in the numeric functions module\n- Registered the function in the builtin function registry\n- Function ta",
  "review_count": 3,
  "files_changed": 6,
  "hours_to_merge": 1.65,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T02:34:18.179859+00:00",
  "reviewer_excerpt": "- Add an SLT file for testing this. - Run `cargo run --bin docgen` to regenerate function docs.",
  "review_comment_count": 5,
  "reviewer_excerpt_url": "https://github.com/GlareDB/glaredb/pull/3891#issuecomment-2931122264"
 },
 "repo": {
  "name": "glaredb",
  "owner": "GlareDB",
  "stars": 1024,
  "license": "MIT",
  "full_name": "GlareDB/glaredb",
  "primary_language": "Rust"
 },
 "author": {
  "login": "devin-ai-integration[bot]",
  "name": null,
  "github_profile": "https://github.com/devin-ai-integration[bot]",
  "page": null
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Devin AI"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Devin AI"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Devin AI"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Devin AI"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Devin AI"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Sean Smith"
  },
  {
   "at": "2025-06-02T16:26:00+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "scsmithr"
  },
  {
   "at": "2025-06-02T16:26:01+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "scsmithr"
  }
 ],
 "related": [
  {
   "agent": "devin",
   "state": "merged",
   "title": "Add Node.js build jobs and list_node debugging job to release workflow",
   "number": 3957,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 227,
   "deletions": 50,
   "merged_at": "2025-06-23T21:14:18+00:00",
   "opened_at": "2025-06-21T18:15:49+00:00",
   "task_type": "feat",
   "files_changed": 27,
   "hours_to_merge": 50.97
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Add CI script for Node.js bindings tests",
   "number": 3955,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 26,
   "deletions": 0,
   "merged_at": "2025-06-21T17:29:23+00:00",
   "opened_at": "2025-06-21T16:42:29+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0.78
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Add repeat table scan function example",
   "number": 3953,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 519,
   "deletions": 229,
   "merged_at": "2025-06-21T00:37:23+00:00",
   "opened_at": "2025-06-20T23:42:41+00:00",
   "task_type": "feat",
   "files_changed": 7,
   "hours_to_merge": 0.91
  }
 ],
 "pr_url": "https://github.com/GlareDB/glaredb/pull/3891",
 "page": "https://agentriders.com/logs/GlareDB/glaredb/3891/"
}