{
  "name": "propose_ownership_transfer",
  "title": "Propose a new meaning owner",
  "description": "Propose that a promise should belong to a different named person, from the members list on get_promise_setup. Ownership moves only when the owner or an administrator proposes the transfer and the new owner accepts it; this does neither.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "explicitHumanAction": {
        "description": "Must be true only when the person explicitly asked to protect or change this behavior. Ambient inference is forbidden.",
        "type": "boolean",
        "const": true
      },
      "reason": {
        "description": "Why, in the person's own words where they gave you any. It is recorded on the proposal and read by whoever decides it. Name nobody in it: Balladeer records who connected you as the person behind this act, and a name from git, a commit or a file is not the person in the conversation. Say \"the person\" or quote their words.",
        "type": "string",
        "minLength": 1,
        "maxLength": 2000
      },
      "promiseId": {
        "type": "string",
        "pattern": "^prom_[a-z0-9]{8,64}$"
      },
      "newOwnerId": {
        "description": "Membership ID of the person who should own this promise, from the members list on get_promise_setup. A name that is not on that list is refused and the refusal says who is.",
        "type": "string",
        "maxLength": 2000
      }
    },
    "required": [
      "explicitHumanAction",
      "reason",
      "promiseId",
      "newOwnerId"
    ],
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": false,
    "openWorldHint": false
  },
  "execution": {
    "taskSupport": "forbidden"
  }
}