AGPL-3.0-or-later · forever.

the language

recover

Recovery output · a `${{ }}` ref OR a literal (merges the former fallback/value per spec/05-errors.md). One of 59 words the served contract declares, projected from workflow.schema.json, the same file your editor validates against.

  • 1surfaceon_error
  • optionaleverywherea choice, never a miss
  • anytypethe declared shape
  • 3skeletonscarry this key

the contract

1 declaration

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.

on_error
Recovery output · a `${{ }}` ref OR a literal (merges the former fallback/value per spec/05-errors.md).inside on_error:

in a real file

from the gate-and-act skeleton
gate-and-act.nika.yaml
  check:    invoke:      tool: "nika:fetch"      args:        url: "${{ const.source_url }}"        mode: jq        jq: "."    output:      value: ".value"               # SLOT: the jq path to the watched field    on_error:      # Offline rehearsal · a sample UNDER the threshold — the gate stays      # closed, the skeleton runs green before you wire the real source.      recover: { value: 42 }

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

the block it lives in

on_error: inside on_error:

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