AGPL-3.0-or-later · forever.

the language

schema

JSON Schema · the structured-output contract the model's reply must satisfy. The out-of-core hatch; the typed door is task-level `returns:` (both on one task is NIKA-TYPE-003). One of 62 words the served contract declares, projected from workflow.schema.json, the same file your editor validates against.

  • 2surfacesinfer · agent
  • optionaleverywherea choice, never a miss
  • objecttypethe 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.

infer
objectJSON Schema · the structured-output contract the model's reply must satisfy. The out-of-core hatch; the typed door is task-level `returns:` (both on one task is NIKA-TYPE-003).inside infer:
agent
objectJSON Schema · the contract the agent's FINAL message must satisfy. The out-of-core hatch; the typed door is task-level `returns:` (both on one task is NIKA-TYPE-003).inside agent:

in a real file

from the agent-loop skeleton
agent-loop.nika.yaml
  plan:    infer:      prompt: "Break '${{ inputs.goal }}' into at most 4 concrete steps."   # SLOT      # SLOT: the spend ceiling for the planning call. Size it for the SEAT,      # not for the answer: a reasoning model spends tokens thinking before      # it emits the first brace, and a ceiling that cuts it off mid-thought      # fails NIKA-INFER-002 ("no JSON value found · the reply was cut off at      # the token limit"). Measured — 400 starves qwen3.5:4b on this prompt.      max_tokens: 2000      schema:        type: object        additionalProperties: false        required: [steps]        properties:          steps: { type: array, items: { type: string } }

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

cross-references

accepted by

defined by

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