{
  "schemaVersion": "qmmit.observation.v1",
  "datasetVersion": "2026-09-18-v3.0",
  "rulesetVersion": "sha256:b2e8889c66f72c18a61839f0bf1a9f77b5481ba2def044dba33c797b2f2bdcae",
  "scanDate": "2026-09-16",
  "observation": {
    "repo": "plotly/plotly.js",
    "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": "plotly/plotly.js",
      "canonicalRepo": "plotly/plotly.js",
      "canonicalGitHubUrl": "https://github.com/plotly/plotly.js",
      "defaultBranch": "main",
      "headShaAtResolution": "7f857ee5738b2f8da0695fb0297b32080ede8b41",
      "resolvedAt": "2026-09-16T12:09:27.525Z",
      "redirected": false
    },
    "agentSharePctFloor": 0.7,
    "humanSharePctCeiling": 99.3,
    "totals": {
      "commitsInHistory": 1179,
      "mergeCommitsExcluded": 197,
      "ciBotCommitsExcluded": 8,
      "commitsConsidered": 974,
      "agentAttributedCommits": 7,
      "humanAttributedCommits": 967
    },
    "concentration": {
      "distinctAgentAuthors": 4,
      "topAuthorShareOfAgentCommits": 42.9,
      "adoptionPattern": "team"
    },
    "mode": {
      "assistedCommits": 7,
      "autonomousCommits": 0,
      "assistedPct": 0.7,
      "autonomousPct": 0
    },
    "agents": [
      {
        "id": "claude-code",
        "label": "Claude Code",
        "vendor": "Anthropic",
        "commits": 6,
        "sharePct": 0.6,
        "samples": [
          {
            "hash": "7011939c1d80889f28d13afa7d4925cf74607370",
            "subject": "Address review feedback: extract domain-clamping helpers",
            "date": "2026-07-31T02:43:54+00:00"
          },
          {
            "hash": "4d427c7125ee43cfd4aabd382f21b5147025c3f3",
            "subject": "Add draftlog entry for PR #7908",
            "date": "2026-07-16T17:55:47+00:00"
          },
          {
            "hash": "b121bc921907b1268f8c5d4d4dbb86e19e14e1f7",
            "subject": "Clamp colorbar axis domain so it can never invert",
            "date": "2026-07-16T17:40:41+00:00"
          },
          {
            "hash": "6414755f2888ec5b14375512c52f79180e4ac81a",
            "subject": "Regenerate allowed-range image baselines after limitRange fix",
            "date": "2026-04-17T14:20:31-07:00"
          },
          {
            "hash": "f0b3b0c2af4815abf52c4cd6752e908eb6bb267a",
            "subject": "Add regression tests for minallowed/maxallowed axis orientation",
            "date": "2026-04-17T14:20:25-07:00"
          }
        ]
      },
      {
        "id": "cursor",
        "label": "Cursor Agent",
        "vendor": "Anysphere",
        "commits": 1,
        "sharePct": 0.1,
        "samples": [
          {
            "hash": "4d9f656d9a82bebe848055f143f0ac9103debcf3",
            "subject": "Reuse scatter selectPoints for quiver instead of duplicating selection logic",
            "date": "2026-06-23T17:37:39-07:00"
          }
        ]
      }
    ],
    "timeline": [
      {
        "month": "2026-02",
        "total": 43,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-03",
        "total": 32,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-04",
        "total": 100,
        "agent": 3,
        "agentPct": 3
      },
      {
        "month": "2026-05",
        "total": 118,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-06",
        "total": 277,
        "agent": 1,
        "agentPct": 0.4
      },
      {
        "month": "2026-07",
        "total": 212,
        "agent": 3,
        "agentPct": 1.4
      },
      {
        "month": "2026-08",
        "total": 125,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-09",
        "total": 67,
        "agent": 0,
        "agentPct": 0
      }
    ],
    "lowActivity": false
  }
}
