Skip to main content

Module lifecycle

Module lifecycle 

Source
Expand description

One ephemeral runner, from an allocation decision to a scrubbed runtime.

The ordering in this module is intentional. An attempt is written before the package or GitHub is touched, the JIT value exists only in a restrictive handoff, and a registration-timeout termination is journalled before the process is signalled. Recovery uses the same code as ordinary supervision; startup merely supplies the first observation.

Structs§

AttemptEventLog
CachedRuntimePackages
Production package adapter. It takes an e2 lease before returning, so a cache entry can never look unused while its runtime is starting.
JitRequestFailure
LifecycleGithubObservation
GitHub’s authoritative runner state plus the identity returned by inventory. The id is carried independently of the local sidecar so recovery can close the crash boundary immediately after a successful remote registration.
LifecycleLauncher
Production implementation of e1’s launcher port.
LifecyclePorts
NativeProcesses
Native process supervision. The start token is stored beside the runtime; recovery never trusts a recycled PID merely because SQLite contains it.
NoAttemptEvents
PersistentDemand
ProcessStartFailure
Process operations are attempt-addressed so a recovered process and a child started in this invocation are supervised through one port.
PruneAuthority
Unforgeable evidence that pruning was reached through e1’s launch request. The type is public only because it appears in the public adapter trait; its private field and constructor prevent callers from substituting a guard acquired from an unrelated lock.
RetryPolicy
Retry bounds for failures that can resolve without operator action.
TokioRetryDelay

Enums§

AttemptEvent
Non-secret lifecycle evidence. Payloads are identifiers and closed enums; neither the encoded configuration nor child output can enter this type.
LifecycleError

Traits§

AttemptEventSink
DemandPersistence
Whether the demand that justified a retry still exists.
LifecycleGithub
The two GitHub views the lifecycle needs, combined so one fake can drive registration and authoritative runner telemetry.
ProcessSupervisor
RetryDelay
RuntimePackages
Package/cache operations used by one attempt.