the standard library
nika:hash
Content hashing · blake3 (default) | sha256 | sha512 · hex (default) or base64. One of 28 builtins in the closed nika: namespace.
the data familypure JSON/data transforms, no I/O
- datafamily9 tools
- 3argsdeclared contract
- 1requiredcheck teaches a miss
- craftedusage filecheck-green below
the contract
3 args · 1 requiredA 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.
- content*
- bytes to hash — a string is hashed as-is; any other JSON value (object · array · number · bool) is compact JSON. Do not pre-pipe | tojson.
- algo
stringblake3 | sha256 | sha512- encoding
stringhex | base64
in a real file
a complete workflow# content-address a file — the receipt survives the runnika: pin-the-artifactpermits: exec: true tools: ["nika:hash"]tasks: artifact: exec: shell: "cat report.md | tr -d '\r'" cwd: "./dist" env: LC_ALL: "C" pin: with: artifact: ${{ tasks.artifact.output }} invoke: tool: "nika:hash" args: content: "${{ with.artifact }}" algo: sha256outputs: sha256: ${{ tasks.pin.output }}a complete file, nika check green; the drift gate re-validates this copy against the schema on every test run. open it in the playground →
cross-references
ships in skeletons
no skeleton ships it; the crafted file above is the reference.
the check gates
the data family
9 toolspure JSON/data transforms, no I/O.
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 →