pub struct RotateStep {
pub store_ref: String,
pub where_expr: String,
pub tool_ref: String,
pub binding: String,
pub loc: Loc,
}Expand description
v2.48.0 — rotate <SecretsStore> [where "<filter>"] with <Tool> as <binding>: the mediated secret-renewal flow verb (doctrine
rotation_without_revelation). Set-oriented like mutate: every
custody entry of the store’s class matching the filter (whole class
when the filter is omitted — the post-breach bulk-rotation shape) is
renewed through ONE mediated exchange per key: the runtime reveals
the current value only into the tool call, the tool returns the new
value, the runtime commits it (CAS on version — concurrent rotators
cannot double-spend a refresh credential). The binding receives the
METADATA-ONLY summary {attempted, rotated, failed} — no term
evaluates to a secret value. rotate on a non-secrets store =
axon-T898; an undeclared tool = axon-T899.
Fields§
§store_ref: String§where_expr: StringThe v2.21.0-grammar metadata filter (expires_at < now() + interval '10 minutes', key LIKE 'crm.%', …). Empty = the whole class.
tool_ref: String§binding: String§loc: Loc