{
 "repo": {
  "name": "Smart-Cleaner-for-Android",
  "owner": "MihaiCristianCondrea",
  "stars": 134,
  "license": "GPL-3.0",
  "full_name": "MihaiCristianCondrea/Smart-Cleaner-for-Android",
  "fetched_at": "2026-11-08T10:59:54.48823+00:00",
  "primary_language": "Kotlin"
 },
 "burns": [],
 "total": 227,
 "agents": [
  {
   "agent": "openai-codex",
   "merged": 218,
   "flights": 227,
   "burn_rate": 0,
   "merge_rate": 0.96,
   "last_flight_at": "2025-07-30T17:35:50+00:00",
   "median_hours_to_merge": 0
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix search text color in dark mode",
   "number": 246,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 7,
   "deletions": 2,
   "merged_at": "2025-07-30T17:36:04+00:00",
   "opened_at": "2025-07-30T17:35:50+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Show close button always on AnalyzeScreen",
   "number": 245,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 24,
   "deletions": 4,
   "merged_at": null,
   "opened_at": "2025-07-30T16:52:28+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Show close button in AnalyzeScreen",
   "number": 244,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 8,
   "deletions": 0,
   "merged_at": "2025-07-30T15:47:31+00:00",
   "opened_at": "2025-07-30T15:46:34+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix analyze screen empty state",
   "number": 243,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 2,
   "deletions": 0,
   "merged_at": "2025-07-30T15:37:41+00:00",
   "opened_at": "2025-07-30T15:36:16+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Batch MediaStore delete/trash with foreground service",
   "number": 242,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 248,
   "deletions": 98,
   "merged_at": "2025-07-30T14:35:44+00:00",
   "opened_at": "2025-07-30T13:12:56+00:00",
   "task_type": "feat",
   "files_changed": 33,
   "hours_to_merge": 1.38
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Switch to set for file selections",
   "number": 241,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 49,
   "deletions": 51,
   "merged_at": "2025-07-30T12:58:51+00:00",
   "opened_at": "2025-07-30T12:54:21+00:00",
   "task_type": "refactor",
   "files_changed": 4,
   "hours_to_merge": 0.08
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor scanning API to stream files",
   "number": 240,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 145,
   "deletions": 110,
   "merged_at": "2025-07-30T12:35:38+00:00",
   "opened_at": "2025-07-30T10:19:52+00:00",
   "task_type": "refactor",
   "files_changed": 7,
   "hours_to_merge": 2.26
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix large files card plural string",
   "number": 238,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 115,
   "deletions": 1,
   "merged_at": "2025-07-28T07:24:07+00:00",
   "opened_at": "2025-07-28T06:41:20+00:00",
   "task_type": "fix",
   "files_changed": 27,
   "hours_to_merge": 0.71
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor cleanup activities",
   "number": 237,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 99,
   "deletions": 155,
   "merged_at": "2025-07-27T20:40:09+00:00",
   "opened_at": "2025-07-27T20:36:24+00:00",
   "task_type": "refactor",
   "files_changed": 8,
   "hours_to_merge": 0.06
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor scanner logic into helper handlers",
   "number": 236,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 500,
   "deletions": 374,
   "merged_at": "2025-07-27T20:11:24+00:00",
   "opened_at": "2025-07-27T19:30:33+00:00",
   "task_type": "refactor",
   "files_changed": 4,
   "hours_to_merge": 0.68
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Enable LinkCleaner button only for valid links",
   "number": 235,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 9,
   "deletions": 1,
   "merged_at": "2025-07-27T18:56:18+00:00",
   "opened_at": "2025-07-27T18:56:10+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add clipboard paste to LinkCleaner card",
   "number": 234,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 91,
   "deletions": 20,
   "merged_at": "2025-07-27T18:39:22+00:00",
   "opened_at": "2025-07-27T18:30:53+00:00",
   "task_type": "feat",
   "files_changed": 28,
   "hours_to_merge": 0.14
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor scanner utilities",
   "number": 233,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 300,
   "deletions": 210,
   "merged_at": "2025-07-27T18:10:33+00:00",
   "opened_at": "2025-07-27T18:00:30+00:00",
   "task_type": "refactor",
   "files_changed": 6,
   "hours_to_merge": 0.17
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve link cleaner coverage",
   "number": 232,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 15,
   "deletions": 5,
   "merged_at": "2025-07-27T17:37:08+00:00",
   "opened_at": "2025-07-27T17:36:57+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add Link Cleaner feature",
   "number": 231,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 334,
   "deletions": 0,
   "merged_at": "2025-07-27T16:59:53+00:00",
   "opened_at": "2025-07-27T16:44:06+00:00",
   "task_type": "feat",
   "files_changed": 33,
   "hours_to_merge": 0.26
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix APK loading and empty folder card",
   "number": 230,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 48,
   "deletions": 7,
   "merged_at": "2025-07-27T16:35:47+00:00",
   "opened_at": "2025-07-27T16:35:31+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add translations and changelog update",
   "number": 229,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 51,
   "deletions": 0,
   "merged_at": "2025-07-27T16:07:50+00:00",
   "opened_at": "2025-07-27T16:07:36+00:00",
   "task_type": "docs",
   "files_changed": 26,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add System Storage Manager shortcut",
   "number": 228,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 170,
   "deletions": 0,
   "merged_at": "2025-07-27T15:51:41+00:00",
   "opened_at": "2025-07-27T15:51:27+00:00",
   "task_type": "feat",
   "files_changed": 28,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add empty folder cleaner translations",
   "number": 227,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 269,
   "deletions": 2,
   "merged_at": "2025-07-27T15:34:14+00:00",
   "opened_at": "2025-07-27T15:28:53+00:00",
   "task_type": "docs",
   "files_changed": 35,
   "hours_to_merge": 0.09
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Remove unused datastore functions",
   "number": 226,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 2,
   "deletions": 16,
   "merged_at": "2025-07-24T06:31:19+00:00",
   "opened_at": "2025-07-24T06:15:14+00:00",
   "task_type": "refactor",
   "files_changed": 1,
   "hours_to_merge": 0.27
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor dropdown menu items",
   "number": 225,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 38,
   "deletions": 68,
   "merged_at": "2025-07-24T06:19:33+00:00",
   "opened_at": "2025-07-24T06:14:53+00:00",
   "task_type": "refactor",
   "files_changed": 2,
   "hours_to_merge": 0.08
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Use toolkit buttons",
   "number": 224,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 51,
   "deletions": 57,
   "merged_at": "2025-07-24T06:23:47+00:00",
   "opened_at": "2025-07-24T06:13:20+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 0.17
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor contacts cleaner buttons",
   "number": 223,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 30,
   "deletions": 34,
   "merged_at": "2025-07-24T06:03:56+00:00",
   "opened_at": "2025-07-24T05:59:43+00:00",
   "task_type": "refactor",
   "files_changed": 1,
   "hours_to_merge": 0.07
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve storage item intents",
   "number": 222,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 90,
   "deletions": 17,
   "merged_at": "2025-07-23T21:08:36+00:00",
   "opened_at": "2025-07-23T21:02:58+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0.09
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve contact merge names",
   "number": 221,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 34,
   "deletions": 0,
   "merged_at": "2025-07-23T21:05:11+00:00",
   "opened_at": "2025-07-23T21:00:29+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.08
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve bulk file selection handling",
   "number": 220,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 110,
   "deletions": 92,
   "merged_at": "2025-07-23T21:00:09+00:00",
   "opened_at": "2025-07-23T20:44:16+00:00",
   "task_type": "perf",
   "files_changed": 9,
   "hours_to_merge": 0.26
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Optimize duplicate detection",
   "number": 219,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 80,
   "deletions": 21,
   "merged_at": "2025-07-23T20:29:57+00:00",
   "opened_at": "2025-07-23T20:09:33+00:00",
   "task_type": "perf",
   "files_changed": 7,
   "hours_to_merge": 0.34
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Optimize WhatsApp media loading",
   "number": 218,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 219,
   "deletions": 148,
   "merged_at": "2025-07-23T19:28:02+00:00",
   "opened_at": "2025-07-23T15:27:06+00:00",
   "task_type": "feat",
   "files_changed": 17,
   "hours_to_merge": 4.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Replace checkboxes with tri-state boxes",
   "number": 217,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 48,
   "deletions": 21,
   "merged_at": "2025-07-23T15:14:56+00:00",
   "opened_at": "2025-07-23T15:14:42+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Handle failure opening folders",
   "number": 216,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 32,
   "deletions": 9,
   "merged_at": "2025-07-23T14:46:36+00:00",
   "opened_at": "2025-07-23T14:43:09+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.06
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add background cleaning service",
   "number": 215,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 354,
   "deletions": 165,
   "merged_at": null,
   "opened_at": "2025-07-21T11:00:57+00:00",
   "task_type": "feat",
   "files_changed": 16,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix dispatcher usage for file grouping",
   "number": 214,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 1,
   "merged_at": "2025-07-20T08:49:46+00:00",
   "opened_at": "2025-07-20T08:49:36+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix cancellation handling in file cleaner coroutine flows",
   "number": 213,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 9,
   "deletions": 3,
   "merged_at": "2025-07-20T08:48:16+00:00",
   "opened_at": "2025-07-20T08:47:56+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve WhatsAppCleanerViewModel thread usage",
   "number": 212,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 23,
   "deletions": 19,
   "merged_at": "2025-07-20T08:45:21+00:00",
   "opened_at": "2025-07-20T08:45:12+00:00",
   "task_type": "perf",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix heavy UI updates on main thread",
   "number": 211,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 46,
   "deletions": 40,
   "merged_at": "2025-07-20T08:37:30+00:00",
   "opened_at": "2025-07-20T08:37:18+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve Smart Clean button",
   "number": 210,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 69,
   "deletions": 2,
   "merged_at": "2025-07-20T08:25:20+00:00",
   "opened_at": "2025-07-20T08:08:01+00:00",
   "task_type": "feat",
   "files_changed": 27,
   "hours_to_merge": 0.29
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve Contacts Cleaner actions",
   "number": 209,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 196,
   "deletions": 39,
   "merged_at": "2025-07-20T07:51:44+00:00",
   "opened_at": "2025-07-20T07:46:58+00:00",
   "task_type": "feat",
   "files_changed": 32,
   "hours_to_merge": 0.08
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add select all and polish contacts UI",
   "number": 208,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 102,
   "deletions": 14,
   "merged_at": "2025-07-20T07:29:43+00:00",
   "opened_at": "2025-07-20T07:29:35+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix ContactsCleanerScreen scaffold syntax",
   "number": 207,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 9,
   "deletions": 8,
   "merged_at": "2025-07-20T07:12:13+00:00",
   "opened_at": "2025-07-20T07:12:02+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Implement contacts selection overhaul",
   "number": 206,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 327,
   "deletions": 33,
   "merged_at": "2025-07-20T06:55:58+00:00",
   "opened_at": "2025-07-20T06:54:59+00:00",
   "task_type": "feat",
   "files_changed": 31,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix duplicate contacts query",
   "number": 205,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 18,
   "deletions": 3,
   "merged_at": "2025-07-19T23:31:05+00:00",
   "opened_at": "2025-07-19T23:30:53+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve contacts cleaner UX",
   "number": 204,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 171,
   "deletions": 8,
   "merged_at": "2025-07-19T23:19:26+00:00",
   "opened_at": "2025-07-19T22:56:01+00:00",
   "task_type": "feat",
   "files_changed": 31,
   "hours_to_merge": 0.39
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor contacts duplicate search",
   "number": 203,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 107,
   "deletions": 102,
   "merged_at": "2025-07-19T22:40:08+00:00",
   "opened_at": "2025-07-19T22:33:31+00:00",
   "task_type": "refactor",
   "files_changed": 1,
   "hours_to_merge": 0.11
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve duplicate contacts detection",
   "number": 202,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 89,
   "deletions": 8,
   "merged_at": "2025-07-19T22:25:32+00:00",
   "opened_at": "2025-07-19T22:21:25+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.07
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Refactor ContactsCleaner to MVVM use-case pattern",
   "number": 201,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 112,
   "deletions": 24,
   "merged_at": "2025-07-19T21:56:03+00:00",
   "opened_at": "2025-07-19T21:31:52+00:00",
   "task_type": "refactor",
   "files_changed": 5,
   "hours_to_merge": 0.4
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Improve contacts permissions handling",
   "number": 200,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 177,
   "deletions": 18,
   "merged_at": "2025-07-19T20:38:02+00:00",
   "opened_at": "2025-07-19T20:03:01+00:00",
   "task_type": "feat",
   "files_changed": 27,
   "hours_to_merge": 0.58
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Fix blank screen in contacts cleaner",
   "number": 199,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 7,
   "deletions": 5,
   "merged_at": "2025-07-19T19:28:34+00:00",
   "opened_at": "2025-07-19T19:28:24+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Implement Contacts Cleaner feature",
   "number": 198,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 795,
   "deletions": 35,
   "merged_at": "2025-07-19T12:37:45+00:00",
   "opened_at": "2025-07-19T10:27:04+00:00",
   "task_type": "feat",
   "files_changed": 42,
   "hours_to_merge": 2.18
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add tablet layout for image optimizer",
   "number": 197,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 127,
   "deletions": 67,
   "merged_at": "2025-07-18T06:50:07+00:00",
   "opened_at": "2025-07-18T06:38:30+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.19
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add localized strings for Move and Clean All",
   "number": 196,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 50,
   "deletions": 0,
   "merged_at": "2025-07-17T21:01:24+00:00",
   "opened_at": "2025-07-17T20:57:33+00:00",
   "task_type": "feat",
   "files_changed": 25,
   "hours_to_merge": 0.06
  }
 ],
 "indexed": 169,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-06",
   "merged": 44,
   "flights": 45
  },
  {
   "burns": 0,
   "month": "2025-07",
   "merged": 174,
   "flights": 182
  }
 ],
 "top_authors": [
  {
   "name": "Mihai-Cristian Condrea",
   "login": "MihaiCristianCondrea",
   "flights": 227,
   "indexed": 169
  }
 ],
 "page": "https://agentriders.com/logs/MihaiCristianCondrea/Smart-Cleaner-for-Android/"
}