showcase · tier 1 · builders
Standup digest
Reads yesterday’s commits, stamps the date from a builtin, and writes your three bullets.
- 4tasksthe plan falls out of the bindings
- 3wavesparallel by construction
- 3verbs exercisedinvoke · exec · infer
- T1the tierbuilders
The whole file
4 tasks · 3 wavesThe plan falls out of the bindings, nothing is scheduled by hand.
standup-digest.nika.yamlsource
nika: v1workflow: id: standup-digest description: "Read yesterday's commits, write today's standup note"model: ollama/qwen3.5:4b # local · zero key · swap for groq/llama-3.3-70b (a fast one-liner job)permits: tools: ["nika:date", "nika:write"] exec: ["git"] # the ONE program this workflow may run fs: { write: ["out/standup-note.md"] }tasks: # No deps between these two → the engine runs them in parallel. today: invoke: tool: "nika:date" args: { op: now } history: exec: command: ["git", "log", "--since=yesterday", "--oneline", "--no-merges"] digest: with: today: ${{ tasks.today.output }} history: ${{ tasks.history.output }} infer: max_tokens: 400 # a standup note is short · the ceiling says so prompt: | Date · ${{ with.today }} Commits since yesterday · ${{ with.history }} Write my standup note · 3 bullets · done / doing / blocked. Plain words · no fluff. If there are no commits, say so in one line. save: with: digest: ${{ tasks.digest.output }} invoke: tool: "nika:write" args: path: out/standup-note.md create_dirs: true content: "${{ with.digest }}"outputs: note: ${{ tasks.digest.output }}audited · 4 tasks · 3 waves · permits declarednika 0.106.1
nika inspect · engine 0.106.1 · vendored graph, never re-derived
3 declared edges · 3 waves · the plan falls out of the bindings