Skip to content

annotationWeakenings

annotationWeakenings(snapshot, current): ("readOnlyHint" | "destructiveHint" | "idempotentHint" | "openWorldHint")[]

Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/approvals/grants.ts:354

§4.7.4 — which hints moved in the weakening direction between the set a grant was made under and the set that holds now. Empty means the grant still stands.

Only the four booleans are compared, so schema and description changes invalidate nothing — not by a rule that exempts them, but because a snapshot is four booleans and a description is not one of them. Descriptions churn on every server release, and a grant that dissolved on churn would teach users that grants are worthless.

An untrusted server’s declaration change likewise invalidates nothing, again by construction: §4.7.1 makes an untrusted server’s effective set the constant fail-closed default, so both sides of this comparison are that constant however the server re-declares itself. Only a trusted server can move an effective value — which is exactly where invalidation matters, since the trusted server is the one whose rug-pull would otherwise ride an existing grant.

EffectiveToolAnnotations

EffectiveToolAnnotations

("readOnlyHint" | "destructiveHint" | "idempotentHint" | "openWorldHint")[]