{
  "name": "record_session_commit",
  "title": "Tie this session's reads to the commit it wrote",
  "description": "Record that this session wrote this commit, so a check that goes red on it can be read back against what Balladeer told you before you started. Write `Balladeer-Session: <session id>` into the commit message or the pull-request body as well, for the people who read them; this call is what Balladeer itself joins on, because it never receives a commit message. Call it once per commit you author, after the commit exists. Recording the same pair twice records it once.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "session": {
        "description": "The session id `npx -y balladeer@latest session` printed for this work.",
        "type": "string",
        "pattern": "^bs_[0-9a-f]{32}$"
      },
      "commitSha": {
        "description": "The full forty-character commit SHA, exactly as `git rev-parse HEAD` prints it. An abbreviated SHA is refused: a run names the full one, and a join on a prefix is a join on a guess.",
        "type": "string",
        "pattern": "^[0-9a-f]{40}$"
      }
    },
    "required": [
      "session",
      "commitSha"
    ],
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "execution": {
    "taskSupport": "forbidden"
  }
}