Skip to main content
Builtins catalog / nika:decide

Decision

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 and nika catalog --tools --json for the installed implementation; a registry declaration is not a runtime qualification.

Usage and behavior

illustration
The deterministic decision kernel (spec 11-decision.md) · evaluates a portable Decision Bundle against an EvidenceSnapshot and returns the full Decision Receipt (outcome ∈ {recommend · defer · human_required · opted_out · overridden} · per-dimension term-by-term contributions · intervals · conflicts+witnesses · determination provenance). PURE compute — zero required effects (a bundle: path reads like any declared fs.read; an inline object needs no filesystem) · zero floats (fixed-point basis-points) · same inputs, same bytes, both evaluators (the stdlib-Python reference interpreter is the conformance oracle — byte-equal canonical JSON). The LLM never decides: infer: produces closed cited facts; this kernel applies the rubric. The lighter teaching shape (no bundle) is nika:jq after the extract — examples/13-extract-then-law.nika.yaml. Throws · NIKA-DECIDE-001 (the bundle violates its own laws) · NIKA-DECIDE-002 (the snapshot does not satisfy the evidence schema) · both validation_error, deterministic.

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:decide. Specification revision: f8c5df2127c7. The Lab language identity is language:tool:decide; the registry view is ecosystem:tool/nika:decide. They refer to this contract without merging their graph identities.