Society · Protocols
Rollout
Progressive deployment with canary gating and recorded compensation
Definition
Mechanism
Creates a durable RolloutManifest before enabling the EjectionSeat or dispatching work, then executes the approved `operation_sequence` in an ExecutionManifest as state-changing Acts inside a CircuitBreaker envelope. Before dispatching any canary or forward state-changing action, Rollout creates a `prepared` manifest entry containing a discoverable idempotent inverse for Compensate that is safe to invoke when the forward outcome is unknown. The entry becomes `armed` before the action is sent, and its `outcome: unknown` is replaced only when an outcome is observed. If no safe inverse can be prepared, Rollout refuses that action and enters the same terminal cleanup path as a breaker trip. Rollout first runs a bounded real-path Canary. `proceed` is the sole authorization for full execution or commitment of canary progress. On `caution` or `abort`, unless preempted by EjectionSeat, Rollout invokes Break, invokes Compensate for every armed canary entry whose outcome is effectful or `unknown`, records the result, permits only DESTROY or RECYCLE, freezes the manifest, and terminates this run; retry requires a new Rollout. An inverse-preparation failure or breaker trip, unless preempted by EjectionSeat, invokes Break, stops forward execution, invokes Compensate for every armed entry whose outcome is effectful or `unknown`, records every per-inverse result, freezes the manifest, and terminates this run; neither breaker recovery nor retry resumes it, and either requires a new Rollout. A received EjectionSeat signal always takes precedence over all cleanup paths: PAUSE suspends forward and compensation work and leaves the manifest open; TERMINATE stops new forward work, invokes Break, permits best-effort Compensate during graceful shutdown without allowing acknowledgement or cleanup to block termination, and then freezes the manifest; EMERGENCY halts immediately with no compensation and no final-write guarantee, so only an incomplete immutable prefix with no guaranteed final outcome entry is available. Outside EMERGENCY, Rollout freezes the manifest when the run terminates.
Preconditions
- ExecutionManifest is approved
- CircuitBreaker is configured for the operation target and CLOSED
- Canary telemetry collection is active for the bounded path
- EjectionSeat readiness has a recorded successful test and its dedicated channel, operator key, and operator are available
Postconditions
- If the run terminates without EMERGENCY, the RolloutManifest is frozen with each armed action and its observed or `unknown` outcome.
- If EMERGENCY occurs, immediate halt is the only guaranteed outcome; the durable RolloutManifest may contain only an incomplete immutable prefix with no guaranteed final outcome entry.
Invariants
- No state-changing Act is attempted before the RolloutManifest records its discoverable idempotent inverse, safe under an `unknown` outcome; otherwise it is refused as an inverse-preparation failure.
- `proceed` alone authorizes full execution or committed Canary progress.
- `caution`, `abort`, inverse-preparation failure, or a CircuitBreaker trip starts no further forward work and, absent EjectionSeat preemption, enters ordinary terminal cleanup.
- Ordinary terminal cleanup invokes Break, then Compensate for every effectful-or-`unknown` armed entry, records each inverse result, and terminates with the manifest frozen.
- A terminated Rollout never resumes; retry and breaker recovery use a new Rollout.
- A received EjectionSeat signal preempts ordinary cleanup in favor of its selected mode.
- PAUSE suspends forward and compensation work and leaves the Rollout and its manifest open.
- TERMINATE starts no further forward work, invokes Break, and permits best-effort Compensate; Break acknowledgement and cleanup cannot block termination with a frozen manifest.
- EMERGENCY halts immediately without cleanup or a final manifest write.
- Outside EMERGENCY, the RolloutManifest records every armed action, compensation action, and observed inverse result; at freeze, each forward entry contains its observed outcome or `unknown` if unobserved.
Risks
Failure modes
Canary false positive
The bounded real path returns `proceed`, but full execution encounters conditions the canary did not cover.
Dirty compensation
One or more recorded inverse actions fails, leaving partial state; the failure remains in the RolloutManifest.
Forward execution drift
An attempted forward action does not match the next authorized action in the approved ExecutionManifest operation sequence.
Audit drift
An armed canary or forward action, or any compensation action, is absent from the RolloutManifest.
Emergency residue
EjectionSeat EMERGENCY mode halts without cleanup, so effects from already attempted actions can remain.
Relationships
Builds on
Accepts
Infrastructure
Binding of Design and Procedure
Composes with
Infrastructure
Failure-announcement signal {severity, reason, recoverable}, ACK-required
Expendable agent tests the full coordination path before real commit
Infrastructure
Fail-fast protection against cascading failures
Infrastructure
Structured rollback via logged inverses in LIFO order
Hardware-interrupt kill switch
References
Infrastructure
Root primitive for state modification
Yields
Infrastructure
Deployment execution log
Used by
Composes with
Release to production
Interpret-Plan-Rollout Lifecycle
Standard Interpret-Plan-Rollout workflow to ensure realizability
Reference
Signature
Act(ExecutionManifest)
