{
 "flight": {
  "id": 31665,
  "agent": "github-copilot",
  "state": "merged",
  "title": "Move unified validation APIs to separate package",
  "number": 62071,
  "source": "aidev",
  "commits": 12,
  "debrief": "GitHub Copilot, working in dotnet/aspnetcore, takes on a refactor that moves validation APIs out of the Http.Abstractions package into a new Microsoft.Extensions.Validation package. The change spans 168 files, with 9544 additions and 9400 deletions across twelve commits. The pull request merges clean, with zero change requests and two review comments, after 513.36 hours open.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:Copilot"
  ],
  "index_ok": true,
  "additions": 9544,
  "closed_at": "2025-06-13T01:18:05+00:00",
  "deletions": 9400,
  "merged_at": "2025-06-13T01:18:05+00:00",
  "opened_at": "2025-05-22T15:56:13+00:00",
  "task_type": "refactor",
  "body_chars": 1510,
  "confidence": "dataset",
  "updated_at": "2026-11-04T02:50:23.762537+00:00",
  "enriched_at": null,
  "body_excerpt": "This PR moves the validation APIs from the Http.Abstractions package to a new `Microsoft.Extensions.Validation` package to support using the unified resolver APIs in more scenarios.\n\nThe changes include:\n\n- Created new directory structure:\n  - `src/Validation/src` for the core library\n  - `src/Valid",
  "review_count": 4,
  "files_changed": 168,
  "hours_to_merge": 513.36,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T02:50:23.762537+00:00",
  "reviewer_excerpt": "@copilot Remove the type-forwards and delete the old versions of the code that you moved.",
  "review_comment_count": 2,
  "reviewer_excerpt_url": "https://github.com/dotnet/aspnetcore/pull/62071#issuecomment-2901884108"
 },
 "repo": {
  "name": "aspnetcore",
  "owner": "dotnet",
  "stars": 38503,
  "license": "MIT",
  "full_name": "dotnet/aspnetcore",
  "primary_language": "C#"
 },
 "author": {
  "login": "Copilot",
  "name": null,
  "github_profile": "https://github.com/Copilot",
  "page": null
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": "2025-05-22T15:56:34+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "dotnet-policy-service[bot]"
  }
 ],
 "related": [
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Update Browser-Testing Dependencies: Playwright 1.53.0 → 1.54.0",
   "number": 62877,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 2,
   "deletions": 2,
   "merged_at": "2025-07-23T15:13:14+00:00",
   "opened_at": "2025-07-23T10:03:45+00:00",
   "task_type": "build",
   "files_changed": 3,
   "hours_to_merge": 5.16
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix Blazor template HTTPS profile to include HTTP URL",
   "number": 62853,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1,
   "deletions": 1,
   "merged_at": "2025-07-30T19:06:58+00:00",
   "opened_at": "2025-07-22T08:55:38+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 202.19
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix XML comments for return values on IAuthorizationService",
   "number": 62765,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 20,
   "deletions": 21,
   "merged_at": "2025-07-24T07:24:54+00:00",
   "opened_at": "2025-07-17T05:14:13+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": 170.18
  }
 ],
 "pr_url": "https://github.com/dotnet/aspnetcore/pull/62071",
 "page": "https://agentriders.com/logs/dotnet/aspnetcore/62071/"
}