{
 "flight": {
  "id": 8824,
  "agent": "github-copilot",
  "state": "merged",
  "title": "Replace LINQ Any+Single patterns with Where+FirstOrDefault for better performance",
  "number": 6060,
  "source": "aidev",
  "commits": 10,
  "debrief": "GitHub Copilot opens a performance PR in microsoft/testfx that replaces Any-then-Single LINQ patterns with Where and FirstOrDefault. The change touches 78 files, with 1242 additions and 912 deletions, across 10 commits. It merges clean with zero change requests after 30 reviews and 50 review comments, taking 22.96 hours to merge.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:Copilot"
  ],
  "index_ok": true,
  "additions": 1242,
  "closed_at": "2025-07-17T08:26:05+00:00",
  "deletions": 912,
  "merged_at": "2025-07-17T08:26:05+00:00",
  "opened_at": "2025-07-16T09:28:27+00:00",
  "task_type": "perf",
  "body_chars": 1628,
  "confidence": "dataset",
  "updated_at": "2026-11-03T21:30:00.0621+00:00",
  "enriched_at": null,
  "body_excerpt": "This PR addresses a performance optimization opportunity identified in PR #5717 where the pattern of using `Any()` followed by `Single()` with the same predicate can be improved.\n\n## Problem\nThe existing code uses this pattern in multiple places:\n```csharp\nif (collection.Any(x => x.Uid == item.Uid))",
  "review_count": 30,
  "files_changed": 78,
  "hours_to_merge": 22.96,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-03T21:30:00.0621+00:00",
  "reviewer_excerpt": "Let's capture all extensions with the same UID. Let's update PlatformResources.ExtensionWithSameUidAlreadyRegisteredErrorMessage message so that it accepts the list of types with duplicated UID.",
  "review_comment_count": 50,
  "reviewer_excerpt_url": "https://github.com/microsoft/testfx/pull/6060#pullrequestreview-3024622145"
 },
 "repo": {
  "name": "testfx",
  "owner": "microsoft",
  "stars": 1058,
  "license": "MIT",
  "full_name": "microsoft/testfx",
  "primary_language": "C#"
 },
 "author": {
  "login": "Copilot",
  "name": null,
  "github_profile": "https://github.com/Copilot",
  "page": null
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "copilot-swe-agent[bot]"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "copilot-swe-agent[bot]"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "copilot-swe-agent[bot]"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "copilot-swe-agent[bot]"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "copilot-swe-agent[bot]"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "copilot-swe-agent[bot]"
  }
 ],
 "related": [
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Add timeout tests for GlobalTestInitializeAttribute and GlobalTestCleanupAttribute",
   "number": 6200,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 153,
   "deletions": 0,
   "merged_at": "2025-07-28T18:04:49+00:00",
   "opened_at": "2025-07-28T12:13:38+00:00",
   "task_type": "test",
   "files_changed": 2,
   "hours_to_merge": 5.85
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Add analyzer to flag Assert.Throws with multiple statements (MSTEST0051)",
   "number": 6190,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 4504,
   "deletions": 1326,
   "merged_at": "2025-07-30T10:53:31+00:00",
   "opened_at": "2025-07-27T14:02:16+00:00",
   "task_type": "feat",
   "files_changed": 101,
   "hours_to_merge": 68.85
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Rename diagnostic options to use kebab case",
   "number": 6165,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 5353,
   "deletions": 5262,
   "merged_at": "2025-07-30T14:05:27+00:00",
   "opened_at": "2025-07-25T08:23:15+00:00",
   "task_type": "refactor",
   "files_changed": 309,
   "hours_to_merge": 125.7
  }
 ],
 "pr_url": "https://github.com/microsoft/testfx/pull/6060",
 "page": "https://agentriders.com/logs/microsoft/testfx/6060/"
}