Final Decisions and Humans
decide_final() for decisions nothing above may weaken, and the planned human() for people in the loop.
WarningOutline
This page is an outline: a summary and the sections planned for it, not yet the documentation. See Getting Started for a worked example.
Overview
How a protocol makes a decision that no layer above it may weaken, and how a person takes part in a sentinel. Covers decide_final(), what it cancels and bypasses and how that is recorded, and when to use it. human(), a rule that asks a person through Inspect’s approval surfaces, and sequential(), which hands it the escalations that led to it, are planned.
Planned Sections
- decide_final(): ending a step with a decision
- What it does to siblings (cancelled) and to the layers above (bypassed)
- When to use it, and when returning a decision is enough
examples/nested.py, walked through- Two final decisions at once (superseded)
escalate, and what happens when it reaches the tophuman()andsequential([rule(), human()])(planned)- Panels: a person as one vote with
human(final=False)(planned) - Notifications and remote decisions, e.g. Slack (planned)