the provider catalog
Mock
The harness: deterministic, offline, free. Every file should rehearse here before it costs anything. Going real is a one-word diff. One provider/model line moves a workflow here or away again: the same file runs on every provider the catalog names, and swapping is a one-word diff. Machines read the catalog; the binary answers nika catalog.
- 1pinned modelaliases pin exact upstream ids
- testfamilythe harness: rehearse before anything costs
- no keynothing to leakthe sovereign path
- mockwire dialectthe adapter speaks it
the wire
test · the harness: rehearse before anything costsA workflow names this provider in the model line (model: mock/mock-default), and the engine speaks mock on the wire. No key exists on this path: nothing to rotate, nothing to leak.
- default
mock-default- dialect
mock
the models
1 pinAliases are what the file may write; the engine pins each one to an exact upstream id, so a run stays reproducible after a vendor rotates names.
defaultmock-defaultctx 1m · reasoning · vision · json:schema
in the released catalog
1 roomThe wire models this provider serves in the released binary's catalog · each one is a room with its seats, exact prices and measured energy.
- mock-defaultas default
the whole register: /catalog/models · what the released binary knows, vendored at the engine pin.
in a real file
a complete workflow · shown wholenika: v1workflow: id: mock-first-draft description: "the whole file rehearses for free — swap one word when it goes real"tasks: draft: infer: model: mock/mock-default max_tokens: 50 prompt: | Any deterministic echo will do — the shape is the test. prove: with: draft: ${{ tasks.draft.output }} invoke: tool: "nika:assert" args: condition: ${{ with.draft != "" }} message: "the rehearsal produced nothing"outputs: rehearsal: ${{ tasks.draft.output }}check-green against the released engine · 2 tasks · 2 waves · ceiling $0.0000 by construction: the harness never bills · the drift gate re-proves this copy on every test run · open it in the playground →
get set up
- 1Nothing to install and no key. The engine ships it.
- 2Rehearse any file
nika run file.nika.yaml --model mock/mock-default
Pick it for always first. Author against mock, then swap the model line. Then prove the seat: nika doctor names every provider this binary can reach.
swap it
0 more test seatsMoving off Mock is editing one line. The rest of the file (tasks, permits, outputs, the trace) does not change. The register orders the catalog local first; beyond it the engine embeds 21 more OpenAI-compatible endpoints.
cross-references
the words that meet it
from the blog
Try it in the playground, or install and go local first. Read the spec →