T1 starter Β· local-first: the whole loop on your machine β a real HTTP fetch, a local model, a verifiable trace. No API key exists in this tutorial, so there is nothing to leak and nothing to meter.
The job
A morning brief from a live source, every day, the same way. One file captures it; your laptop runs it; the trace proves what happened.Prerequisites
nikainstalled:brew install supernovae-st/tap/nika(other paths)- Ollama running with a small model:
ollama pull qwen3.5:4b(any local model works β swap themodel:line)
The file
Save asdaily-brief.nika.yaml:
Check, then run
$0.00 is a promise. Local work is never blocked and never
metered β the flag exists so a paid uncataloged model canβt hide behind
a fake zero (cost honesty).
Then:
The receipt
verify
exits non-zero. Your brief comes with proof of what ran, in what order,
against which inputs β even offline.
Make it daily
Cron it, or wire the GitHub Action if the file lives in a repo β every edit to the workflow gets a static check before it lands. When you want the run itself in CI, that stays a deliberate step in your own job, with your own budget flags.Where to go next
- Add a
permits:boundary βnika check --infer-permitswrites the tightest one, and the workflow becomes default-deny (security). - Persist the brief: a third task with
nika:writeand acontent:binding (starters show the shape). - Mix providers: keep
fetchlocal, pointbriefat a cloud model with--max-cost-usdβ the budget gate prices the fileβs own model before anything starts (cost honesty).