Ignitify.dev
The seven axes
Concepts

The seven axes

A deployment declares its task nature under execution in task.yaml. Seven axes describe what the work needs. Omit one and the platform default applies.

cardinality

How many units of work per deployment: one (default), many, continuous.

duration

How long one unit runs: short (default), long. unbounded is declared but refused today — see below.

state

Whether a unit depends on state from before: independent (default), across-runs. across-crashes is refused today.

interaction

Whether the task touches the outside world only at the edges (boundary-only, default) or during the run (continuous).

network

The network capability grant: none (default), egress, bidirectional. See Network.

storage_mib

Ephemeral scratch drive capacity in MiB, sealed at VM boot and wiped at teardown. The default is the run's preset size (64 to 1024 MiB); a smaller value is raised to it. See Storage & residency.

residency

auto (default) — normal lifecycle. pinned — permanent standby, exempt from every reaper sweep. See Storage & residency.

Two axes are declared but not supported yet

Both are refused at deploy, never accepted and mis-run. Their mechanism, checkpoint and resume, does not exist yet.

Declared
Refusal
Why
duration: unbounded
rejected at deploy
holding a VM for weeks with no checkpoint isn't safe to run
state: across-crashes
rejected at deploy
durability can't be faked without a real checkpoint

One more value is accepted but degraded. state: across-runs falls back to a booted-VM warm start: state is reused, not snapshot-persisted. task:validate prints a warning, not a refusal.

Two combinations are rejected, however they arise

Combination
Rejected because
Fix
cardinality: one + state: across-runs
a one-shot VM tears down after its unit — there is nothing to carry state between
declare many or continuous
cardinality: one + residency: pinned
a one-shot VM tears down after its unit — there is nothing to pin
declare many or continuous