{
 "repo": {
  "name": "SafeDose",
  "owner": "rodneyg",
  "stars": 1,
  "license": null,
  "full_name": "rodneyg/SafeDose",
  "fetched_at": null,
  "primary_language": "TypeScript"
 },
 "burns": [],
 "total": 169,
 "agents": [
  {
   "agent": "github-copilot",
   "merged": 129,
   "flights": 163,
   "burn_rate": 0,
   "merge_rate": 0.89,
   "last_flight_at": "2025-06-13T20:20:14+00:00",
   "median_hours_to_merge": 0.7
  },
  {
   "agent": "openai-codex",
   "merged": 3,
   "flights": 6,
   "burn_rate": 0,
   "merge_rate": 0.5,
   "last_flight_at": "2025-06-14T03:29:07+00:00",
   "median_hours_to_merge": 0.7
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "Add quick repeat last dose button",
   "number": 350,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-14T03:29:07+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Replace \"Start Over\" with \"Done\" on Result Screen",
   "number": 349,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-13T21:12:18+00:00",
   "opened_at": "2025-06-13T20:20:14+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.87
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Add \"Use Last Dose\" shortcut for quick dose repetition",
   "number": 347,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-14T03:32:08+00:00",
   "opened_at": "2025-06-13T03:49:06+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 23.72
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix settings page sign-in UI refresh issue with useCallback and enhanced logging",
   "number": 345,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-13T16:40:27+00:00",
   "opened_at": "2025-06-13T03:48:01+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 12.87
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix signout button issues on settings page - remove redundant alerts and improve performance",
   "number": 343,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-13T03:35:52+00:00",
   "opened_at": "2025-06-13T03:20:56+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.25
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix login and logout authentication flow issues",
   "number": 341,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-13T03:08:03+00:00",
   "opened_at": "2025-06-13T00:52:37+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 2.26
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix sign-out stuck state with fallback timeout mechanism",
   "number": 339,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-13T00:50:04+00:00",
   "opened_at": "2025-06-13T00:26:15+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.4
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Disable analytics tracking and tag Firestore inserts in preview environment",
   "number": 336,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-12T02:37:13+00:00",
   "opened_at": "2025-06-12T02:08:32+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.48
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix power user promotion modal to show after 4+ doses with proper cycling",
   "number": 334,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-12T03:19:34+00:00",
   "opened_at": "2025-06-12T01:57:42+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 1.36
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Implement Dosing Presets (User-Defined Templates) Feature",
   "number": 332,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-12T01:29:07+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Add \"Use Last Dose\" shortcut feature to main screen",
   "number": 330,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-12T01:28:37+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Combine 'Why Are You Here?' and PMF survey prompts into a single onboarding step",
   "number": 328,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-11T23:27:00+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "[WIP] Settings page should allow subscription management and sign out",
   "number": 326,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-13T00:26:35+00:00",
   "opened_at": "2025-06-11T23:10:55+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 25.26
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix infinite loading state in user profile with timeout mechanisms and race condition prevention",
   "number": 324,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T23:33:31+00:00",
   "opened_at": "2025-06-11T23:09:01+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.41
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Add Injection-Site Tracking & Rotation to Dose Log",
   "number": 322,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T23:11:49+00:00",
   "opened_at": "2025-06-11T22:42:21+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.49
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Update Basic Pro pricing plan to include 20 AI scans per month",
   "number": 320,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T22:52:00+00:00",
   "opened_at": "2025-06-11T22:36:57+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.25
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Update Pricing with New Stripe Price IDs and Implement Full Pro Free Trial",
   "number": 318,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T22:15:56+00:00",
   "opened_at": "2025-06-11T21:34:18+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.69
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix onboarding completion failure caused by TypeScript compilation errors",
   "number": 317,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T14:42:52+00:00",
   "opened_at": "2025-06-11T14:19:36+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.39
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Fix Critical Build Error: Exclude Test Files from Metro Bundle",
   "number": 315,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-11T14:04:23+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Fix Critical App Crash: Implement Analytics Decoy/Proxy to Bypass Firebase SDK Initialization Bug",
   "number": 313,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-11T13:34:30+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Fix ReferenceError: Cannot access 'G' before initialization on app load",
   "number": 308,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-11T03:38:22+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Implement Sign-Up Prompt for Anonymous Users to Drive Registration",
   "number": 306,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-11T03:20:28+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "🐛 Fix ReferenceError: Cannot access 'G' before initialization on app load",
   "number": 304,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T03:33:36+00:00",
   "opened_at": "2025-06-11T03:11:55+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.36
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "[WIP] Fix User Profile",
   "number": 302,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T21:36:45+00:00",
   "opened_at": "2025-06-11T02:59:42+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 18.62
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Fix Firebase Analytics initialization error preventing app from loading",
   "number": 300,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T02:52:33+00:00",
   "opened_at": "2025-06-11T02:38:19+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.24
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Enable anonymous user usage tracking in Firestore database",
   "number": 298,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T21:37:28+00:00",
   "opened_at": "2025-06-10T21:22:23+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 24.25
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Store user intent/personalization data from onboarding for anonymous users",
   "number": 296,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-10T21:29:20+00:00",
   "opened_at": "2025-06-10T19:54:37+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 1.58
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Enhance syringe type toggle with volume previews and user guidance",
   "number": 294,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T01:37:19+00:00",
   "opened_at": "2025-06-10T19:48:46+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 5.81
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Implement Sign-Up Prompt for Anonymous Users After Limited Use",
   "number": 292,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T02:27:55+00:00",
   "opened_at": "2025-06-10T19:26:24+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 7.03
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Add save screenshot button to dose calculation results",
   "number": 289,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-10T07:23:53+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Add comprehensive group analyzer export functionality to analytics system",
   "number": 287,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-10T07:22:37+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "closed",
   "title": "Implement Sign-Up Prompt for Anonymous Users After Limited Use",
   "number": 285,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-10T06:56:10+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Add \"Common Doses\" Explorer for Popular Compounds with Firebase Integration",
   "number": 283,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-10T15:58:18+00:00",
   "opened_at": "2025-06-10T06:36:28+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 9.36
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Add Superhuman PMF Survey Flow for Early User Insights (Rahul Vohra Method)",
   "number": 281,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-10T21:24:46+00:00",
   "opened_at": "2025-06-10T06:07:50+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 15.28
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Add optional \"Save this dose\" button with Google authentication requirement",
   "number": 279,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-10T19:34:28+00:00",
   "opened_at": "2025-06-10T06:06:17+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 13.47
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Implement Smart \"Upgrade Teaser\" UX in Manual Mode",
   "number": 277,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T22:17:34+00:00",
   "opened_at": "2025-06-10T06:03:46+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 40.23
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Implement email capture functionality in upgrade modal for lead generation",
   "number": 275,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-10T05:36:32+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Add Upgrade Nudges on High-Intent User Actions",
   "number": 273,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-10T05:33:59+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "💳 Implement Soft Monetization Wall for AI Scan + Dose Logs (Freemium Gating)",
   "number": 271,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-10T05:30:12+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "🎯 Add \"Why Are You Here?\" Micro-Prompt After First Successful Use",
   "number": 269,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-11T22:27:48+00:00",
   "opened_at": "2025-06-10T05:26:54+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 41.02
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "[WIP] Set a limit of 10 free logs. When a user tries to save their 11th log, trigger an upgrade modal.",
   "number": 267,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-10T05:17:11+00:00",
   "opened_at": "2025-06-10T03:04:17+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 2.22
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Add \"Draw to\" information in dose logs to show syringe markings",
   "number": 265,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-10T05:19:24+00:00",
   "opened_at": "2025-06-10T02:50:49+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 2.48
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "[WIP] Sync logs with firebase",
   "number": 263,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-10T02:41:12+00:00",
   "opened_at": "2025-06-09T21:22:39+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 5.31
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Implement Firebase storage and detailed analytics for personalization details",
   "number": 261,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-09T22:53:50+00:00",
   "opened_at": "2025-06-09T21:22:13+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 1.53
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Prevent duplicate anonymous users from concurrent auth state changes",
   "number": 259,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-09T22:51:12+00:00",
   "opened_at": "2025-06-09T21:20:11+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 1.52
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "[WIP] Add comprehensive analytics to improve revenue and retention",
   "number": 257,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-09T21:19:44+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "closed",
   "title": "Add free vs pro feature clarification to landing page",
   "number": 255,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-09T20:34:12+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "open",
   "title": "Remove duplicate \"Scan Vial Label\" title from reconstitution scan page",
   "number": 253,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-09T03:05:36+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "github-copilot",
   "state": "merged",
   "title": "Add ability to hide/disable scan vial label functionality",
   "number": 251,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-08T19:12:33+00:00",
   "opened_at": "2025-06-08T03:31:30+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 15.68
  },
  {
   "agent": "github-copilot",
   "state": "closed",
   "title": "Fix Scan Vial Label flow - remove duplicate titles and fix camera stream",
   "number": 249,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-07T23:35:55+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  }
 ],
 "indexed": 0,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-05",
   "merged": 60,
   "flights": 67
  },
  {
   "burns": 0,
   "month": "2025-06",
   "merged": 72,
   "flights": 102
  }
 ],
 "top_authors": [
  {
   "name": null,
   "login": "rodneyg",
   "flights": 6,
   "indexed": 0
  }
 ],
 "page": "https://agentriders.com/logs/rodneyg/SafeDose/"
}