Skip to main content
Version: 0.1.0-alpha.4 (alpha)

Activation lifecycle protocol

This page describes the planned durable lifecycle. The current stateless lifecycle runs activations through Received, Resolved, Admitted, Queued, Materializing, and Running, then publishes a separate terminal state. Current release authority checks and controlled route publication preserve that stateless result model. Durable commits, transactional effects, persisted suspension and workflow continuations are planned work; see the roadmap.

Planned state machine​

RECEIVED
→ RESOLVED
→ ADMITTED
→ QUEUED
→ MATERIALIZING
→ RUNNING
↔ SUSPENDED
→ PREPARING_COMMIT
→ COMMITTED
→ EFFECTS_PENDING
→ COMPLETED

Terminal exits may occur as REJECTED, CANCELLED, DEADLINE_EXCEEDED, RESOURCE_EXHAUSTED, GUEST_TRAP, STATE_CONFLICT, DEPENDENCY_FAILED, or PLATFORM_FAILED.

Pinning​

Resolution pins revision ID, release digest, route generation, contract/function, capability-policy digest, and execution policy before the activation enters the queue.

Cancellation​

Cancellation is advisory until acknowledged by the execution backend. A caller timeout does not prove that a state commit or external operation did not occur. Side-effecting calls therefore require stable idempotency identities and status inspection where applicable.

Suspension​

Ordinary async suspension keeps the activation logical context but releases the compute worker. Durable workflow suspension persists an explicit continuation and releases the complete execution cell and guest store.

Journal​

In the target protocol, lifecycle events are monotonically sequenced per activation and contain only non-secret metadata. Commit, effect, security and failure transitions require durable records according to policy. The current bounded invocation status journal and optional audit journal have separate retention and loss contracts; the current node does not emit a mandatory durable audit record for every Invoke.