Thrown when a secret is written through a provider that cannot store.
EnvProvider is the read-only provider: environment variables are process
state, immutable at runtime. set is the provider's ONLY write method and
rejects with this class, so both public write operations inherit the
refusal from one site — SecretsService.rotate() delegates to
provider.set(). It rejects, never throws synchronously: a
synchronous throw from a method typed Promise<void> would bypass any
caller using .catch(), the M52b/M52c/M70j defect class.
The status is 501, not 403: nothing is wrong with the caller or its
credentials — the deployment's provider cannot perform the operation at
all, which is what 501 means.