Skip to content

cayu.testing.ToolEffect

Part of cayu.testing.base. Read the Python API overview and install the required extra.

from cayu.testing import ToolEffect

Declared side-effect semantics for a tool execution.

Classify what replay can do to externally meaningful durable state. NONE does not mutate it, IDEMPOTENT may mutate it but a stable downstream identity or equivalent contract collapses replay, and EXTERNAL has a non-idempotent or outcome-ambiguous durable mutation. Transport, billing, observability, and names such as “read” do not determine the value.

The runtime uses this as execution metadata, not as an authorization decision: policy still decides whether a call may run. Run cayu guide tool-effects for the canonical decision table.

Bases: StrEnum.

Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.

Name Type Default
NONE class attribute 'none'
IDEMPOTENT class attribute 'idempotent'
EXTERNAL class attribute 'external'

Release source · Runtime guarantees · Capability guides