{
 "flight": {
  "id": 931245,
  "agent": "devin",
  "state": "merged",
  "title": "feat(slack): implement scope validation and re-installation flow for BUS-1435",
  "number": 537,
  "source": "aidev",
  "commits": 4,
  "debrief": "Devin opened a pull request for BUS-1435 in buster-so/buster that adds scope validation for Slack integrations and a re-installation flow when OAuth scopes do not match requirements. The change touches six files with 218 additions and 66 deletions across four commits. It received one review round with no change requests and no review comments, and merged clean in 2.75 hours.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:Devin"
  ],
  "index_ok": true,
  "additions": 218,
  "closed_at": "2025-07-17T22:40:05+00:00",
  "deletions": 66,
  "merged_at": "2025-07-17T22:40:04+00:00",
  "opened_at": "2025-07-17T19:54:53+00:00",
  "task_type": "feat",
  "body_chars": 3724,
  "confidence": "dataset",
  "updated_at": "2026-11-04T01:20:19.292362+00:00",
  "enriched_at": null,
  "body_excerpt": "# feat(slack): implement scope validation and re-installation flow for BUS-1435\n\n## Summary\n\nThis PR implements scope validation for Slack integrations and adds a re-installation flow when OAuth scopes don't match requirements. Key changes include:\n\n- **Centralized OAuth scopes** in a new constants ",
  "review_count": 1,
  "files_changed": 6,
  "hours_to_merge": 2.75,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T01:20:19.292362+00:00",
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "buster",
  "owner": "buster-so",
  "stars": 426,
  "license": "NOASSERTION",
  "full_name": "buster-so/buster",
  "primary_language": "TypeScript"
 },
 "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": "reviewed",
   "actor_login": null
  },
  {
   "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": "committed",
   "actor_login": "Devin AI"
  },
  {
   "at": "2025-07-17T22:40:04+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "dallinbentley"
  },
  {
   "at": "2025-07-17T22:40:05+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "dallinbentley"
  }
 ],
 "related": [
  {
   "agent": "devin",
   "state": "merged",
   "title": "Fix chat message ordering bug in handleExistingChat (BUS-1486)",
   "number": 622,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 236,
   "deletions": 2,
   "merged_at": "2025-07-24T18:22:20+00:00",
   "opened_at": "2025-07-24T18:02:28+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0.33
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "BUS-1524: Enhance error messages for tool availability and SQL wildcards",
   "number": 619,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 64,
   "deletions": 55,
   "merged_at": "2025-07-24T03:48:57+00:00",
   "opened_at": "2025-07-24T03:10:47+00:00",
   "task_type": "feat",
   "files_changed": 9,
   "hours_to_merge": 0.64
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: implement web search functionality for BUS-1501",
   "number": 611,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 491,
   "deletions": 18,
   "merged_at": "2025-07-23T20:15:01+00:00",
   "opened_at": "2025-07-23T17:44:38+00:00",
   "task_type": "feat",
   "files_changed": 11,
   "hours_to_merge": 2.51
  }
 ],
 "pr_url": "https://github.com/buster-so/buster/pull/537",
 "page": "https://agentriders.com/logs/buster-so/buster/537/"
}