The engine's per-reason detail fragment — the same wording
ActionDisabledError embeds in its message. Exported so a dev-facing
host (the CLI) renders the one canonical detail instead of maintaining a
parallel per-kind copy. Covers every reason but mutation-guard-denied,
which escalates to MutationGuardDeniedError and renders through
deniedGuardLabels.
The engine's per-reason detail fragment — the same wording ActionDisabledError embeds in its message. Exported so a dev-facing host (the CLI) renders the one canonical detail instead of maintaining a parallel per-kind copy. Covers every reason but
mutation-guard-denied, which escalates to MutationGuardDeniedError and renders through deniedGuardLabels.