{
  "schemaVersion": "qmmit.observation.v1",
  "datasetVersion": "2026-09-18-v3.0",
  "rulesetVersion": "sha256:b2e8889c66f72c18a61839f0bf1a9f77b5481ba2def044dba33c797b2f2bdcae",
  "scanDate": "2026-09-16",
  "observation": {
    "repo": "playcanvas/engine",
    "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": "playcanvas/engine",
      "canonicalRepo": "playcanvas/engine",
      "canonicalGitHubUrl": "https://github.com/playcanvas/engine",
      "defaultBranch": "main",
      "headShaAtResolution": "f5e705f37630125d9e6cd784490dc47028a96b68",
      "resolvedAt": "2026-09-16T12:09:27.525Z",
      "redirected": false
    },
    "agentSharePctFloor": 22.8,
    "humanSharePctCeiling": 77.2,
    "totals": {
      "commitsInHistory": 863,
      "mergeCommitsExcluded": 1,
      "ciBotCommitsExcluded": 80,
      "commitsConsidered": 782,
      "agentAttributedCommits": 178,
      "humanAttributedCommits": 604
    },
    "concentration": {
      "distinctAgentAuthors": 6,
      "topAuthorShareOfAgentCommits": 56.7,
      "adoptionPattern": "team"
    },
    "mode": {
      "assistedCommits": 178,
      "autonomousCommits": 0,
      "assistedPct": 22.8,
      "autonomousPct": 0
    },
    "agents": [
      {
        "id": "claude-code",
        "label": "Claude Code",
        "vendor": "Anthropic",
        "commits": 145,
        "sharePct": 18.5,
        "samples": [
          {
            "hash": "c43c09fff83c940b326213cd326b152e275ac637",
            "subject": "Publish the scene environment textures under their own uniforms (#9364)",
            "date": "2026-09-11T12:38:07+01:00"
          },
          {
            "hash": "f414d25a8fc9caf7624805eeb14c8de296955834",
            "subject": "Fix StandardMaterial shader invalidation for refraction thresholds (#9363)",
            "date": "2026-09-11T11:26:39+01:00"
          },
          {
            "hash": "397390913ae1bd9fb285b7e27e3e48b53df21864",
            "subject": "Fix StandardMaterial shader invalidation for environment textures and 0/1 number changes (#9359)",
            "date": "2026-09-11T11:15:28+01:00"
          },
          {
            "hash": "b935bc9472f0ff109270ac818c886eddb00815ac",
            "subject": "Add environment sources test example (#9360)",
            "date": "2026-09-11T11:00:15+01:00"
          },
          {
            "hash": "1c36a730aabaa7ab2427b1b79e172d04cb8536d2",
            "subject": "feat: Type Entity#addComponent options and result by component name (#9320)",
            "date": "2026-09-07T15:26:31+01:00"
          }
        ]
      },
      {
        "id": "cursor",
        "label": "Cursor Agent",
        "vendor": "Anysphere",
        "commits": 25,
        "sharePct": 3.2,
        "samples": [
          {
            "hash": "10e5cb4ba590c3413d7cca4c7dea8cf8f717fa4b",
            "subject": "refactor(scrollbar): tighten ScrollbarComponent internals (#8694)",
            "date": "2026-05-06T21:46:15+01:00"
          },
          {
            "hash": "5fadb06289dc48853942ab0c96381bc48cd533f4",
            "subject": "refactor(scrollbar): align ScrollbarComponent with CameraComponent architecture (#8693)",
            "date": "2026-05-06T20:36:31+01:00"
          },
          {
            "hash": "8993d0ebf25a9d4f32d5b3ec34abacf2314299e3",
            "subject": "docs: Fix executeCallback JSDoc type in gsplat-resolve-sh (#8682)",
            "date": "2026-05-05T11:20:00+01:00"
          },
          {
            "hash": "c0428ee5287958647bfab8f001808f84b2b0b506",
            "subject": "docs(sprite): document SpriteAnimationClip name, fps, and loop (#8680)",
            "date": "2026-05-04T10:45:44+01:00"
          },
          {
            "hash": "29eef7d1d37cef4a82cc09b4e12f018ab2a1241d",
            "subject": "refactor(sprite): SpriteAnimationClip class fields, layer typings, and docs (#8679)",
            "date": "2026-05-04T09:33:14+01:00"
          }
        ]
      },
      {
        "id": "copilot",
        "label": "GitHub Copilot",
        "vendor": "GitHub",
        "commits": 14,
        "sharePct": 1.8,
        "samples": [
          {
            "hash": "90339e4b546bc2cff6e8c222a9a4ef80557bb3a8",
            "subject": "Fix crash when unloading sog assets still referenced by the unified world (#9035)",
            "date": "2026-07-06T12:39:53+01:00"
          },
          {
            "hash": "f143ab7a7a9067b8b9dca5b9fe41b08afc51ed81",
            "subject": "Support for exporting aoMaps and the second UV channels (#8728)",
            "date": "2026-05-18T12:46:54+01:00"
          },
          {
            "hash": "c7612f6b24e1d4f51c5661427799426e908cb409",
            "subject": "feat: WebGPU XR device loss, devicelost events, and graphics binding typings (#8719)",
            "date": "2026-05-11T16:41:09+01:00"
          },
          {
            "hash": "ab0d0a323f11bd04a4eb040327e0a84476f09420",
            "subject": "feat(examples): Add animated sprite example using SpriteComponent (#8676)",
            "date": "2026-05-04T08:32:18+01:00"
          },
          {
            "hash": "dc9f59df420e73ee662ac6fe24c719b30197dfd1",
            "subject": "refactor: Clean up vestigial Model plumbing on SpriteComponent (#8674)",
            "date": "2026-05-03T20:33:02+01:00"
          }
        ]
      }
    ],
    "timeline": [
      {
        "month": "2026-02",
        "total": 45,
        "agent": 8,
        "agentPct": 17.8
      },
      {
        "month": "2026-03",
        "total": 62,
        "agent": 1,
        "agentPct": 1.6
      },
      {
        "month": "2026-04",
        "total": 87,
        "agent": 4,
        "agentPct": 4.6
      },
      {
        "month": "2026-05",
        "total": 128,
        "agent": 28,
        "agentPct": 21.9
      },
      {
        "month": "2026-06",
        "total": 145,
        "agent": 47,
        "agentPct": 32.4
      },
      {
        "month": "2026-07",
        "total": 123,
        "agent": 28,
        "agentPct": 22.8
      },
      {
        "month": "2026-08",
        "total": 84,
        "agent": 32,
        "agentPct": 38.1
      },
      {
        "month": "2026-09",
        "total": 108,
        "agent": 30,
        "agentPct": 27.8
      }
    ],
    "lowActivity": false
  }
}
