treeship-core 0.25.0

Portable trust receipts for agent workflows - core library
Documentation
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://treeship.dev/schemas/grant_revocation.v1.json",
  "title": "grant_revocation.v1",
  "description": "Withdraws a previously-issued capability grant. Carried as the payload of a Treeship receipt with kind=grant_revocation.v1. Honored only when the signer is the grant's own grantor: a revocation anyone could mint would be a denial-of-service against every grant whose id they knew. Revocation is evaluated at the action's signed_at, so an action signed BEFORE the revocation instant stays valid -- withdrawing authority is not the same as retroactively unmaking what was already done under it.",
  "type": "object",
  "required": ["schema", "grant_id", "grantor", "revoked_at"],
  "properties": {
    "schema": {
      "description": "Schema identifier. Must be exactly this value.",
      "const": "grant_revocation.v1"
    },
    "grant_id": {
      "description": "Content-derived id (grn_...) of the grant being withdrawn.",
      "type": "string"
    },
    "grantor": {
      "description": "Ed25519 public key of the grant's issuer, base64url-no-pad. Recorded so a verifier can confirm the revocation was signed by the party that issued the grant, without re-resolving the grant itself.",
      "type": "string"
    },
    "reason": {
      "description": "Optional human-readable reason, e.g. compromised, task-complete, scope-error, key-rotation.",
      "type": "string"
    },
    "revoked_at": {
      "description": "RFC 3339 instant the grant was withdrawn. An action whose signed_at is at or after this instant is unauthorized; one signed strictly before it is not affected.",
      "type": "string"
    }
  },
  "additionalProperties": false
}