AGPL-3.0-or-later · forever.

the language

when

LOCAL business condition · evaluated POST-gate over {vars · env · with · item · index} — tasks.* is illegal here (NIKA-VAR-021 · hoist into with:). false → skipped (spec/03-dag.md §when). One of 59 words the served contract declares, projected from workflow.schema.json, the same file your editor validates against.

  • 2surfacestask · on_finally
  • optionaleverywherea choice, never a miss
  • boolean | stringtypethe declared shape
  • 3skeletonscarry this key

the contract

2 declarations

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.

task
boolean | stringcel-expressionLOCAL business condition · evaluated POST-gate over {vars · env · with · item · index} — tasks.* is illegal here (NIKA-VAR-021 · hoist into with:). false → skipped (spec/03-dag.md §when).one step of the plan
on_finally
boolean | stringcel-expressionCleanup condition · may read the PARENT task's record (tasks.<parent>.status / .error — the only legal tasks.* target inside on_finally · spec/03-dag.md §on_finally).inside an on_finally step

in a real file

from the gate-and-act skeleton
gate-and-act.nika.yaml
  act:    with:      value: ${{ tasks.check.value }}   # the binding IS the edge · check → act    # when: is a SKIP gate — routing, not failure (a skipped task is not an error)    when: ${{ with.value > const.threshold }}   # SLOT: the CEL condition    invoke:      tool: "nika:notify"           # SLOT: the action · notify / write / exec      args:        channel: webhook        target: "${{ secrets.webhook }}"        message: "Threshold crossed · ${{ with.value }}"   # SLOT        severity: warning

a verbatim slice, real line numbers from gate-and-act.nika.yaml, conformance-gated upstream on every spec push. open the full skeleton →

cross-references

the check gates that name it

defined by

The whole grammar in one place: the four verbs · the standard library · the spec. Try it in the playground. Read the reference →