Rename open to stalled and autopilot to auto-confirm; add pushed state; declare idempotency; propose maturity and projects model (RBT-WP-0008)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: sonnet Assistant-Process: 295952@bnt-lap001 Assistant-Session: e93f64ad-516c-46eb-9666-aad8d300c477
This commit is contained in:
parent
f39d5cec3c
commit
f5619e1a52
19 changed files with 429 additions and 105 deletions
|
|
@ -154,7 +154,7 @@ A **run** has a mode. The mode belongs to the run, not to the pack.
|
|||
| Mode | Who confirms | Checks, gates, preconditions |
|
||||
| --- | --- | --- |
|
||||
| **manual** | the operator | shown with their state; the operator confirms each |
|
||||
| **autopilot** | the engine, when every precondition is met | evaluated by the engine; confirmation is applied automatically |
|
||||
| **auto-confirm** | the engine, when every precondition is met | evaluated by the engine; confirmation is applied automatically |
|
||||
|
||||
### Manual mode: override
|
||||
|
||||
|
|
@ -164,10 +164,10 @@ downstream risk (`downstream_risk` text declared on the step or gate, else a
|
|||
generic warning), (2) require an explicit confirmation, and (3) record a
|
||||
**deviation** in the run.
|
||||
|
||||
### Autopilot mode: timeout and push-through
|
||||
### Auto-confirm mode: timeout and push-through
|
||||
|
||||
- A step or gate may declare `timeout: {seconds: N, on_timeout: stop|push-through}`;
|
||||
a run may set a default. Without a timeout, autopilot waits.
|
||||
a run may set a default. Without a timeout, auto-confirm waits.
|
||||
- `stop` (default): on timeout the run stops and reports.
|
||||
- `push-through`: on timeout the engine confirms the item, records a deviation,
|
||||
and moves on, ignoring the problem. This gathers the most information about
|
||||
|
|
@ -176,10 +176,13 @@ generic warning), (2) require an explicit confirmation, and (3) record a
|
|||
with an explicit, recorded pre-authorization naming those steps (and the pack's
|
||||
`confirm_phrase`). Push-through does not bypass that rule. This is a safety
|
||||
default, open to review.
|
||||
- A step may declare `autopilot: manual-only` to forbid automation entirely.
|
||||
- A step may declare `auto_confirm: manual-only` to forbid automation entirely.
|
||||
- Auto-confirm applies *confirmation* only. It does not run a step's own command; execution is a later, separate level (RBT-WP-0006).
|
||||
|
||||
### Deviations
|
||||
|
||||
An item passed over by push-through gets the distinct state `pushed` (steps, gates and datapoints): not done, not set, not an error.
|
||||
|
||||
Every override, waiver and push-through is a **deviation** in the run record:
|
||||
`kind` (`override|waiver|push-through`), `item` (step or gate id), `mode`,
|
||||
`unmet` (what was not satisfied), `risk_acknowledged`, `reason` (required for
|
||||
|
|
@ -201,6 +204,10 @@ declared in advance (`waivable` on a gate); an **override** is not.
|
|||
|
||||
## Later: dependencies between runbooks
|
||||
|
||||
**Idempotency** is a declared characteristic of a step: `idempotent: idempotent | non-idempotent | conditional`
|
||||
(`conditional` needs an `idempotent_note`). Undeclared means unknown. The runbook's overall value is derived.
|
||||
See `docs/maturity-and-projects.md`.
|
||||
|
||||
Not in v0.2. When a procedure needs another runbook (for example "OpenBao operating
|
||||
path requires the SSH access pack"), packs will declare `requires_packs` with a
|
||||
required result (exercised, or a named gate passed). Tracked in RBT-WP-0006.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue