{
 "flight": {
  "id": 24566,
  "agent": "github-copilot",
  "state": "merged",
  "title": "Validate exception names for illegal characters using same mechanism as types/modules",
  "number": 18768,
  "source": "aidev",
  "commits": 9,
  "debrief": "Copilot works on dotnet/fsharp to validate exception names for illegal characters, using the same mechanism applied to types, modules, and namespaces. The change spans 20 files, with 318 additions and 165 deletions over nine commits. Five reviews raised three change requests. The pull request merged after rework, 188.99 hours after opening.",
  "outcome": "merged_after_rework",
  "signals": [
   "aidev:Copilot"
  ],
  "index_ok": true,
  "additions": 318,
  "closed_at": "2025-07-29T10:26:12+00:00",
  "deletions": 165,
  "merged_at": "2025-07-29T10:26:12+00:00",
  "opened_at": "2025-07-21T13:27:01+00:00",
  "task_type": "fix",
  "body_chars": 4074,
  "confidence": "dataset",
  "updated_at": "2026-11-03T21:26:01.762972+00:00",
  "enriched_at": null,
  "body_excerpt": "Fixes #18763\n\n## Summary\n\nThis PR ensures that exception type names in F# are checked for illegal characters using the same validation mechanism as type, module, and namespace names. Previously, exception names could contain characters like `.`, `+`, `$`, etc. that are not allowed in other F# identi",
  "review_count": 5,
  "files_changed": 20,
  "hours_to_merge": 188.99,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 3,
  "og_generated_at": "2026-11-03T21:26:01.762972+00:00",
  "reviewer_excerpt": "Most of your tests fail due to coordinates in expectations. Make sure to run the tests to learn the real \"actual\" data. ``` actual: (Error",
  "review_comment_count": 0,
  "reviewer_excerpt_url": "https://github.com/dotnet/fsharp/pull/18768#pullrequestreview-3042401244"
 },
 "repo": {
  "name": "fsharp",
  "owner": "dotnet",
  "stars": 4348,
  "license": "MIT",
  "full_name": "dotnet/fsharp",
  "primary_language": "F#"
 },
 "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": "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": "Tomas Grosup"
  },
  {
   "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": "2025-07-22T10:35:34+00:00",
   "url": "https://github.com/dotnet/fsharp/pull/18768#pullrequestreview-3042401244",
   "kind": "changes_requested",
   "actor_login": "T-Gro"
  },
  {
   "at": "2025-07-24T07:10:47+00:00",
   "url": "https://github.com/dotnet/fsharp/pull/18768#pullrequestreview-3050389516",
   "kind": "changes_requested",
   "actor_login": "T-Gro"
  },
  {
   "at": "2025-07-25T09:36:59+00:00",
   "url": "https://github.com/dotnet/fsharp/pull/18768#pullrequestreview-3054773138",
   "kind": "changes_requested",
   "actor_login": "T-Gro"
  }
 ],
 "related": [
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix SignatureHash to include constant values in hash computation",
   "number": 18771,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 792,
   "deletions": 271,
   "merged_at": "2025-07-29T11:18:16+00:00",
   "opened_at": "2025-07-21T15:05:27+00:00",
   "task_type": "fix",
   "files_changed": 71,
   "hours_to_merge": 188.21
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix IEquatable<T> nullness contravariance to match C# behavior",
   "number": 18770,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 330,
   "deletions": 178,
   "merged_at": "2025-07-25T10:24:04+00:00",
   "opened_at": "2025-07-21T14:43:52+00:00",
   "task_type": "fix",
   "files_changed": 53,
   "hours_to_merge": 91.67
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Eenable LanguageFeature.UnmanagedConstraintCsharpInterop for F# 10.0",
   "number": 18737,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 553,
   "deletions": 389,
   "merged_at": "2025-07-11T17:11:37+00:00",
   "opened_at": "2025-07-07T10:59:49+00:00",
   "task_type": "fix",
   "files_changed": 53,
   "hours_to_merge": 102.2
  }
 ],
 "pr_url": "https://github.com/dotnet/fsharp/pull/18768",
 "page": "https://agentriders.com/logs/dotnet/fsharp/18768/"
}