{
  "schemaVersion": "qmmit.observation.v1",
  "datasetVersion": "2026-09-18-v3.0",
  "rulesetVersion": "sha256:b2e8889c66f72c18a61839f0bf1a9f77b5481ba2def044dba33c797b2f2bdcae",
  "scanDate": "2026-09-16",
  "observation": {
    "repo": "dgtlmoon/changedetection.io",
    "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": "dgtlmoon/changedetection.io",
      "canonicalRepo": "dgtlmoon/changedetection.io",
      "canonicalGitHubUrl": "https://github.com/dgtlmoon/changedetection.io",
      "defaultBranch": "master",
      "headShaAtResolution": "b61b83c35d72b3cbfa826edf6666dd2c5061fd64",
      "resolvedAt": "2026-09-16T12:09:27.525Z",
      "redirected": false
    },
    "agentSharePctFloor": 4.8,
    "humanSharePctCeiling": 95.2,
    "totals": {
      "commitsInHistory": 374,
      "mergeCommitsExcluded": 3,
      "ciBotCommitsExcluded": 15,
      "commitsConsidered": 356,
      "agentAttributedCommits": 17,
      "humanAttributedCommits": 339
    },
    "concentration": {
      "distinctAgentAuthors": 3,
      "topAuthorShareOfAgentCommits": 88.2,
      "adoptionPattern": "individual"
    },
    "mode": {
      "assistedCommits": 17,
      "autonomousCommits": 0,
      "assistedPct": 4.8,
      "autonomousPct": 0
    },
    "agents": [
      {
        "id": "claude-code",
        "label": "Claude Code",
        "vendor": "Anthropic",
        "commits": 17,
        "sharePct": 4.8,
        "samples": [
          {
            "hash": "b61b83c35d72b3cbfa826edf6666dd2c5061fd64",
            "subject": "Fetch favicon candidates in parallel under one deadline, and stop the two ways it could hang (#4435)",
            "date": "2026-09-15T09:43:43+02:00"
          },
          {
            "hash": "710254431005555a06b6365dc86ebef4c949b05c",
            "subject": "xPath filters - Stop LC_COLLATE deciding what contains() means (#4437) (#4438)",
            "date": "2026-09-14T20:33:35+02:00"
          },
          {
            "hash": "d56ec682fed93032127de45050867d15f765c97c",
            "subject": "Puppeteer fetcher - Re-navigation cap must not mean \"extract right now\" (#4439)",
            "date": "2026-09-14T20:31:48+02:00"
          },
          {
            "hash": "7a29b5bc731c2c7e9385b5debbbf68bd93c4aaaf",
            "subject": "Page fetching - Terminate runaway page script before extracting, or a spinning renderer eats the whole fetch (#4433)",
            "date": "2026-09-14T12:40:53+02:00"
          },
          {
            "hash": "06446fa26b2e0261458506c901272f1bb3db8054",
            "subject": "Debounce the explicit gc.collect() storm on the watch-check path (#4431)",
            "date": "2026-09-14T00:11:47+02:00"
          }
        ]
      }
    ],
    "timeline": [
      {
        "month": "2026-02",
        "total": 83,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-03",
        "total": 40,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-04",
        "total": 65,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-05",
        "total": 43,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-06",
        "total": 7,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-07",
        "total": 15,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-08",
        "total": 35,
        "agent": 1,
        "agentPct": 2.9
      },
      {
        "month": "2026-09",
        "total": 68,
        "agent": 16,
        "agentPct": 23.5
      }
    ],
    "lowActivity": false
  }
}
