AGPL-3.0-or-later · forever.

the standard library

nika:jq

Run a jq expression over input · THE data-transform language (map·filter·select·reshape). Emits exactly one value. One of 28 builtins in the closed nika: namespace: pure JSON/data transforms, no I/O.

  • datafamily9 tools
  • 2argsdeclared contract
  • 1requiredcheck teaches a miss
  • 3skeletonsship this tool

the contract

2 args · 1 required

A missing required arg is a nika check finding before anything runs; the vocabulary below comes from the binary itself (nika catalog --tools --json), not from prose.

expression*
stringthe jq program
input
any JSON value (or an array for multi-input ops)

in a real file

from the fanout skeleton
fanout.nika.yaml
  survivors:    with:      process: ${{ tasks.process.output }}    invoke:                         # the null-aware fan-in · order preserved      tool: "nika:jq"      args:        input: ${{ with.process }}        # `. // []` · an EMPTY discovery skips the whole for_each (null        # upstream) — the fan-in must survive its own quiet day.        expression: "(. // []) | [ .[] | select(. != null) ]"

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

cross-references

the check gates

Machines read the same vocabulary at /tools/catalog.json; the contract lives in spec 06 · stdlib. Install and ask the binary itself: nika catalog --tools. Read the spec →