{
 "repo": {
  "name": "Xaml.Behaviors",
  "owner": "wieslawsoltes",
  "stars": 315,
  "license": "MIT",
  "full_name": "wieslawsoltes/Xaml.Behaviors",
  "fetched_at": "2026-11-08T11:01:19.969788+00:00",
  "primary_language": "C#"
 },
 "burns": [],
 "total": 165,
 "agents": [
  {
   "agent": "openai-codex",
   "merged": 117,
   "flights": 165,
   "burn_rate": 0,
   "merge_rate": 0.709,
   "last_flight_at": "2025-07-20T08:47:16+00:00",
   "median_hours_to_merge": 1.7
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Fix drag source constant and allow dropping in samples",
   "number": 278,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 7,
   "deletions": 3,
   "merged_at": null,
   "opened_at": "2025-07-20T08:47:16+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Update ItemDragBehavior pointer capture",
   "number": 277,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 20,
   "deletions": 12,
   "merged_at": null,
   "opened_at": "2025-07-20T08:47:04+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Fix loop termination in DataGrid drop handler",
   "number": 276,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 35,
   "deletions": 1,
   "merged_at": null,
   "opened_at": "2025-07-20T08:46:57+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Enable custom DataFormat for drag and drop",
   "number": 275,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 75,
   "deletions": 15,
   "merged_at": null,
   "opened_at": "2025-07-19T07:41:23+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add drag preview adorner support",
   "number": 274,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 120,
   "deletions": 12,
   "merged_at": null,
   "opened_at": "2025-07-19T07:41:16+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add drag handle behavior",
   "number": 273,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 142,
   "deletions": 3,
   "merged_at": null,
   "opened_at": "2025-07-19T07:41:09+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Implement bounding drag behavior",
   "number": 272,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 172,
   "deletions": 4,
   "merged_at": null,
   "opened_at": "2025-07-19T07:41:01+00:00",
   "task_type": "feat",
   "files_changed": 9,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add ListReorderDragBehavior with sample",
   "number": 271,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 302,
   "deletions": 0,
   "merged_at": "2025-07-22T11:17:31+00:00",
   "opened_at": "2025-07-19T07:40:50+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 75.61
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add AllowExternalDrop property",
   "number": 269,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 70,
   "deletions": 14,
   "merged_at": null,
   "opened_at": "2025-07-19T07:40:34+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add auto-scroll during drag behavior",
   "number": 268,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 187,
   "deletions": 2,
   "merged_at": "2025-07-22T11:30:20+00:00",
   "opened_at": "2025-07-19T07:40:22+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 75.83
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add async ExecuteAsync to IDropHandler",
   "number": 267,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 51,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-07-19T07:40:12+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add Escape cancel to ContextDragBehaviorBase",
   "number": 266,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 84,
   "deletions": 0,
   "merged_at": "2025-07-22T11:31:00+00:00",
   "opened_at": "2025-07-19T07:39:56+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 75.85
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add cross window drag sample",
   "number": 265,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 114,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-19T07:39:45+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add drag & drop interaction tests",
   "number": 264,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 156,
   "deletions": 0,
   "merged_at": "2025-07-22T11:31:17+00:00",
   "opened_at": "2025-07-19T07:39:22+00:00",
   "task_type": "test",
   "files_changed": 7,
   "hours_to_merge": 75.87
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add ItemDragBehavior tests",
   "number": 263,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 143,
   "deletions": 0,
   "merged_at": "2025-07-22T11:31:36+00:00",
   "opened_at": "2025-07-19T07:39:12+00:00",
   "task_type": "test",
   "files_changed": 5,
   "hours_to_merge": 75.87
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add DropTargetHighlightBehavior for visual drag feedback",
   "number": 262,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 123,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-19T07:39:02+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add FilesDropBehavior drop test",
   "number": 261,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 101,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-19T07:38:51+00:00",
   "task_type": "test",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add docs for message behaviors",
   "number": 260,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 75,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-19T07:38:40+00:00",
   "task_type": "docs",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Introduce DragService for drag operations",
   "number": 259,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 116,
   "deletions": 49,
   "merged_at": null,
   "opened_at": "2025-07-19T07:38:32+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Refactor drag orientation logic",
   "number": 258,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 251,
   "deletions": 50,
   "merged_at": null,
   "opened_at": "2025-07-19T07:38:21+00:00",
   "task_type": "refactor",
   "files_changed": 15,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add RemoteDropHandler with async drop support",
   "number": 257,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 124,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-07-19T07:38:11+00:00",
   "task_type": "feat",
   "files_changed": 7,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add AllowedEffects to TypedDragBehaviorBase",
   "number": 256,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 22,
   "deletions": 20,
   "merged_at": null,
   "opened_at": "2025-07-19T06:25:24+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add drag visual provider abstraction",
   "number": 255,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 92,
   "deletions": 50,
   "merged_at": null,
   "opened_at": "2025-07-19T06:24:18+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add documentation stub generator",
   "number": 254,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 731,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-19T06:09:17+00:00",
   "task_type": "feat",
   "files_changed": 210,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Link Interaction list to docs",
   "number": 252,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 389,
   "deletions": 389,
   "merged_at": null,
   "opened_at": "2025-07-19T05:59:17+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add interactions docs",
   "number": 251,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 6162,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-19T05:58:29+00:00",
   "task_type": "docs",
   "files_changed": 300,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add DragDropCommandsBehavior and sample",
   "number": 250,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 184,
   "deletions": 0,
   "merged_at": "2025-07-22T11:38:59+00:00",
   "opened_at": "2025-07-19T05:51:51+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 77.79
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add documentation table of contents",
   "number": 248,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 25,
   "deletions": 0,
   "merged_at": "2025-07-17T20:51:12+00:00",
   "opened_at": "2025-07-17T20:50:54+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add tests for Trigger classes",
   "number": 244,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 157,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-06-25T09:26:57+00:00",
   "task_type": "test",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add tests for Action class",
   "number": 243,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 119,
   "deletions": 0,
   "merged_at": "2025-07-22T11:39:41+00:00",
   "opened_at": "2025-06-25T09:26:52+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 650.21
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add Behavior tests",
   "number": 242,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 230,
   "deletions": 2,
   "merged_at": "2025-07-22T11:40:05+00:00",
   "opened_at": "2025-06-25T09:26:47+00:00",
   "task_type": "test",
   "files_changed": 3,
   "hours_to_merge": 650.22
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add StyledElementAction headless tests",
   "number": 241,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 76,
   "deletions": 0,
   "merged_at": "2025-07-22T11:40:26+00:00",
   "opened_at": "2025-06-25T09:26:44+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 650.23
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add StyledElementTrigger tests",
   "number": 240,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 125,
   "deletions": 2,
   "merged_at": null,
   "opened_at": "2025-06-25T09:26:42+00:00",
   "task_type": "test",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add unit tests for StyledElementBehavior",
   "number": 239,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 254,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-06-25T09:26:38+00:00",
   "task_type": "test",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add more DataTriggerBehavior headless tests",
   "number": 238,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 122,
   "deletions": 0,
   "merged_at": "2025-06-25T09:01:23+00:00",
   "opened_at": "2025-06-25T08:54:01+00:00",
   "task_type": "test",
   "files_changed": 5,
   "hours_to_merge": 0.12
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add additional DataTriggerBehavior tests",
   "number": 237,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 108,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-06-25T08:30:32+00:00",
   "task_type": "test",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add additional sample pages",
   "number": 236,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 841,
   "deletions": 31,
   "merged_at": "2025-06-24T19:57:13+00:00",
   "opened_at": "2025-06-24T18:16:32+00:00",
   "task_type": "feat",
   "files_changed": 34,
   "hours_to_merge": 1.68
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add missing trigger sample pages",
   "number": 235,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 401,
   "deletions": 19,
   "merged_at": "2025-06-24T12:25:44+00:00",
   "opened_at": "2025-06-24T10:08:18+00:00",
   "task_type": "feat",
   "files_changed": 20,
   "hours_to_merge": 2.29
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add sample pages for new behaviors",
   "number": 234,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 823,
   "deletions": 27,
   "merged_at": "2025-06-24T12:31:33+00:00",
   "opened_at": "2025-06-24T09:54:11+00:00",
   "task_type": "feat",
   "files_changed": 39,
   "hours_to_merge": 2.62
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add InputElement trigger sample pages",
   "number": 233,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 189,
   "deletions": 14,
   "merged_at": "2025-06-24T09:00:54+00:00",
   "opened_at": "2025-06-24T08:47:45+00:00",
   "task_type": "feat",
   "files_changed": 10,
   "hours_to_merge": 0.22
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add sorting option to SelectingItemsControlSearchBehavior",
   "number": 232,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 116,
   "deletions": 33,
   "merged_at": "2025-06-24T09:03:19+00:00",
   "opened_at": "2025-06-24T08:03:29+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 1
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update docs with sample links",
   "number": 231,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 419,
   "deletions": 419,
   "merged_at": "2025-06-24T07:58:48+00:00",
   "opened_at": "2025-06-24T07:51:31+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.12
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add agent instructions for Codex",
   "number": 230,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 42,
   "deletions": 0,
   "merged_at": "2025-06-21T21:03:23+00:00",
   "opened_at": "2025-06-21T20:57:41+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.1
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update docs",
   "number": 229,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 86,
   "deletions": 2,
   "merged_at": "2025-06-21T20:31:02+00:00",
   "opened_at": "2025-06-21T20:25:42+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.09
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add NotNullValidationRule sample page",
   "number": 220,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 227,
   "deletions": 0,
   "merged_at": "2025-05-30T14:48:25+00:00",
   "opened_at": "2025-05-30T14:44:18+00:00",
   "task_type": "feat",
   "files_changed": 11,
   "hours_to_merge": 0.07
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add slider validation sample",
   "number": 219,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 177,
   "deletions": 0,
   "merged_at": "2025-05-30T14:47:38+00:00",
   "opened_at": "2025-05-30T14:43:15+00:00",
   "task_type": "feat",
   "files_changed": 9,
   "hours_to_merge": 0.07
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add DatePickerValidationBehavior sample",
   "number": 218,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 124,
   "deletions": 0,
   "merged_at": "2025-05-30T14:46:14+00:00",
   "opened_at": "2025-05-30T14:42:59+00:00",
   "task_type": "feat",
   "files_changed": 7,
   "hours_to_merge": 0.05
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add ComboBoxValidationBehavior sample",
   "number": 217,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 52,
   "deletions": 0,
   "merged_at": "2025-05-30T14:45:03+00:00",
   "opened_at": "2025-05-30T14:42:43+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 0.04
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add NumericUpDown validation sample",
   "number": 216,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 99,
   "deletions": 0,
   "merged_at": "2025-05-30T14:26:13+00:00",
   "opened_at": "2025-05-30T11:46:57+00:00",
   "task_type": "feat",
   "files_changed": 6,
   "hours_to_merge": 2.65
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add validation behaviors for common controls",
   "number": 215,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 135,
   "deletions": 0,
   "merged_at": "2025-05-30T14:26:36+00:00",
   "opened_at": "2025-05-30T11:45:41+00:00",
   "task_type": "feat",
   "files_changed": 6,
   "hours_to_merge": 2.68
  }
 ],
 "indexed": 94,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-05",
   "merged": 98,
   "flights": 121
  },
  {
   "burns": 0,
   "month": "2025-06",
   "merged": 12,
   "flights": 16
  },
  {
   "burns": 0,
   "month": "2025-07",
   "merged": 7,
   "flights": 28
  }
 ],
 "top_authors": [
  {
   "name": "Wiesław Šoltés",
   "login": "wieslawsoltes",
   "flights": 165,
   "indexed": 94
  }
 ],
 "page": "https://agentriders.com/logs/wieslawsoltes/Xaml.Behaviors/"
}