@@ -35,19 +35,19 @@ severity: high # optional — informational severity label
3535
3636### Frontmatter fields
3737
38- | Field | Type | Required | Description |
39- | -------| ------| ----------| -------------|
40- | ` name ` | string | yes | Human-readable name shown in output and audit log |
41- | ` version ` | string | no | Version string displayed in dry-run and audit |
42- | ` description ` | string | no | Multi-line description of the runbook's purpose |
43- | ` owners ` | list of strings | no | Owners or team names (informational) |
44- | ` environments ` | list of strings | no | If set, restricts execution to named environments |
45- | ` requires.tools ` | list of strings | no | Tool names checked on ` PATH ` before execution |
46- | ` requires.permissions ` | list of strings | no | Permission labels (informational) |
47- | ` requires.approvals ` | map of env → list | no | Required approvals per environment (informational) |
48- | ` timeout ` | duration | no | Maximum total execution time (e.g. ` 30m ` , ` 2h ` , ` 300s ` ) |
49- | ` trigger ` | string | no | Informational trigger label |
50- | ` severity ` | string | no | Informational severity label |
38+ | Field | Type | Required | Description |
39+ | ------------------------ | ------------------- | ----------| -------------------------------------------- -------------|
40+ | ` name ` | string | yes | Human-readable name shown in output and audit log |
41+ | ` version ` | string | no | Version string displayed in dry-run and audit |
42+ | ` description ` | string | no | Multi-line description of the runbook's purpose |
43+ | ` owners ` | list of strings | no | Owners or team names (informational) |
44+ | ` environments ` | list of strings | no | If set, restricts execution to named environments |
45+ | ` requires.tools ` | list of strings | no | Tool names checked on ` PATH ` before execution |
46+ | ` requires.permissions ` | list of strings | no | Permission labels (informational) |
47+ | ` requires.approvals ` | map of env → list | no | Required approvals per environment (informational) |
48+ | ` timeout ` | duration | no | Maximum total execution time (e.g. ` 30m ` , ` 2h ` , ` 300s ` ) |
49+ | ` trigger ` | string | no | Informational trigger label |
50+ | ` severity ` | string | no | Informational severity label |
5151
5252---
5353
@@ -64,9 +64,9 @@ If any check exits non-zero, execution stops and nothing else runs.
6464```
6565````
6666
67- | Attribute | Required | Description |
68- | -----------| ----------| -------------|
69- | ` name ` | yes | Unique identifier for this check |
67+ | Attribute | Required | Description |
68+ | -----------| ----------| ---------------------------------- |
69+ | ` name ` | yes | Unique identifier for this check |
7070
7171** Example:**
7272
@@ -94,15 +94,15 @@ A `step` block is an executable unit of work. Steps run in document order unless
9494```
9595````
9696
97- | Attribute | Required | Description |
98- | -----------| ----------| -------------|
99- | ` name ` | yes | Unique identifier for this step |
100- | ` rollback ` | no | Name of the rollback block to execute if this step or a later one fails |
101- | ` depends_on ` | no | Name of a preceding step that must succeed before this one runs |
102- | ` timeout ` | no | Maximum time for this step (e.g. ` 300s ` , ` 5m ` ). Sends SIGTERM, waits 10 s, then SIGKILL |
103- | ` confirm ` | no | Environment name that triggers an interactive ` [y/n/s/a] ` prompt |
104- | ` env ` | no | Environments in which this step runs; silently skipped in all others |
105- | ` kill_grace ` | no | Grace period between SIGTERM and SIGKILL for this step (default: ` 10s ` ) |
97+ | Attribute | Required | Description |
98+ | -------------- | ----------| ---------------------------------------------------------------------------- -------------|
99+ | ` name ` | yes | Unique identifier for this step |
100+ | ` rollback ` | no | Name of the rollback block to execute if this step or a later one fails |
101+ | ` depends_on ` | no | Name of a preceding step that must succeed before this one runs |
102+ | ` timeout ` | no | Maximum time for this step (e.g. ` 300s ` , ` 5m ` ). Sends SIGTERM, waits 10 s, then SIGKILL |
103+ | ` confirm ` | no | Environment name that triggers an interactive ` [y/n/s/a] ` prompt |
104+ | ` env ` | no | Environments in which this step runs; silently skipped in all others |
105+ | ` kill_grace ` | no | Grace period between SIGTERM and SIGKILL for this step (default: ` 10s ` ) |
106106
107107The step body begins after the ` --- ` separator. If there are no attributes, ` --- ` can be omitted.
108108
@@ -134,9 +134,9 @@ if a rollback block itself exits non-zero, the failure is logged and remaining r
134134```
135135````
136136
137- | Attribute | Required | Description |
138- | -----------| ----------| -------------|
139- | ` name ` | yes | Unique identifier, referenced by a step's ` rollback ` attribute |
137+ | Attribute | Required | Description |
138+ | -----------| ----------| ---------------------------------------------------------------- |
139+ | ` name ` | yes | Unique identifier, referenced by a step's ` rollback ` attribute |
140140
141141** Example:**
142142
@@ -162,11 +162,11 @@ If the monitoring command exits non-zero, the wait aborts and triggers rollback.
162162```
163163````
164164
165- | Attribute | Required | Description |
166- | -----------| ----------| -------------|
167- | ` name ` | yes | Unique identifier for this wait block |
168- | ` duration ` | yes | Total wait time (e.g. ` 60s ` , ` 5m ` ) |
169- | ` abort_if ` | no | Human-readable abort condition description shown in dry-run output |
165+ | Attribute | Required | Description |
166+ | ------------ | ----------| ------------------------------------------------------- -------------|
167+ | ` name ` | yes | Unique identifier for this wait block |
168+ | ` duration ` | yes | Total wait time (e.g. ` 60s ` , ` 5m ` ) |
169+ | ` abort_if ` | no | Human-readable abort condition description shown in dry-run output |
170170
171171** Example:**
172172
@@ -197,21 +197,21 @@ See [variables reference](variables.md) for the full resolution order and built-
197197
198198## Parser limits
199199
200- | Limit | Value |
201- | -------| -------|
202- | Maximum file size | 1 MB |
203- | Maximum blocks | 1,000 |
204- | Maximum frontmatter size | 64 KB |
205- | Encoding | UTF-8 only |
206- | Unknown frontmatter fields | rejected |
200+ | Limit | Value |
201+ | ---------------------------- | ----- -------|
202+ | Maximum file size | 1 MB |
203+ | Maximum blocks | 1,000 |
204+ | Maximum frontmatter size | 64 KB |
205+ | Encoding | UTF-8 only |
206+ | Unknown frontmatter fields | rejected |
207207
208208---
209209
210210## Quick reference
211211
212- | Block | Purpose | Required attributes |
213- | -------| ---------| ---------------------|
214- | ` check ` | Precondition that must pass before any step runs | ` name ` |
215- | ` step ` | Executable unit of work | ` name ` |
216- | ` rollback ` | Recovery handler executed on step failure (LIFO) | ` name ` |
217- | ` wait ` | Timed pause with optional monitoring and abort | ` name ` , ` duration ` |
212+ | Block | Purpose | Required attributes |
213+ | ------------ | ----------------------------------------- ---------| ---------------------|
214+ | ` check ` | Precondition that must pass before any step runs | ` name ` |
215+ | ` step ` | Executable unit of work | ` name ` |
216+ | ` rollback ` | Recovery handler executed on step failure (LIFO) | ` name ` |
217+ | ` wait ` | Timed pause with optional monitoring and abort | ` name ` , ` duration ` |
0 commit comments