Skip to main content
Glama
cappyeo

discord-mcp

guild_blueprint_evidence

Read-onlyIdempotent

Verify a completed Discord blueprint plan against its immutable evidence and current guild state, proving whether the target still matches without making changes.

Instructions

Purpose: Read the immutable Activity Evidence for one completed blueprint plan and verify its current Discord state without changing the guild.

When to use: Use after guild_blueprint_apply reports completion, or later to prove whether the target still matches that approved blueprint.

Safety: The explicit caller-owned bot and allowlisted guild are checked before Discord access. The local proof is authenticated to the active caller boundary; missing, tampered, cross-caller, or wrong-target records fail closed. This tool never acquires locks, writes checkpoints, or mutates Discord.

Returns: A public proof summary (never the persisted full blueprint), current target inventory, whether the immutable completion snapshot is unchanged, remaining safe reconciliation operations, and structured blueprint drift blockers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plan_idYesDigest ID returned by the approved blueprint plan
guild_idYesExplicit target guild; configured defaults are never accepted
expected_bot_idYesExact caller-owned bot ID locked by the selected profile

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.28.0
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "$schema": "https://json-schema.org/draft/2020-12/schema",
      -    "additionalProperties": {},
      -    "properties": {
      -      "blueprint_id": {
      -        "anyOf": [
      -          {
      -            "pattern": "^sha256:[a-f0-9]{64}$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "evidence_id": {
      -        "anyOf": [
      -          {
      -            "pattern": "^sha256:[a-f0-9]{64}$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "plan_id": {
      -        "pattern": "^sha256:[a-f0-9]{64}$",
      -        "type": "string"
      -      },
      -      "record": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "initial_operation_count": {
      -                "maximum": 128,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "observed": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "bindings": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "automod_rules": {
      -                        "additionalProperties": {
      -                          "pattern": "^\\d{17,20}$",
      -                          "type": "string"
      -                        },
      -                        "propertyNames": {
      -                          "pattern": "^[a-z][a-z0-9_]{0,63}$",
      -                          "type": "string"
      -                        },
      -                        "type": "object"
      -                      },
      -                      "categories": {
      -                        "additionalProperties": {
      -                          "pattern": "^\\d{17,20}$",
      -                          "type": "string"
      -                        },
      -                        "propertyNames": {
      -                          "pattern": "^[a-z][a-z0-9_]{0,63}$",
      -                          "type": "string"
      -                        },
      -                        "type": "object"
      -                      },
      -                      "channels": {
      -                        "additionalProperties": {
      -                          "pattern": "^\\d{17,20}$",
      -                          "type": "string"
      -                        },
      -                        "propertyNames": {
      -                          "pattern": "^[a-z][a-z0-9_]{0,63}$",
      -                          "type": "string"
      -                        },
      -                        "type": "object"
      -                      },
      -                      "publications": {
      -                        "additionalProperties": {
      -                          "pattern": "^\\d{17,20}$",
      -                          "type": "string"
      -                        },
      -                        "propertyNames": {
      -                          "pattern": "^[a-z][a-z0-9_]{0,63}$",
      -                          "type": "string"
      -                        },
      -                        "type": "object"
      -                      },
      -                      "roles": {
      -                        "additionalProperties": {
      -                          "pattern": "^\\d{17,20}$",
      -                          "type": "string"
      -                        },
      -                        "propertyNames": {
      -                          "pattern": "^[a-z][a-z0-9_]{0,63}$",
      -                          "type": "string"
      -                        },
      -                        "type": "object"
      -                      }
      -                    },
      -                    "required": [
      -                      "roles",
      -                      "categories",
      -                      "channels",
      -                      "automod_rules",
      -                      "publications"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "blueprint_readback_match": {
      -                    "const": true,
      -                    "type": "boolean"
      -                  },
      -                  "checkpoint_version": {
      -                    "maximum": 9007199254740991,
      -                    "minimum": 0,
      -                    "type": "integer"
      -                  },
      -                  "completed_operation_ids": {
      -                    "items": {
      -                      "maxLength": 160,
      -                      "minLength": 1,
      -                      "type": "string"
      -                    },
      -                    "maxItems": 128,
      -                    "type": "array"
      -                  },
      -                  "final_snapshot_id": {
      -                    "pattern": "^sha256:[a-f0-9]{64}$",
      -                    "type": "string"
      -                  },
      -                  "initial_snapshot_id": {
      -                    "pattern": "^sha256:[a-f0-9]{64}$",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "initial_snapshot_id",
      -                  "final_snapshot_id",
      -                  "checkpoint_version",
      -                  "completed_operation_ids",
      -                  "bindings",
      -                  "blueprint_readback_match"
      -                ],
      -                "type": "object"
      -              },
      -              "plan_invariants": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "expected_counts": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "automod": {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      "categories": {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      "channels": {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      "components_v2": {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      "guild": {
      -                        "const": 1,
      -                        "type": "number"
      -                      },
      -                      "identity": {
      -                        "const": 2,
      -                        "type": "number"
      -                      },
      -                      "onboarding": {
      -                        "exclusiveMinimum": 0,
      -                        "maximum": 9007199254740991,
      -                        "type": "integer"
      -                      },
      -                      "ordering": {
      -                        "const": 2,
      -                        "type": "number"
      -                      },
      -                      "roles": {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      "welcome_screen": {
      -                        "const": 1,
      -                        "type": "number"
      -                      }
      -                    },
      -                    "required": [
      -                      "identity",
      -                      "roles",
      -                      "categories",
      -                      "channels",
      -                      "ordering",
      -                      "guild",
      -                      "welcome_screen",
      -                      "onboarding",
      -                      "automod",
      -                      "components_v2"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "safety_policy": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "bot_permission_grants": {
      -                        "const": 0,
      -                        "type": "number"
      -                      },
      -                      "dangerous_generated_permissions": {
      -                        "const": 0,
      -                        "type": "number"
      -                      },
      -                      "discord_managed_role_mutations": {
      -                        "const": 0,
      -                        "type": "number"
      -                      },
      -                      "source_permissions_applied": {
      -                        "const": false,
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "source_permissions_applied",
      -                      "dangerous_generated_permissions",
      -                      "bot_permission_grants",
      -                      "discord_managed_role_mutations"
      -                    ],
      -                    "type": "object"
      -                  }
      -                },
      -                "required": [
      -                  "expected_counts",
      -                  "safety_policy"
      -                ],
      -                "type": "object"
      -              },
      -              "recorded_at": {
      -                "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)))$",
      -                "type": "string"
      -              },
      -              "schema_version": {
      -                "const": "guild_blueprint_activity_evidence.v1",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "schema_version",
      -              "recorded_at",
      -              "initial_operation_count",
      -              "plan_invariants",
      -              "observed"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "status": {
      -        "enum": [
      -          "verified",
      -          "drifted",
      -          "not_found",
      -          "blocked"
      -        ],
      -        "type": "string"
      -      },
      -      "target": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "bot_id": {
      -            "description": "Discord user ID",
      -            "pattern": "^\\d{17,20}$",
      -            "type": "string"
      -          },
      -          "guild_id": {
      -            "description": "Discord guild (server) ID",
      -            "pattern": "^\\d{17,20}$",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "guild_id",
      -          "bot_id"
      -        ],
      -        "type": "object"
      -      },
      -      "verification": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "blockers": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "code": {
      -                  "pattern": "^[A-Z][A-Z0-9_]{2,63}$",
      -                  "type": "string"
      -                },
      -                "message": {
      -                  "maxLength": 500,
      -                  "minLength": 1,
      -                  "type": "string"
      -                },
      -                "recovery_hint": {
      -                  "maxLength": 500,
      -                  "minLength": 1,
      -                  "type": "string"
      -                },
      -                "resource": {
      -                  "anyOf": [
      -                    {
      -                      "maxLength": 160,
      -                      "minLength": 1,
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "code",
      -                "message",
      -                "resource",
      -                "recovery_hint"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "current_snapshot": {
      -            "anyOf": [
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "bot_id": {
      -                    "description": "Discord user ID",
      -                    "pattern": "^\\d{17,20}$",
      -                    "type": "string"
      -                  },
      -                  "guild": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "features": {
      -                        "items": {
      -                          "type": "string"
      -                        },
      -                        "type": "array"
      -                      },
      -                      "id": {
      -                        "description": "Discord guild (server) ID",
      -                        "pattern": "^\\d{17,20}$",
      -                        "type": "string"
      -                      },
      -                      "name": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "id",
      -                      "name",
      -                      "features"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "onboarding_enabled": {
      -                    "anyOf": [
      -                      {
      -                        "type": "boolean"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "resources": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "automod_rules": {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      "categories": {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      "channels": {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      "recent_messages": {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      "roles": {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      }
      -                    },
      -                    "required": [
      -                      "roles",
      -                      "categories",
      -                      "channels",
      -                      "automod_rules",
      -                      "recent_messages"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "snapshot_id": {
      -                    "pattern": "^sha256:[a-f0-9]{64}$",
      -                    "type": "string"
      -                  },
      -                  "welcome_screen_configured": {
      -                    "anyOf": [
      -                      {
      -                        "type": "boolean"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "snapshot_id",
      -                  "guild",
      -                  "bot_id",
      -                  "resources",
      -                  "onboarding_enabled",
      -                  "welcome_screen_configured"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "guild_verified": {
      -            "type": "boolean"
      -          },
      -          "identity_verified": {
      -            "type": "boolean"
      -          },
      -          "readback": {
      -            "enum": [
      -              "match",
      -              "drift",
      -              "not_run"
      -            ],
      -            "type": "string"
      -          },
      -          "remaining_operations": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "action": {
      -                  "enum": [
      -                    "create",
      -                    "update",
      -                    "reorder",
      -                    "send"
      -                  ],
      -                  "type": "string"
      -                },
      -                "key": {
      -                  "pattern": "^[a-z][a-z0-9_]{0,63}$",
      -                  "type": "string"
      -                },
      -                "operation_id": {
      -                  "pattern": "^[a-z][a-z0-9_:.-]{0,159}$",
      -                  "type": "string"
      -                },
      -                "phase": {
      -                  "enum": [
      -                    "roles",
      -                    "categories",
      -                    "channels",
      -                    "ordering",
      -                    "guild",
      -                    "welcome",
      -                    "onboarding",
      -                    "automod",
      -                    "publications"
      -                  ],
      -                  "type": "string"
      -                },
      -                "resource": {
      -                  "enum": [
      -                    "role",
      -                    "category",
      -                    "channel",
      -                    "role_order",
      -                    "channel_order",
      -                    "guild",
      -                    "welcome_screen",
      -                    "onboarding",
      -                    "automod_rule",
      -                    "publication"
      -                  ],
      -                  "type": "string"
      -                },
      -                "risk": {
      -                  "enum": [
      -                    "low",
      -                    "medium",
      -                    "high"
      -                  ],
      -                  "type": "string"
      -                },
      -                "summary": {
      -                  "maxLength": 240,
      -                  "minLength": 1,
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "operation_id",
      -                "phase",
      -                "action",
      -                "resource",
      -                "key",
      -                "summary",
      -                "risk"
      -              ],
      -              "type": "object"
      -            },
      -            "maxItems": 128,
      -            "type": "array"
      -          },
      -          "snapshot_unchanged": {
      -            "anyOf": [
      -              {
      -                "type": "boolean"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "warnings": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "identity_verified",
      -          "guild_verified",
      -          "readback",
      -          "snapshot_unchanged",
      -          "current_snapshot",
      -          "remaining_operations",
      -          "blockers",
      -          "warnings"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "plan_id",
      -      "blueprint_id",
      -      "evidence_id",
      -      "target",
      -      "record",
      -      "verification"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "category": {
      -        "enum": [
      -          "client",
      -          "server"
      -        ],
      -        "type": "string"
      -      },
      -      "code": {
      -        "type": "string"
      -      },
      -      "recovery_hint": {
      -        "type": "string"
      -      },
      -      "retriable": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "code",
      -      "retriable",
      -      "category",
      -      "recovery_hint"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "$schema": "https://json-schema.org/draft/2020-12/schema",
      +    "additionalProperties": {},
      +    "properties": {
      +      "blueprint_id": {
      +        "anyOf": [
      +          {
      +            "pattern": "^sha256:[a-f0-9]{64}$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "evidence_id": {
      +        "anyOf": [
      +          {
      +            "pattern": "^sha256:[a-f0-9]{64}$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "plan_id": {
      +        "pattern": "^sha256:[a-f0-9]{64}$",
      +        "type": "string"
      +      },
      +      "record": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "initial_operation_count": {
      +                "maximum": 128,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "observed": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "bindings": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "automod_rules": {
      +                        "additionalProperties": {
      +                          "pattern": "^\\d{17,20}$",
      +                          "type": "string"
      +                        },
      +                        "propertyNames": {
      +                          "pattern": "^[a-z][a-z0-9_]{0,63}$",
      +                          "type": "string"
      +                        },
      +                        "type": "object"
      +                      },
      +                      "categories": {
      +                        "additionalProperties": {
      +                          "pattern": "^\\d{17,20}$",
      +                          "type": "string"
      +                        },
      +                        "propertyNames": {
      +                          "pattern": "^[a-z][a-z0-9_]{0,63}$",
      +                          "type": "string"
      +                        },
      +                        "type": "object"
      +                      },
      +                      "channels": {
      +                        "additionalProperties": {
      +                          "pattern": "^\\d{17,20}$",
      +                          "type": "string"
      +                        },
      +                        "propertyNames": {
      +                          "pattern": "^[a-z][a-z0-9_]{0,63}$",
      +                          "type": "string"
      +                        },
      +                        "type": "object"
      +                      },
      +                      "publications": {
      +                        "additionalProperties": {
      +                          "pattern": "^\\d{17,20}$",
      +                          "type": "string"
      +                        },
      +                        "propertyNames": {
      +                          "pattern": "^[a-z][a-z0-9_]{0,63}$",
      +                          "type": "string"
      +                        },
      +                        "type": "object"
      +                      },
      +                      "roles": {
      +                        "additionalProperties": {
      +                          "pattern": "^\\d{17,20}$",
      +                          "type": "string"
      +                        },
      +                        "propertyNames": {
      +                          "pattern": "^[a-z][a-z0-9_]{0,63}$",
      +                          "type": "string"
      +                        },
      +                        "type": "object"
      +                      }
      +                    },
      +                    "required": [
      +                      "roles",
      +                      "categories",
      +                      "channels",
      +                      "automod_rules",
      +                      "publications"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "blueprint_readback_match": {
      +                    "const": true,
      +                    "type": "boolean"
      +                  },
      +                  "checkpoint_version": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "completed_operation_ids": {
      +                    "items": {
      +                      "maxLength": 160,
      +                      "minLength": 1,
      +                      "type": "string"
      +                    },
      +                    "maxItems": 128,
      +                    "type": "array"
      +                  },
      +                  "final_snapshot_id": {
      +                    "pattern": "^sha256:[a-f0-9]{64}$",
      +                    "type": "string"
      +                  },
      +                  "initial_snapshot_id": {
      +                    "pattern": "^sha256:[a-f0-9]{64}$",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "initial_snapshot_id",
      +                  "final_snapshot_id",
      +                  "checkpoint_version",
      +                  "completed_operation_ids",
      +                  "bindings",
      +                  "blueprint_readback_match"
      +                ],
      +                "type": "object"
      +              },
      +              "plan_invariants": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "expected_counts": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "automod": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "categories": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "channels": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "components_v2": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "guild": {
      +                        "const": 1,
      +                        "type": "number"
      +                      },
      +                      "identity": {
      +                        "const": 2,
      +                        "type": "number"
      +                      },
      +                      "onboarding": {
      +                        "exclusiveMinimum": 0,
      +                        "maximum": 9007199254740991,
      +                        "type": "integer"
      +                      },
      +                      "ordering": {
      +                        "const": 2,
      +                        "type": "number"
      +                      },
      +                      "roles": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "welcome_screen": {
      +                        "const": 1,
      +                        "type": "number"
      +                      }
      +                    },
      +                    "required": [
      +                      "identity",
      +                      "roles",
      +                      "categories",
      +                      "channels",
      +                      "ordering",
      +                      "guild",
      +                      "welcome_screen",
      +                      "onboarding",
      +                      "automod",
      +                      "components_v2"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "safety_policy": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "bot_permission_grants": {
      +                        "const": 0,
      +                        "type": "number"
      +                      },
      +                      "dangerous_generated_permissions": {
      +                        "const": 0,
      +                        "type": "number"
      +                      },
      +                      "discord_managed_role_mutations": {
      +                        "const": 0,
      +                        "type": "number"
      +                      },
      +                      "source_permissions_applied": {
      +                        "const": false,
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "source_permissions_applied",
      +                      "dangerous_generated_permissions",
      +                      "bot_permission_grants",
      +                      "discord_managed_role_mutations"
      +                    ],
      +                    "type": "object"
      +                  }
      +                },
      +                "required": [
      +                  "expected_counts",
      +                  "safety_policy"
      +                ],
      +                "type": "object"
      +              },
      +              "recorded_at": {
      +                "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)))$",
      +                "type": "string"
      +              },
      +              "schema_version": {
      +                "const": "guild_blueprint_activity_evidence.v1",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "schema_version",
      +              "recorded_at",
      +              "initial_operation_count",
      +              "plan_invariants",
      +              "observed"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "status": {
      +        "enum": [
      +          "verified",
      +          "drifted",
      +          "not_found",
      +          "blocked"
      +        ],
      +        "type": "string"
      +      },
      +      "target": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "bot_id": {
      +            "description": "Discord user ID",
      +            "pattern": "^\\d{17,20}$",
      +            "type": "string"
      +          },
      +          "guild_id": {
      +            "description": "Discord guild (server) ID",
      +            "pattern": "^\\d{17,20}$",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "guild_id",
      +          "bot_id"
      +        ],
      +        "type": "object"
      +      },
      +      "verification": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "blockers": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "code": {
      +                  "pattern": "^[A-Z][A-Z0-9_]{2,63}$",
      +                  "type": "string"
      +                },
      +                "message": {
      +                  "maxLength": 500,
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "recovery_hint": {
      +                  "maxLength": 500,
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "resource": {
      +                  "anyOf": [
      +                    {
      +                      "maxLength": 160,
      +                      "minLength": 1,
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "code",
      +                "message",
      +                "resource",
      +                "recovery_hint"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "current_snapshot": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "bot_id": {
      +                    "description": "Discord user ID",
      +                    "pattern": "^\\d{17,20}$",
      +                    "type": "string"
      +                  },
      +                  "guild": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "features": {
      +                        "items": {
      +                          "type": "string"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "id": {
      +                        "description": "Discord guild (server) ID",
      +                        "pattern": "^\\d{17,20}$",
      +                        "type": "string"
      +                      },
      +                      "name": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "id",
      +                      "name",
      +                      "features"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "onboarding_enabled": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  },
      +                  "resources": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "automod_rules": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "categories": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "channels": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "recent_messages": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "roles": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      }
      +                    },
      +                    "required": [
      +                      "roles",
      +                      "categories",
      +                      "channels",
      +                      "automod_rules",
      +                      "recent_messages"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "snapshot_id": {
      +                    "pattern": "^sha256:[a-f0-9]{64}$",
      +                    "type": "string"
      +                  },
      +                  "welcome_screen_configured": {
      +                    "type": [
      +                      "boolean",
      +                      "null"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "snapshot_id",
      +                  "guild",
      +                  "bot_id",
      +                  "resources",
      +                  "onboarding_enabled",
      +                  "welcome_screen_configured"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "guild_verified": {
      +            "type": "boolean"
      +          },
      +          "identity_verified": {
      +            "type": "boolean"
      +          },
      +          "readback": {
      +            "enum": [
      +              "match",
      +              "drift",
      +              "not_run"
      +            ],
      +            "type": "string"
      +          },
      +          "remaining_operations": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "action": {
      +                  "enum": [
      +                    "create",
      +                    "update",
      +                    "reorder",
      +                    "send"
      +                  ],
      +                  "type": "string"
      +                },
      +                "key": {
      +                  "pattern": "^[a-z][a-z0-9_]{0,63}$",
      +                  "type": "string"
      +                },
      +                "operation_id": {
      +                  "pattern": "^[a-z][a-z0-9_:.-]{0,159}$",
      +                  "type": "string"
      +                },
      +                "phase": {
      +                  "enum": [
      +                    "roles",
      +                    "categories",
      +                    "channels",
      +                    "ordering",
      +                    "guild",
      +                    "welcome",
      +                    "onboarding",
      +                    "automod",
      +                    "publications"
      +                  ],
      +                  "type": "string"
      +                },
      +                "resource": {
      +                  "enum": [
      +                    "role",
      +                    "category",
      +                    "channel",
      +                    "role_order",
      +                    "channel_order",
      +                    "guild",
      +                    "welcome_screen",
      +                    "onboarding",
      +                    "automod_rule",
      +                    "publication"
      +                  ],
      +                  "type": "string"
      +                },
      +                "risk": {
      +                  "enum": [
      +                    "low",
      +                    "medium",
      +                    "high"
      +                  ],
      +                  "type": "string"
      +                },
      +                "summary": {
      +                  "maxLength": 240,
      +                  "minLength": 1,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "operation_id",
      +                "phase",
      +                "action",
      +                "resource",
      +                "key",
      +                "summary",
      +                "risk"
      +              ],
      +              "type": "object"
      +            },
      +            "maxItems": 128,
      +            "type": "array"
      +          },
      +          "snapshot_unchanged": {
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "warnings": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "identity_verified",
      +          "guild_verified",
      +          "readback",
      +          "snapshot_unchanged",
      +          "current_snapshot",
      +          "remaining_operations",
      +          "blockers",
      +          "warnings"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "plan_id",
      +      "blueprint_id",
      +      "evidence_id",
      +      "target",
      +      "record",
      +      "verification"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "category": {
      +        "enum": [
      +          "client",
      +          "server"
      +        ],
      +        "type": "string"
      +      },
      +      "code": {
      +        "type": "string"
      +      },
      +      "recovery_hint": {
      +        "type": "string"
      +      },
      +      "retriable": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "code",
      +      "retriable",
      +      "category",
      +      "recovery_hint"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observedv0.22.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/non-destructive annotations, it discloses caller-boundary auth checking, allowlisted guild enforcement, fail-closed behavior on missing/tampered/cross-caller/wrong-target records, and the guarantee of no locks/checkpoints/Discord mutation. It also reveals the output is a public proof summary rather than the full blueprint. This materially improves an agent's risk assessment.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Structured into Purpose/When/Safety/Returns with the most decision-relevant information first. Each sentence contributes either a trigger condition, a safety guarantee, or an output summary; there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-verification tool, it covers triggers, authentication preconditions, failure behavior, side-effect guarantees, and return contents. The output schema supplies the exact return shape, so nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the parameters are already documented with patterns and purpose. The description reinforces that guild_id must be explicit and expected_bot_id caller-owned, but does not add new per-parameter semantics beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Read') and resource ('immutable Activity Evidence for one completed blueprint plan'), and adds the verification goal ('verify its current Discord state') plus the explicit non-mutation constraint. This clearly differentiates it from blueprint mutation tools like guild_blueprint_apply and from generic guild read tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the exact trigger — use after guild_blueprint_apply reports completion — and the later use case of proving ongoing match. This gives an agent a decision rule; no alternative is needed because the blueprint workflow is explicit. It doesn't explicitly list when not to use, but the trigger condition covers it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools