# revise_promise_meaning

Agree the revision waiting on one promise, because its named owner read the new wording and signed it off. File the revision first with propose_semantic_revision: the sign-off page shows the person the exact wording they are agreeing to, so there has to be one there to read. The meaning currently in force stays authoritative until a verifier qualifies against the new one and protection is activated on it, which is why a deliberate revision can read as a regression in between. Obtain explicit sign-off for THIS act in THIS conversation before calling this. Never call it on your own initiative, and never on a person's general approval of some earlier act. Quote the person's own words in signOff.quotedWords, not your summary of them. When a result includes forThePerson, tell the person what it says in your own words, in about one line.

Reviewed 2026-10-01. Read the [current operating instructions](https://app.balladeer.ai/agent) and the [tool index](/docs/mcp-reference.md). This reference does not authorize the action.

## Parameters

```json
{
  "type": "object",
  "properties": {
    "signOff": {
      "type": "object",
      "properties": {
        "who": {
          "description": "The person who signed this off: their membership ID from get_promise_setup, or the email address they signed in with. It must be the named owner of the thing being acted on; anybody else is refused.",
          "type": "string",
          "minLength": 1,
          "maxLength": 320
        },
        "quotedWords": {
          "description": "What the person actually said, in their words. Not your paraphrase, not a restatement of the act, and never words you supplied for them to agree to.",
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "at": {
          "description": "When they said it, in this conversation.",
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        }
      },
      "required": [
        "who",
        "quotedWords",
        "at"
      ],
      "additionalProperties": false
    },
    "grantCode": {
      "description": "The one-time code the person was shown after they signed off on the sign-off page. Ask them for it; you cannot produce one, and a wrong or missing code is refused with the link to hand them rather than something to retry.",
      "type": "string",
      "minLength": 8,
      "maxLength": 200
    },
    "promiseId": {
      "type": "string",
      "pattern": "^prom_[a-z0-9]{8,64}$"
    }
  },
  "required": [
    "signOff",
    "grantCode",
    "promiseId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
```

## Effect annotations

```json
{
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": false
}
```
