Expand description
Process lifetime — Permanent (re-converging) vs Ephemeral (auto-SIGTERM on Attested / TTL / Failed).
The wire shape follows the same “exactly-one-optional-field” pattern as
Intent — one tagged-union idiom across the typescape.
Lisp authoring:
:lifetime (:permanent)
:lifetime (:ephemeral :ttl "1h"
:teardown OnAttested
:max-concurrent 1)Default = Permanent — every existing Process keeps its current behavior.
Structs§
- Ephemeral
Lifetime - Ephemeral lifetime — Process auto-terminates per
teardown_policy. - Lifetime
- Lifetime slot on
ProcessSpec. Exactly one variant should be populated; when both are unset the resolver returnsPermanent. - Permanent
Lifetime - Permanent lifetime — the existing Process behavior. SIGHUP re-converges; SIGTERM terminates only on explicit operator action.
- Unknown
Teardown Policy
Enums§
- Lifetime
Error - Lifetime
Kind - Closed-set discriminator over
Lifetime’s two tagged-union slots. Single source of truth that drivesLifetime::variant’s ambiguity resolver, the reverseLifetimeVariant::kindprojection, and anyselect-style routing. Adding a third lifetime variant (e.g. a futureBurstslot for budget-capped non-TTL lifetimes) lands at oneALLentry + oneas_strarm + oneselectarm + oneLifetimeVariant::kindarm — exhaustively checked by the compiler. - Lifetime
Variant - Resolved enum view used by the reconciler.
- Teardown
Policy - When an ephemeral Process self-terminates.