AGPL-3.0-or-later · forever.

the path · 16

Inspect self — the run reads its own DAG.

run itnika try 16-inspect-self

16-inspect-self.nika.yamlsource
# SPDX-License-Identifier: Apache-2.0# yaml-language-server: $schema=https://nika.sh/spec/v1/workflow.schema.json## 16 · Inspect self — the run reads its own DAG.## `nika:inspect` is the one introspection door (ADR-088 · four views).# The runtime injects a live cell at composition and writes it as# tasks settle. This file is the first task of a two-task DAG: look# at `dag_info` before anything has settled, then assert the cell# is available (the DAG was seeded at run start).## Demonstrates ·#   - `invoke: { tool: nika:inspect, args: { view: dag_info } }`#   - `available: true` · nodes + waves from the check report#   - PURE permits · inspect + assert#   - const-fixture assert so `unproven-law` stays silent## Other views · `cost` · `records` · `threads` (advisory).## Next door · [`17-tts-self`](17-tts-self.nika.yaml) is the last# named showcase — mock TTS, a real WAV on disk.## Run · nika try 16-inspect-self#   (offline · mock/echo · zero keys)nika: inspect-selfmodel: mock/echopermits:  tools: ["nika:inspect", "nika:assert"]tasks:  look:    invoke:      tool: nika:inspect      args:        view: dag_info  compiled:    with:      shot: ${{ tasks.look.output }}    invoke:      tool: nika:assert      args:        condition: ${{ with.shot.available }}        message: "inspect must have live run context (DAG seeded at start)"outputs:  dag: ${{ tasks.look.output }}

nika-spec@332f5232d · sha256 248c5f72db4ea11e