Top level
the envelope · a skeleton, not a runnable file
A task
Verbs
See individual pages:infer— LLM callexec— shell commandsinvoke— built-in or MCP tool (HTTP fetch isinvoke: nika:fetch)agent— tool-calling loop
Full schema
The canonical JSON Schema is at https://nika.sh/schema/workflow.json. It’s 100% machine-authoritative. This doc is a readable summary.Contract version policy
nika: v1 is a single version marker — v1 is the only value for the
entire lifetime of the v1 contract. Minor additions (a new optional field, a
new builtin) are additive and never change it (no @minor bumps, no
nika migrate for them). A future nika: v2 would be a deliberate
breaking-change generation with its own spec — and since the v1 envelope
is frozen, effectively never.