AGPL-3.0-or-later · forever.

the language

inputs

Typed workflow inputs · `${{ inputs.X }}` · the parameters an author declares and a caller supplies. Each entry is a typed declaration whose `type:` speaks the full TypeExpr of 09-types (R3b · LAW-GRAMMAR-0211 · the flat 6-enum is dead · LAW-SURFACE-0211). The typed half of the dead `vars:` block (R3a · LAW-SURFACE-0201) · a `required: true` value lands here per the E-split total rule. One of 62 words the served contract declares, projected from workflow.schema.json, the same file your editor validates against.

  • 1surfaceenvelope
  • optionaleverywherea choice, never a miss
  • objecttypethe declared shape
  • 1skeletonscarry 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.

envelope
objectTyped workflow inputs · `${{ inputs.X }}` · the parameters an author declares and a caller supplies. Each entry is a typed declaration whose `type:` speaks the full TypeExpr of 09-types (R3b · LAW-GRAMMAR-0211 · the flat 6-enum is dead · LAW-SURFACE-0211). The typed half of the dead `vars:` block (R3a · LAW-SURFACE-0201) · a `required: true` value lands here per the E-split total rule.the file itself

in a real file

from the agent-loop skeleton
agent-loop.nika.yaml
inputs:  goal:    type: string    required: true    # A `required:` input still carries a `default:` here so the skeleton    # RUNS the moment it is scaffolded. Replace the default with your job;    # `--var goal=…` overrides it at any time.    default: "list the risks of running an agent without a turn budget"   # SLOT    description: "What the agent must accomplish"   # SLOT

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

the block it lives in

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