# `Parapet.Runbook`
[🔗](https://github.com/szTheory/parapet/blob/v1.0.0/lib/parapet/runbook.ex#L1)

A DSL for defining standardized runbooks.

Runbooks define the manual and automated steps required to mitigate an incident.

> #### Stable {: .info}
>
> This module is **stable** as of v1.0.0. Its public API will not change without a
> major-version bump and a full deprecation cycle. See
> [Stability & Deprecation Policy](stability.html) for details.

# `description`
*since 1.0.0* *macro* 

Sets the runbook description displayed in the operator UI.

# `step`
*since 1.0.0* *macro* 

Defines a single step in the runbook.

## Options

  * `:label` - A short human-readable label for the step (string).
  * `:description` - A longer description of what this step involves (string).
  * `:type` - The step type: `:manual` or `:mitigation`.
  * `:kind` - The step kind: `:guidance` or `:capability`.
  * `:capability` - The capability id to invoke for capability-backed mitigation steps
    (one of `:retry_async_item`, `:requeue_dead_letter`, `:request_manual_provider_check`).
  * `:target_kind` - The kind of action item this step targets (atom or string).
  * `:requires_preview` - Whether a preview must be confirmed before execution (boolean, default `false`).
  * `:preview_only` - Whether this step renders as a guidance block with no action button (boolean, default `false`).
  * `:auto_execute` - Whether this step is eligible for automatic execution on alert ingestion (boolean, default `false`).
  * `:guidance` - Advisory text rendered as a blue block in the operator UI when the step is in the `:guidance` state (string).
  * `:warning` - Advisory text rendered as an amber block in the operator UI for any step carrying a precondition or impact warning (string).

# `title`
*since 1.0.0* *macro* 

Sets the runbook title displayed in the operator UI.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
