{
  "schemaVersion": 1,
  "updatedAt": "2026-10-27",
  "entries": [
    {
      "date": "2026-10-27",
      "title": "New page: environment detection",
      "summary": "Which environment variables Codex, Claude Code, Cursor, OpenCode and Pi set in the commands they run, which of them your own commands also get, and how to read the session ID from a script. Includes Claude Code's undocumented `AI_AGENT` and `CLAUDE_CODE_SESSION_ATTENDED`.",
      "pages": ["environment"],
      "commits": [
        {
          "sha": "da1dd647bd2caa2dc21b4f05466cc99894c519e2",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        }
      ]
    },
    {
      "date": "2026-10-26",
      "title": "New page: transcript format",
      "summary": "Every record type, field, content block and file in the saved sessions of Codex 0.164.0, Claude Code 2.1.310, Cursor 2026.10.12, OpenCode 2.1.4 and Pi 1.4.0, with how records link together. The Transcripts page now points here for format details.",
      "pages": ["transcript-formats", "transcripts"],
      "commits": [
        {
          "sha": "c492aba759eb7901edb6eb469f50b77b30d17fbd",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        }
      ]
    },
    {
      "date": "2026-10-26",
      "title": "Automatic approval",
      "summary": "Claude Code's auto mode and Codex's Auto-review compared: how each decides, the separate reviewer session, the approval notifications you can watch, and what each leaves in the transcript.",
      "pages": ["permissions", "transcripts"],
      "commits": [
        {
          "sha": "f483ed0be8983ea5716e9f21b62341206f1176aa",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        }
      ]
    },
    {
      "date": "2026-10-25",
      "title": "MCP events",
      "summary": "A new MCP row for server-sent events, kept apart from resource subscriptions. Codex 0.164.0 relays them only for its own `codex_apps` server, and they don't start a model turn.",
      "pages": ["mcp"],
      "commits": [
        {
          "sha": "b6b9b8c29e41d90743c2f3457cfcfaebbe72e1c4",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        }
      ]
    },
    {
      "date": "2026-10-24",
      "title": "October releases",
      "summary": "Pages updated for Claude Code 2.1.309, Codex 0.164.0, Cursor 2026.10.22, OpenCode 2.1.4 and Pi 1.4.0, across hooks, MCP, permissions, remote access, skills and transcripts.",
      "pages": ["releases", "harnesses", "hooks", "mcp", "permissions", "remote", "transcripts"],
      "commits": [
        {
          "sha": "2139b608fa3271cbe0b451e973bd8a9500515ad3",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        },
        {
          "sha": "2c52b0694eebb9bcb97099a8088abc90d70d2afb",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        }
      ]
    },
    {
      "date": "2026-10-24",
      "title": "MCP Tasks extension",
      "summary": "Claude Code supports the MCP Tasks extension in public beta from 2.1.304. Codex 0.164.0, OpenCode and Pi 1.4.0 don't support it in their built-in clients.",
      "pages": ["mcp"],
      "commits": [
        {
          "sha": "8bc93730d201df241996dc96ecf5290f86741554",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        },
        {
          "sha": "b8b34fa149cd01457a662847fe288393b7b1221d",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        }
      ]
    },
    {
      "date": "2026-10-23",
      "title": "MCP elicitation",
      "summary": "Form and URL elicitation are now separate rows, covering accept, decline and cancel, typed answers and whether each harness validates them.",
      "pages": ["mcp", "acp", "hooks", "permissions"],
      "commits": [
        {
          "sha": "91565b8f712631d7bc15b88fe949cb510ec84d7d",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        }
      ]
    },
    {
      "date": "2026-10-23",
      "title": "Subagent hooks and transcripts",
      "summary": "The Subagents page now shows each harness's subagent lifecycle hooks and where child sessions are saved, next to how subagents are defined and run.",
      "pages": ["delegation"],
      "commits": [
        {
          "sha": "fb029f4d8d87de22c9d200cd1ab2ae596cf327e3",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        }
      ]
    },
    {
      "date": "2026-10-22",
      "title": "Checking plan usage from a script",
      "summary": "The Commands page's Usage tab adds how to read quota, activity and spend from each harness without its interface, including the authentication and units involved.",
      "pages": ["management"],
      "commits": [
        {
          "sha": "03de781db1571c2eeac89f291b222e1c6de1dbe9",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        }
      ]
    },
    {
      "date": "2026-10-21",
      "title": "Claude Code 2.1.304 and OpenCode 2.1.1",
      "summary": "Commands, MCP, permissions, remote access, skills and transcripts updated for the latest Claude Code and OpenCode releases.",
      "pages": [
        "releases",
        "management",
        "mcp",
        "permissions",
        "remote",
        "skill-invocation",
        "transcripts"
      ],
      "commits": [
        {
          "sha": "34c7611b1a78209626aaee9f284eb9ea19a3106d",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        },
        {
          "sha": "ade302dcc83fb40e7af7859b32b78855d994eaa0",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        }
      ]
    },
    {
      "date": "2026-10-20",
      "title": "Simpler remote access tables",
      "summary": "Remote access answers are shorter, and every source link now says whether it is documentation or source code.",
      "pages": ["remote"],
      "commits": [
        {
          "sha": "9a7272f12231a56a5c1357d6841a5c80bd623ac2",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        }
      ]
    },
    {
      "date": "2026-10-19",
      "title": "New page: remote access",
      "summary": "How to reach each harness from another machine or app: direct servers, provider relays, cloud handoff, history and attaching to a running session.",
      "pages": ["remote", "acp"],
      "commits": [
        {
          "sha": "63d524ab01c19bfcbb631e98b399ce97d29df999",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        }
      ]
    },
    {
      "date": "2026-10-19",
      "title": "Every page has its own address",
      "summary": "Pages moved from `/?dataset=…` to readable paths such as `/commands`, `/subagents` and `/skills/discovery`; old links redirect. Each page has its own title and description, and the site publishes a sitemap.",
      "pages": [],
      "commits": [
        {
          "sha": "dc8dbb2fe30c4bc5af164a7b70d8b818ad09fb00",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "619454891b88c7377f4b0e05273be3cba97efbdd",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "bcc6e2bf20e7602277b875fe4109070ca7a84278",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "1a516a7c959a49e257bfc5deb11b2b1c39729d64",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "1cc6132017e4508ff06dfc1807ba21edc6d3c08e",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        }
      ]
    },
    {
      "date": "2026-10-19",
      "title": "Readability and accessibility",
      "summary": "Higher text contrast, a skip link and proper page landmarks; table headers stay in view on phones; search works without JavaScript and only matches visible text. The Evidence page is gone: each page lists its own sources.",
      "pages": [],
      "commits": [
        {
          "sha": "dad5fb5feb13ab34cc012fe631bb4ae2a707bb8d",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "53c73a54fc098d01126a0b5366f48291b279bd0b",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "d0db8fe60d44e5ff6f38702e8dd2fee9161cadd9",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "e41c0cf64041cda88ee9269c7da90524bef8fe65",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "d7c3de520945cc187a0de74d34e40591b76a0173",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "11041d1f396672a9743feda306e095c6b37ec3d1",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "arc-commit"
        },
        {
          "sha": "f9bbd0bd1b0e9091b700d7a9c7e9f965fc4686d0",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "cc221130a21cb0647b08400bd68726c7784ee348",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "a433fa90e7ec2fedefbc0a7da583e867893b1da0",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        }
      ]
    },
    {
      "date": "2026-10-18",
      "title": "Reading transcripts reliably",
      "summary": "Lessons from tools that parse saved sessions, and how skill usage can be reconstructed from transcripts.",
      "pages": ["transcripts", "skill-usage"],
      "commits": [
        {
          "sha": "1ee53b4062540b070f035ad64f5a397257887208",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "commit-output"
        }
      ]
    },
    {
      "date": "2026-10-17",
      "title": "Codex 0.163.0 and Skills over MCP",
      "summary": "Codex 0.163.0 changes to permissions, steering and transcripts. Skills over MCP re-checked from source, separating Codex's cloud skill framework from what other MCP servers can use.",
      "pages": ["releases", "permissions", "steering", "transcripts", "skills-over-mcp"],
      "commits": [
        {
          "sha": "ca38037be6add2d1608d7237953c1f952848e25b",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "commit-output"
        },
        {
          "sha": "32225e54b9a730fa1ea8a0f29d704f5c8e1cb6d2",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "commit-command"
        },
        {
          "sha": "97ddc1c0db37bcdf1928e6c06604a89a6c9fc7bd",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "commit-command"
        }
      ]
    },
    {
      "date": "2026-10-16",
      "title": "Section navigation and release reconciliation",
      "summary": "Long pages get an \"On this page\" list. Instructions, MCP, memory, migration, permissions, skills, steering and transcripts reconciled with the latest releases.",
      "pages": [
        "instructions",
        "mcp",
        "memories",
        "migration",
        "permissions",
        "steering",
        "transcripts"
      ],
      "commits": [
        {
          "sha": "3e094aa8c394718309cea090b04ef0a2cc06f636",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "commit-output"
        },
        {
          "sha": "1e4050c41dc637b9ab3920736c33f2d63db468ab",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "commit-output"
        }
      ]
    },
    {
      "date": "2026-10-15",
      "title": "Claude Code and .agents/skills",
      "summary": "A probe confirmed Claude Code doesn't load skills from `.agents/skills`, and skill frontmatter support was corrected.",
      "pages": ["locations", "frontmatter"],
      "commits": [
        {
          "sha": "4aa8ccd6d1749f07edbf496209ab47c5abaef9b0",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "commit-command"
        }
      ]
    },
    {
      "date": "2026-10-15",
      "title": "Harness Notes launches",
      "summary": "Harness Notes compares Codex, Claude Code, Cursor Agent, OpenCode and Pi: skills, configuration, hooks, permissions, MCP, ACP, sessions, subagents, memory and more. Each page answers reader questions per harness, with sources.",
      "pages": ["harnesses"],
      "commits": [
        {
          "sha": "2e96c9a33b85306d73949a8bd5509fe01ad8011f",
          "harness": "codex",
          "model": "gpt-6.1-sol",
          "attribution": "commit-output"
        },
        {
          "sha": "d36527f809a263b416998b2602b2990847af767d",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "59409b312ad392f8b00c9741d1693632be2a2327",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "7363c5098be5fe4074320de2d8bae0bfb257f022",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "5e173abe00588c6931f4028a30f7adc42a91a730",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "a525b3c61a3272503558fd609862e460f160b605",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "86018908541d30ab28ef33ef833d86b715c53d16",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "7cbfd63c0cbf85a283720291da094823f452409c",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "a37a1c6b3602473658448e77f54e678dcd67c007",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "5823e1e9cfeed55c5e20fa7daa4bb1ce905eff10",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "d58a38b6c229e08a0de6c679cdcaeb2a7bf0d242",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "799ba8c37290263f5e80081fe85ccda8acc07414",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "16b73dc4dc20ab333223e34b6b83d91c41dc4da9",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "c714c3a012c71a8656c7967b02d5c1db982826b6",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "c0c97b54846c01fbfd6ac948296d357247f25b29",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        },
        {
          "sha": "f3fe8a8de2658034a69ec42472860d0f53fbe978",
          "harness": "claude-code",
          "model": "claude-opus-5-5",
          "attribution": "commit-command"
        }
      ]
    }
  ]
}
