{
  "schemaVersion": "qmmit.observation.v1",
  "datasetVersion": "2026-09-18-v3.0",
  "rulesetVersion": "sha256:b2e8889c66f72c18a61839f0bf1a9f77b5481ba2def044dba33c797b2f2bdcae",
  "scanDate": "2026-09-16",
  "observation": {
    "repo": "astral-sh/ruff",
    "datasetVersion": "2026-09-18-v3.0",
    "rulesetVersion": "sha256:b2e8889c66f72c18a61839f0bf1a9f77b5481ba2def044dba33c797b2f2bdcae",
    "scanDate": "2026-09-16",
    "window": {
      "since": "2026-02-01",
      "untilExclusive": "2026-09-16",
      "label": "February–September 15, 2026"
    },
    "repository": {
      "sourceRepo": "astral-sh/ruff",
      "canonicalRepo": "astral-sh/ruff",
      "canonicalGitHubUrl": "https://github.com/astral-sh/ruff",
      "defaultBranch": "main",
      "headShaAtResolution": "31131db44f057cce68fa6b95552b7db54167b0b3",
      "resolvedAt": "2026-09-16T12:09:27.525Z",
      "redirected": false
    },
    "agentSharePctFloor": 2,
    "humanSharePctCeiling": 98,
    "totals": {
      "commitsInHistory": 3345,
      "mergeCommitsExcluded": 0,
      "ciBotCommitsExcluded": 508,
      "commitsConsidered": 2837,
      "agentAttributedCommits": 58,
      "humanAttributedCommits": 2779
    },
    "concentration": {
      "distinctAgentAuthors": 19,
      "topAuthorShareOfAgentCommits": 32.8,
      "adoptionPattern": "org-wide"
    },
    "mode": {
      "assistedCommits": 58,
      "autonomousCommits": 0,
      "assistedPct": 2,
      "autonomousPct": 0
    },
    "agents": [
      {
        "id": "claude-code",
        "label": "Claude Code",
        "vendor": "Anthropic",
        "commits": 49,
        "sharePct": 1.7,
        "samples": [
          {
            "hash": "fca5c7cf2cd2f8338f18b9485f936b8e9f07bd0b",
            "subject": "Fix duplicated \"of\" in ClientOptions doc comment (#27978)",
            "date": "2026-08-22T14:11:34-04:00"
          },
          {
            "hash": "5428c216bf56d28191e82d495de62d2f8025ba49",
            "subject": "[ty] Expand nested union aliases when finding a TypedDict or callable (#27740)",
            "date": "2026-08-15T09:26:53-07:00"
          },
          {
            "hash": "a9130f3381fe137626d22288c0d45f996541ca7e",
            "subject": "[`pyupgrade`] Add rule to replace `while 1` with `while True` (`while-one`, `UP048`) (#27190)",
            "date": "2026-08-12T17:48:45-04:00"
          },
          {
            "hash": "6f86de2eb6363f77a314998c414ac8b53849b92f",
            "subject": "[`pylint`] Fix false negatives on negative numbers (`PLR6104`) (#27251)",
            "date": "2026-08-07T20:47:02+00:00"
          },
          {
            "hash": "023b1db30e6ec3e0d2fef1c42878a8588589252f",
            "subject": "[`flake8-import-conventions`] Document that `extend-aliases` can override default aliases (#27191)",
            "date": "2026-07-28T15:14:36+00:00"
          }
        ]
      },
      {
        "id": "codex",
        "label": "OpenAI Codex",
        "vendor": "OpenAI",
        "commits": 9,
        "sharePct": 0.3,
        "samples": [
          {
            "hash": "a2a71c59e13213dfa438ea54a00897c0c0aa80b0",
            "subject": "[ty] Add first-class support for enum complements (#24961)",
            "date": "2026-05-19T00:49:42+01:00"
          },
          {
            "hash": "f3b59046860b9791b5075646f01c95de8e05777b",
            "subject": "[ty] Hoist path assignment implication checks (#25107)",
            "date": "2026-05-11T15:43:14-04:00"
          },
          {
            "hash": "ac6361d83e4d51ab123043b00d5285a842077b81",
            "subject": "[ty] Include severity in JUnit diagnostics (#25080)",
            "date": "2026-05-10T07:21:22-04:00"
          },
          {
            "hash": "0af49af435ee1ce62e39ed20df99d9e843a62463",
            "subject": "[ty] Contextualize generator expression yields (#25069)",
            "date": "2026-05-09T19:15:03-04:00"
          },
          {
            "hash": "a21891adbc6e5dbf328bc286559f971c62339901",
            "subject": "[ty] Preserve NewType and TypeAliasType in implicit aliases (#25072)",
            "date": "2026-05-09T13:10:36-04:00"
          }
        ]
      },
      {
        "id": "copilot",
        "label": "GitHub Copilot",
        "vendor": "GitHub",
        "commits": 1,
        "sharePct": 0,
        "samples": [
          {
            "hash": "e51e132831c4e1c4a5ac00fca4c9256354ab99bf",
            "subject": "[`flake8-async`] Implement `yield-in-context-manager-in-async-generator` (`ASYNC119`) (#24644)",
            "date": "2026-06-04T07:33:07-07:00"
          }
        ]
      }
    ],
    "timeline": [
      {
        "month": "2026-02",
        "total": 366,
        "agent": 19,
        "agentPct": 5.2
      },
      {
        "month": "2026-03",
        "total": 342,
        "agent": 12,
        "agentPct": 3.5
      },
      {
        "month": "2026-04",
        "total": 317,
        "agent": 6,
        "agentPct": 1.9
      },
      {
        "month": "2026-05",
        "total": 234,
        "agent": 11,
        "agentPct": 4.7
      },
      {
        "month": "2026-06",
        "total": 477,
        "agent": 2,
        "agentPct": 0.4
      },
      {
        "month": "2026-07",
        "total": 436,
        "agent": 4,
        "agentPct": 0.9
      },
      {
        "month": "2026-08",
        "total": 461,
        "agent": 4,
        "agentPct": 0.9
      },
      {
        "month": "2026-09",
        "total": 204,
        "agent": 0,
        "agentPct": 0
      }
    ],
    "lowActivity": false
  }
}
