{
 "asof": "2026-09-15",
 "caps": [
  "cli",
  "ide",
  "desktop",
  "web",
  "mobile",
  "remote",
  "headless",
  "oss",
  "mcp",
  "mcpsrv",
  "skills",
  "plugins",
  "hooks",
  "customtools",
  "subagents",
  "orchestrate",
  "sched",
  "memory",
  "messaging",
  "voice",
  "computer",
  "mediagen",
  "creative",
  "iot",
  "sandbox",
  "enterprise",
  "byom"
 ],
 "harnesses": [
  "claude",
  "codex",
  "hermes",
  "openclaw2",
  "openclaw1",
  "cursor",
  "gemini",
  "antigravity",
  "opencode",
  "grok",
  "aider",
  "pi",
  "grokbot"
 ],
 "history": [
  {
   "date": "2026-09-15",
   "label": "v1",
   "note": "Initial board. Reconstructed from the audit log's recorded per-cell v1 values; 36 for OpenCode is corroborated by the round-1 log.",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 44,
    "codex": 50,
    "cursor": 43,
    "gemini": 30,
    "grok": 15,
    "hermes": 50,
    "opencode": 36
   }
  },
  {
   "date": "2026-09-15",
   "label": "v2",
   "note": "Round 1: 6 peer corrections accepted + the creative-row rubric fix (all 8 MCP-capable harnesses 2\u21921).",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 44,
    "codex": 49,
    "cursor": 43,
    "gemini": 29,
    "grok": 14,
    "hermes": 49,
    "opencode": 39
   }
  },
  {
   "date": "2026-09-15",
   "label": "v3",
   "note": "Codex re-walk (@Luna): mcp-server cmd + binary removed, 2\u21920; 25 cells confirmed.",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 44,
    "codex": 47,
    "cursor": 43,
    "gemini": 29,
    "grok": 14,
    "hermes": 49,
    "opencode": 39
   }
  },
  {
   "date": "2026-09-15",
   "label": "v3.1",
   "note": "Compiler reversal on @Honey's evidence: OpenCode Desktop GUI app 1\u21922 off the first-party download page.",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 44,
    "codex": 47,
    "cursor": 43,
    "gemini": 29,
    "grok": 14,
    "hermes": 49,
    "opencode": 40
   }
  },
  {
   "date": "2026-09-15",
   "label": "v3.2",
   "note": "Pi added as a 10th column.",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 45,
    "codex": 47,
    "cursor": 43,
    "gemini": 29,
    "grok": 14,
    "grokbot": 28,
    "hermes": 49,
    "openclaw1": 47,
    "openclaw2": 49,
    "opencode": 40,
    "pi": 26
   }
  },
  {
   "date": "2026-09-15",
   "label": "v4",
   "note": "OpenClaw 1.x and 2.0 added as an 11th and 12th column (2.0 = release v2026.8.1, 2026-08-30).",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 45,
    "codex": 47,
    "cursor": 43,
    "gemini": 29,
    "grok": 14,
    "grokbot": 28,
    "hermes": 49,
    "opencode": 40,
    "pi": 26
   }
  },
  {
   "date": "2026-09-15",
   "label": "v4.1",
   "note": "OpenClaw columns scored. 16,000 PRs in 2.0 moved the breadth score by one point.",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 44,
    "codex": 47,
    "cursor": 43,
    "gemini": 29,
    "grok": 14,
    "hermes": 49,
    "openclaw1": 46,
    "openclaw2": 47,
    "opencode": 40,
    "pi": 26
   }
  },
  {
   "date": "2026-09-15",
   "label": "v4.2",
   "note": "Round 2: 2.0 exposes-over-MCP 0\u21922 (`openclaw mcp serve`); 1.x media generation 1\u21922 (video/music built-ins shipped v2026.4.5). One-point headline survived the corrections; the rebuild-not-expansion explanation did not.",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 45,
    "codex": 47,
    "cursor": 43,
    "gemini": 29,
    "grok": 14,
    "grokbot": 28,
    "hermes": 49,
    "openclaw1": 47,
    "openclaw2": 49,
    "opencode": 40,
    "pi": 26
   }
  },
  {
   "date": "2026-09-15",
   "label": "v4.3",
   "note": "Clarity / public-readiness pass from the peer review (metric stated up front, star marker removed, group maxima shown, zero cells readable, export links, desktop layout) + one stale row note repaired. No cell moved.",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 45,
    "codex": 47,
    "cursor": 43,
    "gemini": 29,
    "grok": 14,
    "grokbot": 28,
    "hermes": 49,
    "openclaw1": 47,
    "openclaw2": 49,
    "opencode": 40,
    "pi": 26
   }
  },
  {
   "date": "2026-09-15",
   "label": "v4.4",
   "note": "Claude Code column owner-reviewed in the harness itself (Opus): Exposes-itself-over-MCP 1\u21922 = 45/54, 3 citation repairs, 4 citations added for previously uncited 2s, and 21 citations migrated to the live code.claude.com domain after the auditor flagged 22 redirects across the board.",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 45,
    "codex": 47,
    "cursor": 43,
    "gemini": 29,
    "grok": 14,
    "hermes": 49,
    "openclaw1": 47,
    "openclaw2": 49,
    "opencode": 40,
    "pi": 26
   }
  },
  {
   "date": "2026-09-15",
   "label": "v4.5",
   "note": "Grok Bot added as the 13th column at 28/54 - scored on docs.x.ai/grok-bot's 18-page index, with the rental caveat written into the roster note and the Method tab.",
   "totals": {
    "aider": 12,
    "antigravity": 45,
    "claude": 45,
    "codex": 47,
    "cursor": 43,
    "gemini": 29,
    "grok": 14,
    "hermes": 49,
    "openclaw1": 47,
    "openclaw2": 49,
    "opencode": 40,
    "pi": 26
   }
  }
 ],
 "max": 54,
 "mcpCapable": 12,
 "releases": {
  "aider": {
   "channel_note": "Aider's GitHub release feed stops 2025-08-09, but the project ships as a PyPI package: aider-chat 0.86.2 landed 2026-02-12 and the repo has commits through 2026-05-22. Its flat tail is a channel artifact, not dormancy.",
   "first": "2023-06-07",
   "last": "2025-08-09",
   "months": {
    "2023-06": 5,
    "2023-07": 7,
    "2023-08": 4,
    "2023-09": 2,
    "2023-10": 4,
    "2023-11": 2,
    "2023-12": 2,
    "2024-01": 3,
    "2024-02": 2,
    "2024-03": 3,
    "2024-04": 3,
    "2024-05": 6,
    "2024-06": 4,
    "2024-07": 7,
    "2024-08": 7,
    "2024-09": 4,
    "2024-10": 2,
    "2024-11": 5,
    "2024-12": 5,
    "2025-01": 3,
    "2025-02": 1,
    "2025-03": 6,
    "2025-04": 2,
    "2025-05": 2,
    "2025-06": 1,
    "2025-08": 1
   },
   "prereleases_excluded": 0,
   "repo": "Aider-AI/aider",
   "stable_total": 93
  },
  "claude": {
   "first": "2025-12-19",
   "last": "2026-09-15",
   "months": {
    "2025-12": 2,
    "2026-01": 23,
    "2026-02": 26,
    "2026-03": 20,
    "2026-04": 27,
    "2026-05": 28,
    "2026-06": 29,
    "2026-07": 22,
    "2026-08": 27,
    "2026-09": 15
   },
   "prereleases_excluded": 0,
   "repo": "anthropics/claude-code",
   "stable_total": 219
  },
  "codex": {
   "first": "2025-04-30",
   "last": "2026-09-15",
   "months": {
    "2025-06": 1,
    "2025-07": 8,
    "2025-08": 15,
    "2025-09": 15,
    "2025-10": 9,
    "2025-11": 9,
    "2025-12": 11,
    "2026-01": 14,
    "2026-02": 13,
    "2026-03": 10,
    "2026-04": 8,
    "2026-05": 7,
    "2026-06": 11,
    "2026-07": 11,
    "2026-08": 8,
    "2026-09": 9
   },
   "prereleases_excluded": 923,
   "repo": "openai/codex",
   "stable_total": 159
  },
  "gemini": {
   "first": "2025-06-24",
   "last": "2026-09-15",
   "months": {
    "2025-06": 2,
    "2025-07": 21,
    "2025-08": 29,
    "2025-09": 47,
    "2025-10": 51,
    "2025-11": 67,
    "2025-12": 21,
    "2026-01": 8,
    "2026-02": 19,
    "2026-03": 12,
    "2026-04": 11,
    "2026-05": 7,
    "2026-06": 7,
    "2026-07": 5,
    "2026-08": 5,
    "2026-09": 3
   },
   "prereleases_excluded": 311,
   "repo": "google-gemini/gemini-cli",
   "stable_total": 315
  },
  "hermes": {
   "first": "2026-03-12",
   "last": "2026-09-14",
   "months": {
    "2026-03": 5,
    "2026-04": 6,
    "2026-05": 5,
    "2026-06": 2,
    "2026-07": 5,
    "2026-08": 8,
    "2026-09": 3
   },
   "prereleases_excluded": 0,
   "repo": "NousResearch/hermes-agent",
   "stable_total": 34
  },
  "opencode": {
   "first": "2025-05-14",
   "last": "2026-09-14",
   "months": {
    "2025-05": 8,
    "2025-06": 129,
    "2025-07": 136,
    "2025-08": 78,
    "2025-09": 53,
    "2025-10": 46,
    "2025-11": 113,
    "2025-12": 82,
    "2026-01": 47,
    "2026-02": 33,
    "2026-03": 25,
    "2026-04": 31,
    "2026-05": 33,
    "2026-06": 15,
    "2026-07": 19,
    "2026-08": 15,
    "2026-09": 6
   },
   "prereleases_excluded": 4,
   "repo": "anomalyco/opencode",
   "stable_total": 869
  },
  "pi": {
   "first": "2025-12-02",
   "last": "2026-09-05",
   "months": {
    "2025-12": 76,
    "2026-01": 56,
    "2026-02": 30,
    "2026-03": 21,
    "2026-04": 25,
    "2026-05": 17,
    "2026-06": 16,
    "2026-07": 11,
    "2026-08": 5,
    "2026-09": 2
   },
   "prereleases_excluded": 0,
   "repo": "earendil-works/pi",
   "stable_total": 259
  }
 },
 "scores": {
  "byom": [
   1,
   1,
   2,
   2,
   2,
   1,
   1,
   1,
   2,
   0,
   2,
   2,
   0
  ],
  "cli": [
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   0
  ],
  "computer": [
   2,
   2,
   2,
   2,
   2,
   2,
   0,
   2,
   1,
   1,
   0,
   1,
   2
  ],
  "creative": [
   1,
   1,
   1,
   1,
   1,
   1,
   1,
   1,
   1,
   1,
   0,
   1,
   1
  ],
  "customtools": [
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   1,
   1,
   2,
   1
  ],
  "desktop": [
   2,
   2,
   2,
   2,
   2,
   2,
   0,
   2,
   2,
   0,
   0,
   0,
   2
  ],
  "enterprise": [
   2,
   2,
   1,
   1,
   1,
   2,
   2,
   2,
   2,
   0,
   0,
   0,
   2
  ],
  "headless": [
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   0
  ],
  "hooks": [
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   0,
   0,
   2,
   0
  ],
  "ide": [
   2,
   2,
   1,
   1,
   1,
   2,
   2,
   2,
   2,
   1,
   0,
   0,
   0
  ],
  "iot": [
   0,
   0,
   2,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0
  ],
  "mcp": [
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   0,
   1,
   2
  ],
  "mcpsrv": [
   2,
   0,
   2,
   2,
   0,
   0,
   0,
   1,
   0,
   0,
   0,
   0,
   0
  ],
  "mediagen": [
   0,
   2,
   2,
   2,
   2,
   1,
   0,
   2,
   0,
   0,
   0,
   0,
   0
  ],
  "memory": [
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   1,
   1,
   2,
   2
  ],
  "messaging": [
   2,
   2,
   2,
   2,
   2,
   2,
   0,
   0,
   0,
   0,
   0,
   0,
   1
  ],
  "mobile": [
   2,
   2,
   1,
   2,
   2,
   2,
   0,
   2,
   1,
   0,
   0,
   1,
   2
  ],
  "orchestrate": [
   2,
   1,
   2,
   2,
   2,
   2,
   1,
   2,
   1,
   0,
   0,
   1,
   2
  ],
  "oss": [
   0,
   2,
   2,
   2,
   2,
   0,
   2,
   0,
   2,
   1,
   2,
   2,
   0
  ],
  "plugins": [
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   0,
   0,
   2,
   2
  ],
  "remote": [
   2,
   2,
   2,
   2,
   2,
   2,
   0,
   2,
   2,
   0,
   0,
   1,
   2
  ],
  "sandbox": [
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   1,
   0,
   1,
   2
  ],
  "sched": [
   2,
   2,
   2,
   2,
   2,
   2,
   0,
   2,
   2,
   0,
   0,
   0,
   2
  ],
  "skills": [
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   0,
   0,
   2,
   2
  ],
  "subagents": [
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   2,
   1,
   0,
   1,
   1
  ],
  "voice": [
   1,
   2,
   2,
   2,
   2,
   0,
   0,
   2,
   0,
   0,
   2,
   0,
   0
  ],
  "web": [
   2,
   2,
   1,
   2,
   2,
   2,
   0,
   2,
   2,
   0,
   0,
   0,
   0
  ]
 },
 "totals": {
  "aider": 12,
  "antigravity": 45,
  "claude": 45,
  "codex": 47,
  "cursor": 43,
  "gemini": 29,
  "grok": 14,
  "grokbot": 28,
  "hermes": 49,
  "openclaw1": 47,
  "openclaw2": 49,
  "opencode": 40,
  "pi": 26
 }
}