{
 "repo": {
  "name": "firecrawl",
  "owner": "mendableai",
  "stars": 199640,
  "license": "AGPL-3.0",
  "full_name": "mendableai/firecrawl",
  "fetched_at": "2026-11-08T10:58:00.389535+00:00",
  "primary_language": "TypeScript"
 },
 "burns": [
  {
   "agent": "devin",
   "number": 1886,
   "reviewer_excerpt": "why did you base this off of v2???? close this and start over based on main",
   "reviewer_excerpt_url": "https://github.com/mendableai/firecrawl/pull/1886#pullrequestreview-3071981382"
  },
  {
   "agent": "devin",
   "number": 1858,
   "reviewer_excerpt": "1. you should adapt the previous json systemprompt tests cuz they just fail with 400 now 2. Instead of converting the V2 scrape format into",
   "reviewer_excerpt_url": "https://github.com/mendableai/firecrawl/pull/1858#pullrequestreview-3058022511"
  },
  {
   "agent": "devin",
   "number": 1755,
   "reviewer_excerpt": "bad. link resolution should be done in JS-land, not Rust-land. i recommend you revert and start over for diff cleanliness. my bad for underspecifying",
   "reviewer_excerpt_url": "https://github.com/mendableai/firecrawl/pull/1755#pullrequestreview-2980534897"
  },
  {
   "agent": "devin",
   "number": 1645,
   "reviewer_excerpt": "The changes made to the `billing.test.ts` file are entirely wrong. Just revert it, do not attempt to add tests.",
   "reviewer_excerpt_url": "https://github.com/mendableai/firecrawl/pull/1645#issuecomment-2950941540"
  },
  {
   "agent": "devin",
   "number": 1565,
   "reviewer_excerpt": "nah this is bad",
   "reviewer_excerpt_url": "https://github.com/mendableai/firecrawl/pull/1565#issuecomment-2898116541"
  }
 ],
 "total": 92,
 "agents": [
  {
   "agent": "devin",
   "merged": 56,
   "flights": 89,
   "burn_rate": 0.062,
   "merge_rate": 0.691,
   "last_flight_at": "2025-07-30T17:23:20+00:00",
   "median_hours_to_merge": 3.1
  },
  {
   "agent": "claude-code",
   "merged": 1,
   "flights": 2,
   "burn_rate": 0,
   "merge_rate": 1,
   "last_flight_at": "2025-07-29T22:34:55+00:00",
   "median_hours_to_merge": 0.2
  },
  {
   "agent": "cursor",
   "merged": 1,
   "flights": 1,
   "burn_rate": 0,
   "merge_rate": 1,
   "last_flight_at": "2025-07-01T17:51:28+00:00",
   "median_hours_to_merge": 4.6
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "devin",
   "state": "open",
   "title": "feat(python-sdk): implement missing crawl_entire_domain parameter",
   "number": 1896,
   "outcome": "stale",
   "index_ok": false,
   "additions": 18,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-30T17:23:20+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "open",
   "title": "feat(crawler): replace robotstxt library with texting_robots for ENG-3016",
   "number": 1895,
   "outcome": "stale",
   "index_ok": false,
   "additions": 291,
   "deletions": 19,
   "merged_at": null,
   "opened_at": "2025-07-30T14:53:47+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "open",
   "title": "fix: convert timeout from milliseconds to seconds in Python SDK",
   "number": 1894,
   "outcome": "stale",
   "index_ok": false,
   "additions": 139,
   "deletions": 22,
   "merged_at": null,
   "opened_at": "2025-07-30T13:49:52+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "fix(js-sdk): add retry logic for socket hang up errors in monitorJobStatus (ENG-3029)",
   "number": 1893,
   "outcome": "merged_after_rework",
   "index_ok": false,
   "additions": 243,
   "deletions": 24,
   "merged_at": "2025-07-30T16:52:01+00:00",
   "opened_at": "2025-07-30T12:31:41+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": 4.34
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "fix(js-sdk): add retry logic for socket hang up errors in monitorJobStatus",
   "number": 1892,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 225,
   "deletions": 21,
   "merged_at": null,
   "opened_at": "2025-07-30T11:35:05+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "Fix SSL certificate verification error in AsyncFirecrawlApp",
   "number": 1888,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 62,
   "deletions": 29,
   "merged_at": null,
   "opened_at": "2025-07-30T01:21:34+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "feat(crawler): replace robotstxt library with texting_robots for ENG-3016",
   "number": 1886,
   "outcome": "burn",
   "index_ok": false,
   "additions": 299,
   "deletions": 27,
   "merged_at": null,
   "opened_at": "2025-07-29T23:37:57+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "open",
   "title": "Add database fallback to crawl errors endpoint",
   "number": 1885,
   "outcome": "stale",
   "index_ok": false,
   "additions": 200,
   "deletions": 92,
   "merged_at": null,
   "opened_at": "2025-07-29T23:16:08+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "claude-code",
   "state": "open",
   "title": "N-API Go html-to-markdown",
   "number": 1884,
   "outcome": "stale",
   "index_ok": false,
   "additions": 1805,
   "deletions": 35,
   "merged_at": null,
   "opened_at": "2025-07-29T22:34:55+00:00",
   "task_type": "feat",
   "files_changed": 26,
   "hours_to_merge": null
  },
  {
   "agent": "claude-code",
   "state": "merged",
   "title": "fix(go): add mutex to prevent concurrent access issues in html-to-markdown",
   "number": 1883,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 6,
   "deletions": 0,
   "merged_at": "2025-07-29T21:07:14+00:00",
   "opened_at": "2025-07-29T20:56:33+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.18
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Fix robots.txt HTML filtering to check content structure",
   "number": 1880,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1,
   "deletions": 1,
   "merged_at": "2025-07-29T12:58:06+00:00",
   "opened_at": "2025-07-29T12:41:58+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 0.27
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat(v2): add natural language prompt support to crawl API",
   "number": 1877,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 188,
   "deletions": 24,
   "merged_at": "2025-07-28T20:52:16+00:00",
   "opened_at": "2025-07-28T20:32:30+00:00",
   "task_type": "feat",
   "files_changed": 6,
   "hours_to_merge": 0.33
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "fix: switch RPC calls from read replica to main service",
   "number": 1874,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 2,
   "deletions": 3,
   "merged_at": null,
   "opened_at": "2025-07-28T19:21:54+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "feat: restructure formats parameter in Scrape v2 to support object configurations",
   "number": 1858,
   "outcome": "burn",
   "index_ok": true,
   "additions": 333,
   "deletions": 68,
   "merged_at": null,
   "opened_at": "2025-07-26T00:26:47+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: implement summary format for v1 and v2 APIs",
   "number": 1856,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 301,
   "deletions": 144,
   "merged_at": "2025-07-25T22:17:55+00:00",
   "opened_at": "2025-07-25T22:11:19+00:00",
   "task_type": "feat",
   "files_changed": 6,
   "hours_to_merge": 0.11
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: remove systemPrompt override capability from v2 JSON mode",
   "number": 1855,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 93,
   "deletions": 13,
   "merged_at": "2025-07-25T22:14:48+00:00",
   "opened_at": "2025-07-25T21:41:20+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 0.56
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: remove Fire-1 model from v2 API while keeping v1 functionality",
   "number": 1854,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 12,
   "deletions": 104,
   "merged_at": "2025-07-25T21:54:12+00:00",
   "opened_at": "2025-07-25T21:31:02+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.39
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: change skipTlsVerification default to true in v2 API",
   "number": 1853,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 201,
   "deletions": 1,
   "merged_at": "2025-07-25T21:16:37+00:00",
   "opened_at": "2025-07-25T21:15:15+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 0.02
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: implement v2 batch scrape with improved error handling",
   "number": 1851,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 669,
   "deletions": 2,
   "merged_at": "2025-07-25T16:58:38+00:00",
   "opened_at": "2025-07-25T15:34:01+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 1.41
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: Add iframe selector transformation for includeTags and excludeTags",
   "number": 1850,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 147,
   "deletions": 63,
   "merged_at": "2025-07-25T16:56:08+00:00",
   "opened_at": "2025-07-25T15:29:32+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 1.44
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Add allowTeammateInvites flag to TeamFlags type",
   "number": 1847,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1,
   "deletions": 0,
   "merged_at": "2025-07-25T13:04:25+00:00",
   "opened_at": "2025-07-25T00:25:25+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 12.65
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Fix ignoreQueryParameters being ignored in URL deduplication - ENG-2804",
   "number": 1846,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 5,
   "deletions": 3,
   "merged_at": "2025-07-25T13:44:27+00:00",
   "opened_at": "2025-07-25T00:21:25+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 13.38
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "ENG-2829: Fix isSubdomain bug",
   "number": 1845,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 59,
   "deletions": 23,
   "merged_at": "2025-07-25T13:46:15+00:00",
   "opened_at": "2025-07-25T00:04:33+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 13.7
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Add __experimental_omceDomain flag for debugging and benchmarking",
   "number": 1844,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 164,
   "deletions": 73,
   "merged_at": "2025-07-25T16:45:53+00:00",
   "opened_at": "2025-07-24T23:19:08+00:00",
   "task_type": "feat",
   "files_changed": 6,
   "hours_to_merge": 17.45
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Fix robots.txt parser panic with content type validation",
   "number": 1843,
   "outcome": "merged_after_rework",
   "index_ok": false,
   "additions": 128,
   "deletions": 117,
   "merged_at": "2025-07-24T22:54:08+00:00",
   "opened_at": "2025-07-24T22:33:32+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": 0.34
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: rewrite sitemap XML parsing from JavaScript to Rust (ENG-2904)",
   "number": 1840,
   "outcome": "merged_after_rework",
   "index_ok": false,
   "additions": 523,
   "deletions": 81,
   "merged_at": "2025-07-24T22:02:48+00:00",
   "opened_at": "2025-07-24T19:30:35+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 2.54
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "Generate comprehensive SBOM for security questionnaire",
   "number": 1828,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 126,
   "deletions": 0,
   "merged_at": null,
   "opened_at": "2025-07-23T14:37:39+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "fix(python-sdk): add max_age parameter to scrape_url validation",
   "number": 1825,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 102,
   "deletions": 99,
   "merged_at": "2025-07-23T12:18:14+00:00",
   "opened_at": "2025-07-22T18:35:54+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": 17.71
  },
  {
   "agent": "devin",
   "state": "open",
   "title": "feat: add DD antibot support to Fire Engine Chrome CDP",
   "number": 1823,
   "outcome": "stale",
   "index_ok": false,
   "additions": 129,
   "deletions": 37,
   "merged_at": null,
   "opened_at": "2025-07-22T10:42:22+00:00",
   "task_type": "feat",
   "files_changed": 14,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "open",
   "title": "Add ddAntibot parameter and Datadome retry logic for chrome-cdp engine",
   "number": 1813,
   "outcome": "stale",
   "index_ok": false,
   "additions": 103,
   "deletions": 56,
   "merged_at": null,
   "opened_at": "2025-07-17T13:34:54+00:00",
   "task_type": "feat",
   "files_changed": 6,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "Skip Rust filterLinks when ignoreSitemap is true",
   "number": 1808,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 85,
   "deletions": 78,
   "merged_at": null,
   "opened_at": "2025-07-16T23:50:23+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "Fix Rust filterLinks implementation for ignoreSitemap=true crawls",
   "number": 1807,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 20,
   "deletions": 10,
   "merged_at": null,
   "opened_at": "2025-07-16T23:44:36+00:00",
   "task_type": "fix",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Fix search endpoint PDF billing when parsePDF=false",
   "number": 1806,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 27,
   "deletions": 2,
   "merged_at": "2025-07-16T23:16:56+00:00",
   "opened_at": "2025-07-16T22:26:16+00:00",
   "task_type": "fix",
   "files_changed": 3,
   "hours_to_merge": 0.84
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Fix Pydantic field name shadowing issues causing import NameError",
   "number": 1800,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1434,
   "deletions": 208,
   "merged_at": "2025-07-30T19:00:25+00:00",
   "opened_at": "2025-07-15T14:48:54+00:00",
   "task_type": "fix",
   "files_changed": 34,
   "hours_to_merge": 364.19
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: make URL protocol checks case-insensitive",
   "number": 1788,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 186,
   "deletions": 186,
   "merged_at": "2025-07-11T20:00:36+00:00",
   "opened_at": "2025-07-11T19:31:27+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 0.49
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "Improve crawl endpoint credit error messages for better user clarity",
   "number": 1785,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 164,
   "deletions": 113,
   "merged_at": null,
   "opened_at": "2025-07-10T20:08:28+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Add end-to-end test for deep research functionality (ENG-2627)",
   "number": 1760,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 55,
   "deletions": 8,
   "merged_at": "2025-07-03T15:34:03+00:00",
   "opened_at": "2025-07-02T23:47:17+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 15.78
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Implement fallback mechanism for onlyMainContent scraping (ENG-2499)",
   "number": 1759,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 46,
   "deletions": 24,
   "merged_at": "2025-07-03T15:33:38+00:00",
   "opened_at": "2025-07-02T21:47:24+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 17.77
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Implement JavaScript-only base href handling (ENG-2302)",
   "number": 1756,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 243,
   "deletions": 44,
   "merged_at": "2025-07-02T21:14:53+00:00",
   "opened_at": "2025-07-02T20:44:19+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 0.51
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "Fix base href handling in HTML scraper (ENG-2302)",
   "number": 1755,
   "outcome": "burn",
   "index_ok": true,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-07-02T20:11:54+00:00",
   "task_type": "fix",
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Add URL depth validation to crawl requests (ENG-2617)",
   "number": 1753,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 93,
   "deletions": 43,
   "merged_at": "2025-07-02T20:30:27+00:00",
   "opened_at": "2025-07-02T19:34:59+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 0.92
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Add health check endpoint for Playwright service (ENG-2585)",
   "number": 1752,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 37,
   "deletions": 18,
   "merged_at": "2025-07-02T19:52:36+00:00",
   "opened_at": "2025-07-02T19:19:39+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0.55
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: add waitFor validation rule to enforce waitFor <= timeout/2",
   "number": 1751,
   "outcome": "merged_after_rework",
   "index_ok": false,
   "additions": 482,
   "deletions": 117,
   "merged_at": "2025-07-03T16:24:52+00:00",
   "opened_at": "2025-07-02T14:41:03+00:00",
   "task_type": "feat",
   "files_changed": 16,
   "hours_to_merge": 25.73
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Make worker Express server port configurable via environment variable",
   "number": 1748,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 47,
   "deletions": 36,
   "merged_at": "2025-07-04T17:13:45+00:00",
   "opened_at": "2025-07-01T22:42:30+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 66.52
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Fix queue worker liveness endpoint for self-hosted environments (ENG-2587)",
   "number": 1747,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 26,
   "deletions": 17,
   "merged_at": "2025-07-02T13:27:38+00:00",
   "opened_at": "2025-07-01T22:39:37+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 14.8
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "fix: preserve request protocol for localhost URLs in API responses",
   "number": 1743,
   "outcome": "abandoned",
   "index_ok": false,
   "additions": 68,
   "deletions": 4,
   "merged_at": null,
   "opened_at": "2025-07-01T18:03:49+00:00",
   "task_type": "fix",
   "files_changed": 5,
   "hours_to_merge": null
  },
  {
   "agent": "cursor",
   "state": "merged",
   "title": "Fix protocol change in firecrawl services",
   "number": 1742,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 2,
   "deletions": 0,
   "merged_at": "2025-07-01T22:27:02+00:00",
   "opened_at": "2025-07-01T17:51:28+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 4.59
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: implement IDN support with Punycode encoding",
   "number": 1735,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 32,
   "deletions": 31,
   "merged_at": "2025-07-01T13:39:34+00:00",
   "opened_at": "2025-06-30T19:27:45+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 18.2
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Add parsePDF parameter to JS SDK",
   "number": 1720,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 49,
   "deletions": 17,
   "merged_at": "2025-06-27T14:30:49+00:00",
   "opened_at": "2025-06-26T19:57:06+00:00",
   "task_type": "feat",
   "files_changed": 5,
   "hours_to_merge": 18.56
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Fix unreachable allowSubdomains code in crawler filterURL method",
   "number": 1719,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 37,
   "deletions": 10,
   "merged_at": "2025-06-27T14:28:58+00:00",
   "opened_at": "2025-06-26T18:49:56+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 19.65
  }
 ],
 "indexed": 49,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-04",
   "merged": 9,
   "flights": 17
  },
  {
   "burns": 1,
   "month": "2025-05",
   "merged": 10,
   "flights": 14
  },
  {
   "burns": 1,
   "month": "2025-06",
   "merged": 10,
   "flights": 14
  },
  {
   "burns": 3,
   "month": "2025-07",
   "merged": 29,
   "flights": 47
  }
 ],
 "top_authors": [
  {
   "name": "Nicolas",
   "login": "nickscamara",
   "flights": 1,
   "indexed": 1
  },
  {
   "name": null,
   "login": "mogery",
   "flights": 2,
   "indexed": 0
  }
 ],
 "page": "https://agentriders.com/logs/mendableai/firecrawl/"
}