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.yaml.
The agent loop’s self-verification intrinsic · the model passes a workflow
YAML draft it wrote, and gets the FULL nika check verdict back as JSON:
conformance violations (with codes + repair hints), secret-flow findings,
permits escapes, and the termination/cost certificate. It never executes
the draft (« generation is not permission » · the draft is an artifact + its
certificate · running it stays a separate, gated decision). Iterate until
valid is true, then deliver the draft.
Loop-served like nika:done: valid only inside an agent: tool whitelist
(a standalone invoke: 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: f8c5df2127c7.
The Lab language identity is language:tool:compose; the registry view is ecosystem:tool/nika:compose. They refer to this contract without merging their graph identities.