nika:compose
Introspection
Tool family from the canonical registry.
invoke
Call this builtin through the invoke verb.
Read this contract
This reference preserves the specification at the revision linked below. Source examples are fragments: their surrounding tasks, inputs and permissions are not supplied here. Consult engine status andnika catalog --tools --json for the installed implementation; a registry declaration is not a runtime qualification.
Usage and behavior
illustration
examples/15-compose-self-check.nika.
The agent loop’s self-check intrinsic: the model passes a complete workflow
YAML draft and receives its in-memory static report as JSON. valid means
that parsing succeeded and Core conformance has no violations. The report
also carries counts of secret-flow findings and capability escapes, plus a
bounded termination/cost certificate summary; those counts do not become an
execution-admission verdict.
The intrinsic reads no child files and does not resolve the composition
graph. A draft that names a missing child can therefore have valid: true
here and still fail the file-aware nika check. Save the draft and check the
actual file and its children before presenting it as ready to run.
It never executes the draft or grants its effects. Even a valid draft
that declares filesystem writes performs no write during this self-check.
Deliver the draft with this limited report; running it remains a separate,
gated decision (« generation is not permission »).
Loop-served like nika:done: valid only inside an agent: tool whitelist
(a standalone invoke: { tool: "nika:compose" } is rejected · NIKA-BUILTIN-COMPOSE-001).
The model never sees it unless it is whitelisted (default-deny).
Args · workflow_yaml (string · required · the complete draft).
Related concepts
Arguments
Pass the values required by the tool contract.
Permissions
Understand authority before granting effects.
Errors and recovery
Read diagnostics and choose a recovery policy.
Workflow templates
Put the fragment inside a complete workflow.
Contract provenance
Read the pinned specification · Canonical registry. Tool identity:nika:compose. Specification revision: 5cd95cd25c0f.
Documentation
Guides, reference contracts and working examples.
Language spec
the nine-key envelope, Apache-2.0. The contract these docs explain.
Engine source
Rust, AGPL-3.0-or-later. Every commit public.
TypeScript SDK
Use one typed lifecycle locally or against authenticated nika serve HTTP.
Editor extension
The editor extension, frozen at 0.120 and not qualified with 0.124: use
nika lsp and the JSON Schema.Homebrew tap
brew install supernovae-st/tap/nika for the latest tagged CLI release.SuperNovae
The Paris studio crafting Nika. 🦋