{
  "schemaVersion": "qmmit.observation.v1",
  "datasetVersion": "2026-09-18-v3.0",
  "rulesetVersion": "sha256:b2e8889c66f72c18a61839f0bf1a9f77b5481ba2def044dba33c797b2f2bdcae",
  "scanDate": "2026-09-16",
  "observation": {
    "repo": "usememos/memos",
    "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": "usememos/memos",
      "canonicalRepo": "usememos/memos",
      "canonicalGitHubUrl": "https://github.com/usememos/memos",
      "defaultBranch": "main",
      "headShaAtResolution": "5ddf4745a20d7260deccb7039e30e4cc2380ad2d",
      "resolvedAt": "2026-09-16T12:09:27.525Z",
      "redirected": false
    },
    "agentSharePctFloor": 6.8,
    "humanSharePctCeiling": 93.2,
    "totals": {
      "commitsInHistory": 573,
      "mergeCommitsExcluded": 0,
      "ciBotCommitsExcluded": 2,
      "commitsConsidered": 571,
      "agentAttributedCommits": 39,
      "humanAttributedCommits": 532
    },
    "concentration": {
      "distinctAgentAuthors": 8,
      "topAuthorShareOfAgentCommits": 71.8,
      "adoptionPattern": "team"
    },
    "mode": {
      "assistedCommits": 38,
      "autonomousCommits": 1,
      "assistedPct": 6.7,
      "autonomousPct": 0.2
    },
    "agents": [
      {
        "id": "claude-code",
        "label": "Claude Code",
        "vendor": "Anthropic",
        "commits": 25,
        "sharePct": 4.4,
        "samples": [
          {
            "hash": "c9b356b46a44ad80209c707549294f76ef916c8f",
            "subject": "fix(memo): populate parent relation in comment webhook payload (#6083)",
            "date": "2026-07-12T17:23:58+08:00"
          },
          {
            "hash": "797f1ff15dcb94543ce15462f7cfc8d292f2ffa7",
            "subject": "feat(web): markdown WYSIWYG editor with raw-mode toggle (#6030)",
            "date": "2026-06-12T09:34:51+08:00"
          },
          {
            "hash": "8f1377324f9c59505a39d395c09ff7536459911a",
            "subject": "fix(editor): wire Ctrl+B and Ctrl+I markdown shortcuts to textarea (#6016)",
            "date": "2026-06-08T00:24:05+08:00"
          },
          {
            "hash": "8c16ffa1f1410f9413cb57ebe251b4b604f9aeff",
            "subject": "feat: add <Placeholder> component with ASCII bird states (#5949)",
            "date": "2026-05-12T22:48:37+08:00"
          },
          {
            "hash": "9610ed8fc809b3e7aa4b93e4909634957fa94cf7",
            "subject": "fix(lint): correct goimports struct literal alignment after removing write-only credential fields (#5794)",
            "date": "2026-03-29T20:31:09+08:00"
          }
        ]
      },
      {
        "id": "copilot",
        "label": "GitHub Copilot",
        "vendor": "GitHub",
        "commits": 13,
        "sharePct": 2.3,
        "samples": [
          {
            "hash": "6b3057990396f9cb6f21706c2e99dddebc35ffd5",
            "subject": "feat: add outline navigation to memo detail sidebar (#5771)",
            "date": "2026-03-24T00:20:40+08:00"
          },
          {
            "hash": "45b21530d9ebbc730e77bcbcf407f4c295b52e93",
            "subject": "feat: add blur_content attribute to tag metadata settings (#5767)",
            "date": "2026-03-23T19:42:27+08:00"
          },
          {
            "hash": "9e04049632e63f1cf53535773f170c1aa5af7168",
            "subject": "feat: treat tag setting keys as anchored regex patterns (#5759)",
            "date": "2026-03-22T08:07:45+08:00"
          },
          {
            "hash": "9ded59a1aaf4c6ed970d05dde08bc1b3ebeb0bc2",
            "subject": "refactor(web): improve Settings page maintainability and consistency (#5757)",
            "date": "2026-03-21T15:05:48+08:00"
          },
          {
            "hash": "4177898054838053942aa3cb6f82cc3b042ee9c4",
            "subject": "refactor(web): consolidate memo metadata components into MemoMetadata (#5755)",
            "date": "2026-03-21T09:04:15+08:00"
          }
        ]
      },
      {
        "id": "cursor",
        "label": "Cursor Agent",
        "vendor": "Anysphere",
        "commits": 1,
        "sharePct": 0.2,
        "samples": [
          {
            "hash": "ea0892a8b26d8806a093e3a942562dfc22794f68",
            "subject": "feat: add live refresh via Server-Sent Events (SSE) with visual indicator (#5638)",
            "date": "2026-03-03T22:56:12+08:00"
          }
        ]
      }
    ],
    "timeline": [
      {
        "month": "2026-02",
        "total": 67,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-03",
        "total": 104,
        "agent": 35,
        "agentPct": 33.7
      },
      {
        "month": "2026-04",
        "total": 88,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-05",
        "total": 47,
        "agent": 1,
        "agentPct": 2.1
      },
      {
        "month": "2026-06",
        "total": 51,
        "agent": 2,
        "agentPct": 3.9
      },
      {
        "month": "2026-07",
        "total": 77,
        "agent": 1,
        "agentPct": 1.3
      },
      {
        "month": "2026-08",
        "total": 77,
        "agent": 0,
        "agentPct": 0
      },
      {
        "month": "2026-09",
        "total": 60,
        "agent": 0,
        "agentPct": 0
      }
    ],
    "lowActivity": false
  }
}
