{
  "name": "propose_retirement",
  "title": "Propose retiring a promise",
  "description": "Propose that an approved promise is finished and should stop being protected, for the named meaning owner to decide. This never retires it.",
  "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}$"
      }
    },
    "required": [
      "explicitHumanAction",
      "reason",
      "promiseId"
    ],
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": false,
    "openWorldHint": false
  },
  "execution": {
    "taskSupport": "forbidden"
  }
}