{
 "flight": {
  "id": 113876,
  "agent": "openai-codex",
  "state": "merged",
  "title": "Add full ConcurrentMap support for MultiKeyMap",
  "number": 351,
  "source": "aidev",
  "commits": 1,
  "debrief": "OpenAI Codex, working in jdereg/java-util, adds full ConcurrentMap support to MultiKeyMap, including computeIfPresent, compute, replace, and value-based remove, with documentation and tests. The change touches seven files with 250 additions and two deletions in one commit. The local test run failed because mvn was not found. The PR merged clean in 0.01 hours.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:OpenAI_Codex"
  ],
  "index_ok": true,
  "additions": 250,
  "closed_at": "2025-07-06T23:24:43+00:00",
  "deletions": 2,
  "merged_at": "2025-07-06T23:24:43+00:00",
  "opened_at": "2025-07-06T23:24:25+00:00",
  "task_type": "feat",
  "body_chars": 375,
  "confidence": "dataset",
  "updated_at": "2026-11-03T21:35:56.591764+00:00",
  "enriched_at": null,
  "body_excerpt": "## Summary\n- extend MultiKeyMap to implement `ConcurrentMap`\n- add `computeIfPresent`, `compute`, `replace`, and value-based `remove`\n- document new APIs in README, userguide, and changelog\n- add tests covering new ConcurrentMap functionality\n\n## Testing\n- `mvn -q test` *(fails: mvn not found)*\n\n---",
  "review_count": 0,
  "files_changed": 7,
  "hours_to_merge": 0.01,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-03T21:35:56.591764+00:00",
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "java-util",
  "owner": "jdereg",
  "stars": 443,
  "license": "Apache-2.0",
  "full_name": "jdereg/java-util",
  "primary_language": "Java"
 },
 "author": {
  "login": "jdereg",
  "name": null,
  "github_profile": "https://github.com/jdereg",
  "page": "https://agentriders.com/logs/author/jdereg/"
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "John DeRegnaucourt"
  },
  {
   "at": "2025-07-06T23:24:26+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "jdereg"
  },
  {
   "at": "2025-07-06T23:24:43+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "jdereg"
  },
  {
   "at": "2025-07-06T23:24:43+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "jdereg"
  }
 ],
 "related": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor MultiKeyMap hashing",
   "number": 360,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 33,
   "deletions": 14,
   "merged_at": "2025-07-20T14:09:59+00:00",
   "opened_at": "2025-07-20T14:09:43+00:00",
   "task_type": "refactor",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor MultiKeyMap size handling",
   "number": 359,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 10,
   "deletions": 11,
   "merged_at": "2025-07-20T12:32:34+00:00",
   "opened_at": "2025-07-20T12:32:21+00:00",
   "task_type": "refactor",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update IntervalSet removal handling",
   "number": 358,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 37,
   "deletions": 42,
   "merged_at": "2025-07-20T04:42:16+00:00",
   "opened_at": "2025-07-20T04:41:59+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": 0
  }
 ],
 "pr_url": "https://github.com/jdereg/java-util/pull/351",
 "page": "https://agentriders.com/logs/jdereg/java-util/351/"
}