AGPL-3.0-or-later · forever.

the language

const

Named constants · `${{ const.X }}` · a fixed value baked into the workflow. Either a bare literal, or a `{ type, value }` typed constant whose `value:` MUST conform to `type:`. The literal half of the dead `vars:` block (R3a · LAW-SURFACE-0201) · everything that is not `required: true` 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
  • 7skeletonscarry 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
objectNamed constants · `${{ const.X }}` · a fixed value baked into the workflow. Either a bare literal, or a `{ type, value }` typed constant whose `value:` MUST conform to `type:`. The literal half of the dead `vars:` block (R3a · LAW-SURFACE-0201) · everything that is not `required: true` lands here per the E-split total rule.the file itself

in a real file

from the chain skeleton
chain.nika.yaml
const:  source: "./README.md"             # SLOT: your input · README.md exists in most repos  destination: "./output.md"        # SLOT: where the result lands

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

cross-references

the check gates that name it

defined by

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 →