the language
backoff_strategy
Which curve the delay follows between attempts · `fixed` · `linear` · `exponential` · default `exponential`. Each attempt waits `backoff_ms` flat, `backoff_ms × attempt`, or `backoff_ms × 2^(attempt-1)` capped at `backoff_max_ms`. One of 62 words the served contract declares, projected from workflow.schema.json, the same file your editor validates against.
- 1surfaceretry
- optionaleverywherea choice, never a miss
- stringtypethe declared shape
- 1skeletonscarry this key
the contract
1 declarationthe failure grammar · this word only ever speaks inside the recovery block, so meeting it means you are reading what happens when something breaks
Descriptions are the schema's own; the deeper invariants (value languages and regexes) ride the same projection. A miss is a nika check finding before anything runs.
- retry
stringWhich curve the delay follows between attempts · `fixed` · `linear` · `exponential` · default `exponential`. Each attempt waits `backoff_ms` flat, `backoff_ms × attempt`, or `backoff_ms × 2^(attempt-1)` capped at `backoff_max_ms`.inside retry:fixedlinearexponential
in a real file
from the fanout skeleton process: with: read: ${{ tasks.read.output }} # The quiet-day guard: an EMPTY discovery skips the `read` fan, and a # skipped task hands NULL — which a bare for_each refuses (NIKA-VAR-006). # The ternary keeps the no-items day green end to end. for_each: "${{ with.read == null ? [] : with.read }}" max_parallel: 4 # SLOT: the polite ceiling fail_fast: false timeout: "60s" # SLOT: per-iteration bound retry: max_attempts: 3 backoff_strategy: exponential jitter: true on_error: recover: null # a failed item yields null at its index · the batch lives infer: # SLOT: the per-item job (any verb) max_tokens: 500 # SLOT: the per-ITEM ceiling · multiply by the fan width prompt: | Process this item · ${{ item }}a verbatim slice, real line numbers from fanout.nika.yaml, conformance-gated upstream on every spec push. open the full skeleton →
cross-references
skeletons that carry it
defined by
the block it lives in
retry: inside retry:
The whole grammar in one place: the four verbs · the standard library · the spec. Try it in the playground. Read the reference →