{
  "language_graph": 1,
  "spec_pin": null,
  "canon_schema_version": 1,
  "engine_version": "v0.105.0",
  "catalogs": {
    "tools": "0.105.0",
    "providers": "0.105.0"
  },
  "nodes": [
    {
      "id": "chapter:canon.yaml",
      "kind": "chapter",
      "title": "canon.yaml",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/canon.yaml",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:examples/manifest.yaml",
      "kind": "chapter",
      "title": "examples/manifest.yaml",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/examples/manifest.yaml",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:spec/01-envelope.md",
      "kind": "chapter",
      "title": "spec/01-envelope.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/spec/01-envelope.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:spec/02-verbs.md",
      "kind": "chapter",
      "title": "spec/02-verbs.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/spec/02-verbs.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:spec/03-dag.md",
      "kind": "chapter",
      "title": "spec/03-dag.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/spec/03-dag.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:spec/04-variables.md",
      "kind": "chapter",
      "title": "spec/04-variables.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/spec/04-variables.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:spec/05-errors.md",
      "kind": "chapter",
      "title": "spec/05-errors.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/spec/05-errors.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:spec/07-conformance.md",
      "kind": "chapter",
      "title": "spec/07-conformance.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/spec/07-conformance.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:spec/09-types.md",
      "kind": "chapter",
      "title": "spec/09-types.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/spec/09-types.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:stdlib/builtins-v0.1.md",
      "kind": "chapter",
      "title": "stdlib/builtins-v0.1.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/stdlib/builtins-v0.1.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:stdlib/extract-modes-v0.1.md",
      "kind": "chapter",
      "title": "stdlib/extract-modes-v0.1.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/stdlib/extract-modes-v0.1.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:stdlib/providers-v0.1.md",
      "kind": "chapter",
      "title": "stdlib/providers-v0.1.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/stdlib/providers-v0.1.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "chapter:templates/README.md",
      "kind": "chapter",
      "title": "templates/README.md",
      "url": "https://github.com/supernovae-st/nika-spec/blob/main/templates/README.md",
      "status": "both",
      "opener": null
    },
    {
      "id": "code:NIKA-AGENT-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-AGENT-001",
      "url": "/errors/NIKA-AGENT-001",
      "status": "ratified",
      "opener": "max_turns exhausted before completion",
      "meta": {
        "category": "budget_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-AGENT-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-AGENT-002",
      "url": "/errors/NIKA-AGENT-002",
      "status": "ratified",
      "opener": "max_tokens_total exhausted before completion",
      "meta": {
        "category": "budget_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-AGENT-003",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-AGENT-003",
      "url": "/errors/NIKA-AGENT-003",
      "status": "ratified",
      "opener": "a skills: path does not resolve (file missing/unreadable at compose time)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-AGENT-004",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-AGENT-004",
      "url": "/errors/NIKA-AGENT-004",
      "status": "ratified",
      "opener": "a skills: file is not a valid Agent Skill (frontmatter shape · missing/empty name/description)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-ASSERT-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-ASSERT-001",
      "url": "/errors/NIKA-ASSERT-001",
      "status": "ratified",
      "opener": "an assert: claims a level the evidence does not support (a StaticProof the IR cannot decide · a mis-leveled obligation · spec 15)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-BUILTIN-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-BUILTIN-001",
      "url": "/errors/NIKA-BUILTIN-001",
      "status": "ratified",
      "opener": "builtin invoke violates its statically-checkable arg contract (e.g. nika:fetch without url: · nika:jq arg shape)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-BUILTIN-DONE-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-BUILTIN-DONE-001",
      "url": "/errors/NIKA-BUILTIN-DONE-001",
      "status": "ratified",
      "opener": "nika:done invoked outside an agent: loop",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-CANCEL-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-CANCEL-001",
      "url": "/errors/NIKA-CANCEL-001",
      "status": "ratified",
      "opener": "task cancelled (workflow failure gate · user cancellation)",
      "meta": {
        "category": "cancelled",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-COMP-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-COMP-001",
      "url": "/errors/NIKA-COMP-001",
      "status": "ratified",
      "opener": "invoke.workflow: target is not statically resolvable (templated · malformed · unpinned registry ref) — a call graph you cannot draw before the run cannot be bounded (spec 14)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-COMP-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-COMP-002",
      "url": "/errors/NIKA-COMP-002",
      "status": "ratified",
      "opener": "the child workflow's effect boundary exceeds the parent capped by the call-site declaration (Authority(child) subset of Authority(parent) intersect declared · spec 14 laws 3/4)",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-COMP-003",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-COMP-003",
      "url": "/errors/NIKA-COMP-003",
      "status": "ratified",
      "opener": "the static call graph is not acyclic (self-launch · cycle · spec 14 law 7 · NIKA-SEC-003 is the runtime depth backstop)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-COMP-004",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-COMP-004",
      "url": "/errors/NIKA-COMP-004",
      "status": "ratified",
      "opener": "the typed call does not compose — parent args do not fit child inputs, or child outputs do not fit parent returns (spec 14 law 2)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-DAG-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-DAG-001",
      "url": "/errors/NIKA-DAG-001",
      "status": "ratified",
      "opener": "cycle in the precedence graph G_p = E_d ∪ E_c (incl. self-dependency · via with:/after:)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-DAG-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-DAG-002",
      "url": "/errors/NIKA-DAG-002",
      "status": "ratified",
      "opener": "with:/after: references an undeclared task",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-DAG-004",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-DAG-004",
      "url": "/errors/NIKA-DAG-004",
      "status": "ratified",
      "opener": "on_error.recover references a task downstream of the declaring task (await would deadlock)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-DAG-005",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-DAG-005",
      "url": "/errors/NIKA-DAG-005",
      "status": "ratified",
      "opener": "after: predicate outside the closed set (success · failure · skipped · terminal)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-DAG-006",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-DAG-006",
      "url": "/errors/NIKA-DAG-006",
      "status": "ratified",
      "opener": "statically dead task — an incoming edge's pass-set excludes every reachable producer state, or the when: gate is false under every reachable upstream combination (gate algebra v2)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-DAG-007",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-DAG-007",
      "url": "/errors/NIKA-DAG-007",
      "status": "ratified",
      "opener": "status compared against a literal outside the vocabulary (success · failure · skipped · cancelled) — == never matches, != always holds",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-DECIDE-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-DECIDE-001",
      "url": "/errors/NIKA-DECIDE-001",
      "status": "ratified",
      "opener": "the decision bundle is malformed or violates its own laws (float weight · undeclared evidence key in rules · identity key feeding a technical dimension · missing contradictory fixture · monotonicity violated by the bundle's own fixtures) (spec 11)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-DECIDE-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-DECIDE-002",
      "url": "/errors/NIKA-DECIDE-002",
      "status": "ratified",
      "opener": "the evidence snapshot does not satisfy the bundle's evidence schema (type misfit · unauthorized source · integrity below the declared floor · undeclared key) (spec 11)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-EXEC-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-EXEC-001",
      "url": "/errors/NIKA-EXEC-001",
      "status": "ratified",
      "opener": "non-zero exit code (default capture modes)",
      "meta": {
        "category": "process_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-EXEC-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-EXEC-002",
      "url": "/errors/NIKA-EXEC-002",
      "status": "ratified",
      "opener": "spawn failure (command not found · permission)",
      "meta": {
        "category": "process_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-INFER-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-INFER-001",
      "url": "/errors/NIKA-INFER-001",
      "status": "ratified",
      "opener": "provider call failed (HTTP error · provider refusal)",
      "meta": {
        "category": "provider_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-INFER-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-INFER-002",
      "url": "/errors/NIKA-INFER-002",
      "status": "ratified",
      "opener": "structured output failed schema validation (after any engine-internal retries)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-INVOKE-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-INVOKE-001",
      "url": "/errors/NIKA-INVOKE-001",
      "status": "ratified",
      "opener": "unknown tool (unresolvable nika:/mcp: id)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-INVOKE-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-INVOKE-002",
      "url": "/errors/NIKA-INVOKE-002",
      "status": "ratified",
      "opener": "tool args failed the tool's schema",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-LOCK-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-LOCK-001",
      "url": "/errors/NIKA-LOCK-001",
      "status": "ratified",
      "opener": "a dependency resolved that nika.lock does not pin, or a hand-edited lock digest does not match (pin-by-default · the lock's own hash catches the edit · spec 15)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-MCP-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-MCP-001",
      "url": "/errors/NIKA-MCP-001",
      "status": "ratified",
      "opener": "MCP server not configured / not reachable at call time",
      "meta": {
        "category": "tool_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-MCP-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-MCP-002",
      "url": "/errors/NIKA-MCP-002",
      "status": "ratified",
      "opener": "MCP tool call failed (transport · tool-side error)",
      "meta": {
        "category": "tool_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-001",
      "url": "/errors/NIKA-PARSE-001",
      "status": "ratified",
      "opener": "the YAML itself does not parse (syntax error)",
      "meta": {
        "category": "parse_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-002",
      "url": "/errors/NIKA-PARSE-002",
      "status": "ratified",
      "opener": "missing envelope field (nika: / workflow: / non-empty tasks:)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-003",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-003",
      "url": "/errors/NIKA-PARSE-003",
      "status": "ratified",
      "opener": "nika: version marker is not exactly v1",
      "meta": {
        "category": "parse_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-004",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-004",
      "url": "/errors/NIKA-PARSE-004",
      "status": "ratified",
      "opener": "workflow: id violates ^[a-z][a-z0-9-]*$",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-005",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-005",
      "url": "/errors/NIKA-PARSE-005",
      "status": "ratified",
      "opener": "unknown field — strict mode rejects anything outside the closed v1 set",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-006",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-006",
      "url": "/errors/NIKA-PARSE-006",
      "status": "ratified",
      "opener": "task id violates ^[a-z][a-z0-9_]*$ (snake_case · CEL-safe · no hyphens)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-007",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-007",
      "url": "/errors/NIKA-PARSE-007",
      "status": "ratified",
      "opener": "duplicate task id within the workflow",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-008",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-008",
      "url": "/errors/NIKA-PARSE-008",
      "status": "ratified",
      "opener": "task declares no verb — exactly one of infer/exec/invoke/agent required",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-009",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-009",
      "url": "/errors/NIKA-PARSE-009",
      "status": "ratified",
      "opener": "task declares multiple verbs — exactly one required",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-010",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-010",
      "url": "/errors/NIKA-PARSE-010",
      "status": "ratified",
      "opener": "timeout: violates the quoted Go-duration contract (positive · max 24h · descending units)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-011",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-011",
      "url": "/errors/NIKA-PARSE-011",
      "status": "ratified",
      "opener": "retry: block violates the spec shape",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-012",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-012",
      "url": "/errors/NIKA-PARSE-012",
      "status": "ratified",
      "opener": "on_error: block violates the spec shape (fields mutually exclusive)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-013",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-013",
      "url": "/errors/NIKA-PARSE-013",
      "status": "ratified",
      "opener": "with:/output: binding uses a reserved name (output · status · error · started_at · ended_at · duration_ms)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-014",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-014",
      "url": "/errors/NIKA-PARSE-014",
      "status": "ratified",
      "opener": "secrets: entry is not a store reference — inline literals forbidden",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-015",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-015",
      "url": "/errors/NIKA-PARSE-015",
      "status": "ratified",
      "opener": "typed vars: declaration malformed (type in string/number/integer/boolean/array/object)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-017",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-017",
      "url": "/errors/NIKA-PARSE-017",
      "status": "ratified",
      "opener": "duplicate mapping key — no silent last-wins",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-018",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-018",
      "url": "/errors/NIKA-PARSE-018",
      "status": "ratified",
      "opener": "missing required field in a verb body (infer.prompt · exec.command · invoke.tool)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-019",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-019",
      "url": "/errors/NIKA-PARSE-019",
      "status": "ratified",
      "opener": "generic structural validation — wrong YAML shape for a field",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-020",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-020",
      "url": "/errors/NIKA-PARSE-020",
      "status": "ratified",
      "opener": "workflow: is a scalar — the envelope became an object (workflow: then id: <value>)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-021",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-021",
      "url": "/errors/NIKA-PARSE-021",
      "status": "ratified",
      "opener": "top-level description: — it moved into workflow.description",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-022",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-022",
      "url": "/errors/NIKA-PARSE-022",
      "status": "ratified",
      "opener": "tasks: is a sequence — it became a map keyed by task id (drop `- id:`, the key IS the identity)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-023",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-023",
      "url": "/errors/NIKA-PARSE-023",
      "status": "ratified",
      "opener": "a task carries an id: field — the map key is the identity, the field is gone",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-024",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-024",
      "url": "/errors/NIKA-PARSE-024",
      "status": "ratified",
      "opener": "a task carries depends_on: — dead since W2 (data → with: bindings · control → after: predicates · check --fix migrates)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PARSE-025",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PARSE-025",
      "url": "/errors/NIKA-PARSE-025",
      "status": "ratified",
      "opener": "decode: with capture: structured — that capture already IS an object · type it with returns:",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-POLICY-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-POLICY-001",
      "url": "/errors/NIKA-POLICY-001",
      "status": "ratified",
      "opener": "a hard policy: rule is violated (require.human_gate_before · forbid.exec_after · allow.providers · limits.max_tasks) — the diagnostic names rule + task + witness (order rules: the path) · check-time, before any token (spec 10)",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PORT-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PORT-001",
      "url": "/errors/NIKA-PORT-001",
      "status": "ratified",
      "opener": "a gateway artifact (deployment bundle · capabilities report · lowering report · fidelity report · authority delta) is malformed or violates its laws (unknown promoted · permissive_unsafe without refusal · disclosure subset-chain violated · child authority exceeding parent) (spec 12)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-PORT-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-PORT-002",
      "url": "/errors/NIKA-PORT-002",
      "status": "ratified",
      "opener": "policy lowering is permissive_unsafe — the backend would allow what the policy forbids · refused with the divergence witness (spec 12)",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-SEC-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-SEC-001",
      "url": "/errors/NIKA-SEC-001",
      "status": "ratified",
      "opener": "exec: blocklist hit",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-SEC-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-SEC-002",
      "url": "/errors/NIKA-SEC-002",
      "status": "ratified",
      "opener": "agent tool call outside the tools: whitelist",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-SEC-003",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-SEC-003",
      "url": "/errors/NIKA-SEC-003",
      "status": "ratified",
      "opener": "run-recursion bound — nested-run depth exceeded OR self-launching workflow",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-SEC-004",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-SEC-004",
      "url": "/errors/NIKA-SEC-004",
      "status": "ratified",
      "opener": "effect outside the declared permits: capability boundary (fs/net/exec/tool)",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-SEC-005",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-SEC-005",
      "url": "/errors/NIKA-SEC-005",
      "status": "ratified",
      "opener": "SSRF block — a nika:fetch/nika:notify URL resolves to a loopback/private/link-local/metadata target (always-on engine floor · independent of permits:)",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-SEC-006",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-SEC-006",
      "url": "/errors/NIKA-SEC-006",
      "status": "ratified",
      "opener": "secret flow — a secrets.<name> value reaches an unsanctioned sink (exec argument · invoke payload · infer/agent prompt) · the diagnostic carries the taint path + the egress clause that would sanction it (spec 10 · flow rules in 01 §egress)",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-SEC-007",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-SEC-007",
      "url": "/errors/NIKA-SEC-007",
      "status": "ratified",
      "opener": "secret egress — a tainted value reaches the workflow boundary (outputs:) · the diagnostic carries the taint path (spec 10 · the to: outputs sanction in 01 §egress)",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-TIMEOUT-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-TIMEOUT-001",
      "url": "/errors/NIKA-TIMEOUT-001",
      "status": "ratified",
      "opener": "task (or for_each iteration) exceeded timeout:",
      "meta": {
        "category": "timeout_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-TYPE-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-TYPE-001",
      "url": "/errors/NIKA-TYPE-001",
      "status": "ratified",
      "opener": "unknown type name (in types: · returns: · an outputs: type) — did-you-mean when close",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-TYPE-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-TYPE-002",
      "url": "/errors/NIKA-TYPE-002",
      "status": "ratified",
      "opener": "recursive type reference — the types: graph must be acyclic",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-TYPE-003",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-TYPE-003",
      "url": "/errors/NIKA-TYPE-003",
      "status": "ratified",
      "opener": "returns: and schema: on the same task — one contract, one spelling",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-TYPE-004",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-TYPE-004",
      "url": "/errors/NIKA-TYPE-004",
      "status": "ratified",
      "opener": "returns: type unreachable from the declared decode: (an object contract over decode: text · …)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-TYPE-005",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-TYPE-005",
      "url": "/errors/NIKA-TYPE-005",
      "status": "ratified",
      "opener": "a secret-carrying type in a lowered position (reserved with secret<T> · W4)",
      "meta": {
        "category": "security_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-TYPE-006",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-TYPE-006",
      "url": "/errors/NIKA-TYPE-006",
      "status": "ratified",
      "opener": "regex pattern outside the locked dialect (backreference · lookaround · named group · inline flags · lazy/possessive · word-boundary · unicode-class — spec 09 §the regex dialect)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-TYPE-101",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-TYPE-101",
      "url": "/errors/NIKA-TYPE-101",
      "status": "ratified",
      "opener": "run-time contract violation — the decoded value does not fit returns: (exec:/invoke: lane)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-001",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-001",
      "url": "/errors/NIKA-VAR-001",
      "status": "ratified",
      "opener": "unresolved reference (unknown namespace entry · undeclared env/vars key)",
      "meta": {
        "category": "variable_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-002",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-002",
      "url": "/errors/NIKA-VAR-002",
      "status": "ratified",
      "opener": "binding cardinality — a jq binding emitted zero or multiple values",
      "meta": {
        "category": "variable_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-003",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-003",
      "url": "/errors/NIKA-VAR-003",
      "status": "ratified",
      "opener": "provably-invalid path into a declared schema (static walk)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-004",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-004",
      "url": "/errors/NIKA-VAR-004",
      "status": "ratified",
      "opener": "jq runtime error while evaluating a binding",
      "meta": {
        "category": "variable_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-005",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-005",
      "url": "/errors/NIKA-VAR-005",
      "status": "ratified",
      "opener": "static expression violation — outside cel-subset/0.1 · chained relation · unknown function · non-boolean when: root · jq compile error",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-006",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-006",
      "url": "/errors/NIKA-VAR-006",
      "status": "ratified",
      "opener": "expression type error at evaluation — cross-type compare · non-boolean when: value · for_each over a non-array",
      "meta": {
        "category": "variable_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-007",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-007",
      "url": "/errors/NIKA-VAR-007",
      "status": "ratified",
      "opener": "bytes value substituted into a string position",
      "meta": {
        "category": "variable_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-008",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-008",
      "url": "/errors/NIKA-VAR-008",
      "status": "ratified",
      "opener": "unclosed ${{ opener",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-009",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-009",
      "url": "/errors/NIKA-VAR-009",
      "status": "ratified",
      "opener": "typed outputs value did not match its declared type: at run end (the output half of the callable contract)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-020",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-020",
      "url": "/errors/NIKA-VAR-020",
      "status": "ratified",
      "opener": "bare tasks.X is the envelope, not a value — the projection set (.output/.status/.error/.duration_ms) is closed and required (04 §namespaces · 0.103 · #75 D2)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "code:NIKA-VAR-021",
      "kind": "member",
      "set": "error-codes",
      "layer": "refusals",
      "title": "NIKA-VAR-021",
      "url": "/errors/NIKA-VAR-021",
      "status": "ratified",
      "opener": "a tasks.* reference outside the boundary (with: · after: · on_error.recover · on_finally parent-only · workflow outputs) — hoist it into with: (check --fix applies it)",
      "meta": {
        "category": "validation_error",
        "transient": false
      }
    },
    {
      "id": "edgekind:control",
      "kind": "member",
      "set": "edge-kinds",
      "layer": "flow",
      "title": "control",
      "url": "/edges/control",
      "anchor": "edge-control",
      "own_page": true,
      "status": "ratified",
      "opener": "an after entry · carries its gate predicate"
    },
    {
      "id": "edgekind:failure-observation",
      "kind": "member",
      "set": "edge-kinds",
      "layer": "flow",
      "title": "failure-observation",
      "url": "/edges/failure-observation",
      "anchor": "edge-failure-observation",
      "own_page": true,
      "status": "ratified",
      "opener": "an error read in with · flows only when the producer failed"
    },
    {
      "id": "edgekind:finally",
      "kind": "member",
      "set": "edge-kinds",
      "layer": "flow",
      "title": "finally",
      "url": "/edges/finally",
      "anchor": "edge-finally",
      "own_page": true,
      "status": "ratified",
      "opener": "reserved · named so the enum is complete before the trace wave gives cleanup identity",
      "meta": {
        "slot": "W5"
      }
    },
    {
      "id": "edgekind:recovery",
      "kind": "member",
      "set": "edge-kinds",
      "layer": "flow",
      "title": "recovery",
      "url": "/edges/recovery",
      "anchor": "edge-recovery",
      "own_page": true,
      "status": "ratified",
      "opener": "an on_error.recover reference · a parking read, not an ordering edge"
    },
    {
      "id": "edgekind:terminal-observation",
      "kind": "member",
      "set": "edge-kinds",
      "layer": "flow",
      "title": "terminal-observation",
      "url": "/edges/terminal-observation",
      "anchor": "edge-terminal-observation",
      "own_page": true,
      "status": "ratified",
      "opener": "a status or timing read in with · settles with the producer"
    },
    {
      "id": "edgekind:value",
      "kind": "member",
      "set": "edge-kinds",
      "layer": "flow",
      "title": "value",
      "url": "/edges/value",
      "anchor": "edge-value",
      "own_page": true,
      "status": "ratified",
      "opener": "a with binding referencing a task output · carries the binding name"
    },
    {
      "id": "errcat:budget_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "budget_error",
      "url": "/error-categories/budget_error",
      "anchor": "cat-budget_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errcat:cancelled",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "cancelled",
      "url": "/error-categories/cancelled",
      "anchor": "cat-cancelled",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errcat:internal_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "internal_error",
      "url": "/error-categories/internal_error",
      "anchor": "cat-internal_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": false
      }
    },
    {
      "id": "errcat:network_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "network_error",
      "url": "/error-categories/network_error",
      "anchor": "cat-network_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": false
      }
    },
    {
      "id": "errcat:parse_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "parse_error",
      "url": "/error-categories/parse_error",
      "anchor": "cat-parse_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errcat:process_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "process_error",
      "url": "/error-categories/process_error",
      "anchor": "cat-process_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errcat:provider_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "provider_error",
      "url": "/error-categories/provider_error",
      "anchor": "cat-provider_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errcat:security_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "security_error",
      "url": "/error-categories/security_error",
      "anchor": "cat-security_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errcat:timeout_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "timeout_error",
      "url": "/error-categories/timeout_error",
      "anchor": "cat-timeout_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errcat:tool_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "tool_error",
      "url": "/error-categories/tool_error",
      "anchor": "cat-tool_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errcat:validation_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "validation_error",
      "url": "/error-categories/validation_error",
      "anchor": "cat-validation_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errcat:variable_error",
      "kind": "member",
      "set": "error-categories",
      "layer": "refusals",
      "title": "variable_error",
      "url": "/error-categories/variable_error",
      "anchor": "cat-variable_error",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-AGENT",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-AGENT",
      "url": "/error-namespaces/NIKA-AGENT",
      "anchor": "ns-NIKA-AGENT",
      "own_page": true,
      "status": "ratified",
      "opener": "agent: verb errors",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-ASSERT",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-ASSERT",
      "url": "/error-namespaces/NIKA-ASSERT",
      "anchor": "ns-NIKA-ASSERT",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-BUILTIN",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-BUILTIN",
      "url": "/error-namespaces/NIKA-BUILTIN",
      "anchor": "ns-NIKA-BUILTIN",
      "own_page": true,
      "status": "ratified",
      "opener": "Builtin tool errors · per-builtin sub-namespace",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-CANCEL",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-CANCEL",
      "url": "/error-namespaces/NIKA-CANCEL",
      "anchor": "ns-NIKA-CANCEL",
      "own_page": true,
      "status": "ratified",
      "opener": "Task or workflow cancellation",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-COMP",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-COMP",
      "url": "/error-namespaces/NIKA-COMP",
      "anchor": "ns-NIKA-COMP",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-DAG",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-DAG",
      "url": "/error-namespaces/NIKA-DAG",
      "anchor": "ns-NIKA-DAG",
      "own_page": true,
      "status": "ratified",
      "opener": "DAG topology · cycles · invalid deps",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-DECIDE",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-DECIDE",
      "url": "/error-namespaces/NIKA-DECIDE",
      "anchor": "ns-NIKA-DECIDE",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-EXEC",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-EXEC",
      "url": "/error-namespaces/NIKA-EXEC",
      "anchor": "ns-NIKA-EXEC",
      "own_page": true,
      "status": "ratified",
      "opener": "exec: verb errors",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-IMPL",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-IMPL",
      "url": "/error-namespaces/NIKA-IMPL",
      "anchor": "ns-NIKA-IMPL",
      "own_page": true,
      "status": "ratified",
      "opener": "Engine internal errors",
      "meta": {
        "witnessed": false
      }
    },
    {
      "id": "errns:NIKA-INFER",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-INFER",
      "url": "/error-namespaces/NIKA-INFER",
      "anchor": "ns-NIKA-INFER",
      "own_page": true,
      "status": "ratified",
      "opener": "infer: verb errors",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-INVOKE",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-INVOKE",
      "url": "/error-namespaces/NIKA-INVOKE",
      "anchor": "ns-NIKA-INVOKE",
      "own_page": true,
      "status": "ratified",
      "opener": "invoke: verb errors",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-LOCK",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-LOCK",
      "url": "/error-namespaces/NIKA-LOCK",
      "anchor": "ns-NIKA-LOCK",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-MCP",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-MCP",
      "url": "/error-namespaces/NIKA-MCP",
      "anchor": "ns-NIKA-MCP",
      "own_page": true,
      "status": "ratified",
      "opener": "MCP client errors",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-PARSE",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-PARSE",
      "url": "/error-namespaces/NIKA-PARSE",
      "anchor": "ns-NIKA-PARSE",
      "own_page": true,
      "status": "ratified",
      "opener": "YAML parse + envelope validation",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-POLICY",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-POLICY",
      "url": "/error-namespaces/NIKA-POLICY",
      "anchor": "ns-NIKA-POLICY",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-PORT",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-PORT",
      "url": "/error-namespaces/NIKA-PORT",
      "anchor": "ns-NIKA-PORT",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-PROVIDER",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-PROVIDER",
      "url": "/error-namespaces/NIKA-PROVIDER",
      "anchor": "ns-NIKA-PROVIDER",
      "own_page": true,
      "status": "ratified",
      "opener": "Provider adapter errors",
      "meta": {
        "witnessed": false
      }
    },
    {
      "id": "errns:NIKA-SEC",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-SEC",
      "url": "/error-namespaces/NIKA-SEC",
      "anchor": "ns-NIKA-SEC",
      "own_page": true,
      "status": "ratified",
      "opener": "Security policy violations (SSRF · blocklist)",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-TIMEOUT",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-TIMEOUT",
      "url": "/error-namespaces/NIKA-TIMEOUT",
      "anchor": "ns-NIKA-TIMEOUT",
      "own_page": true,
      "status": "ratified",
      "opener": "Task or step timeouts",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-TYPE",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-TYPE",
      "url": "/error-namespaces/NIKA-TYPE",
      "anchor": "ns-NIKA-TYPE",
      "own_page": true,
      "status": "ratified",
      "opener": null,
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "errns:NIKA-VAR",
      "kind": "member",
      "set": "error-namespaces",
      "layer": "refusals",
      "title": "NIKA-VAR",
      "url": "/error-namespaces/NIKA-VAR",
      "anchor": "ns-NIKA-VAR",
      "own_page": true,
      "status": "ratified",
      "opener": "Variable resolution failures",
      "meta": {
        "witnessed": true
      }
    },
    {
      "id": "family:core",
      "kind": "member",
      "set": "tool-families",
      "layer": "reach",
      "title": "core",
      "url": "/families/core",
      "anchor": "core",
      "own_page": true,
      "status": "shipped",
      "opener": null
    },
    {
      "id": "family:data",
      "kind": "member",
      "set": "tool-families",
      "layer": "reach",
      "title": "data",
      "url": "/families/data",
      "anchor": "data",
      "own_page": true,
      "status": "shipped",
      "opener": null
    },
    {
      "id": "family:file",
      "kind": "member",
      "set": "tool-families",
      "layer": "reach",
      "title": "file",
      "url": "/families/file",
      "anchor": "file",
      "own_page": true,
      "status": "shipped",
      "opener": null
    },
    {
      "id": "family:introspection",
      "kind": "member",
      "set": "tool-families",
      "layer": "reach",
      "title": "introspection",
      "url": "/families/introspection",
      "anchor": "introspection",
      "own_page": true,
      "status": "shipped",
      "opener": null
    },
    {
      "id": "family:media",
      "kind": "member",
      "set": "tool-families",
      "layer": "reach",
      "title": "media",
      "url": "/families/media",
      "anchor": "media",
      "own_page": true,
      "status": "shipped",
      "opener": null
    },
    {
      "id": "family:network",
      "kind": "member",
      "set": "tool-families",
      "layer": "reach",
      "title": "network",
      "url": "/families/network",
      "anchor": "network",
      "own_page": true,
      "status": "shipped",
      "opener": null
    },
    {
      "id": "layer:acts",
      "kind": "layer",
      "title": "The acts",
      "url": "/verbs",
      "status": "both",
      "opener": "A verb is a distinct native execution model: infer thinks, exec runs, invoke calls a tool, agent loops with judgment. The set is closed by design · everything callable is a tool under invoke.",
      "exists": true,
      "lands": null,
      "order": 2
    },
    {
      "id": "layer:boundary",
      "kind": "layer",
      "title": "The boundary",
      "url": "/boundary",
      "status": "both",
      "opener": "The file declares its blast radius. Permits allowlist what runs, reads, writes and calls · secrets stay masked references. Absent means the engine floor, present means default-deny.",
      "exists": true,
      "lands": null,
      "order": 4
    },
    {
      "id": "layer:flow",
      "kind": "layer",
      "title": "The flow",
      "url": "/flow",
      "status": "both",
      "opener": "Tasks link through two doors: with binds values, after orders effects. The engine reads those bindings and builds the run graph · nothing else creates an edge.",
      "exists": true,
      "lands": null,
      "order": 1
    },
    {
      "id": "layer:proof",
      "kind": "layer",
      "title": "The proof",
      "url": "/proof",
      "status": "both",
      "opener": "A run you can verify, a graph you can read. The proof layer is how Nika shows its work: the run graph, the hash-chained trace, the conformance suite that re-proves every claim.",
      "exists": true,
      "lands": null,
      "order": 6
    },
    {
      "id": "layer:reach",
      "kind": "layer",
      "title": "The reach",
      "url": "/tools",
      "status": "both",
      "opener": "Reach is what a workflow can touch: the standard library, the model providers, the routing skeletons. Every capability is named, cataloged and versioned · nothing arrives by plugin.",
      "exists": true,
      "lands": null,
      "order": 3,
      "sibling_hubs": [
        "/providers",
        "/templates"
      ]
    },
    {
      "id": "layer:refusals",
      "kind": "layer",
      "title": "The refusals",
      "url": "/errors",
      "status": "both",
      "opener": "Every refusal has a name. Errors are data: stable codes with a category, a transient flag and a documented fix shape · never prose exceptions.",
      "exists": true,
      "lands": null,
      "order": 5
    },
    {
      "id": "layer:shape",
      "kind": "layer",
      "title": "The shape",
      "url": "/language",
      "status": "both",
      "opener": "The shape layer is every word an author can type: the envelope, the task grammar, the namespaces that scope every value. If a key is not declared here, it is not Nika.",
      "exists": true,
      "lands": null,
      "order": 0
    },
    {
      "id": "level:core",
      "kind": "member",
      "set": "conformance-levels",
      "layer": "proof",
      "title": "core",
      "url": "/conformance/core",
      "anchor": "level-core",
      "own_page": true,
      "status": "ratified",
      "opener": "parse · validate · DAG · variables · typed errors · no execution"
    },
    {
      "id": "level:runtime",
      "kind": "member",
      "set": "conformance-levels",
      "layer": "proof",
      "title": "runtime",
      "url": "/conformance/runtime",
      "anchor": "level-runtime",
      "own_page": true,
      "status": "ratified",
      "opener": "executes verbs · evaluates when and for_each over run state"
    },
    {
      "id": "level:stdlib",
      "kind": "member",
      "set": "conformance-levels",
      "layer": "proof",
      "title": "stdlib",
      "url": "/conformance/stdlib",
      "anchor": "level-stdlib",
      "own_page": true,
      "status": "ratified",
      "opener": "proves the v0.1 library surface · the production default"
    },
    {
      "id": "mcp:nika_canon",
      "kind": "member",
      "set": "mcp-tools",
      "layer": "proof",
      "title": "nika_canon",
      "url": "/mcp/nika_canon",
      "anchor": "mcp-nika_canon",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mcp:nika_catalog",
      "kind": "member",
      "set": "mcp-tools",
      "layer": "proof",
      "title": "nika_catalog",
      "url": "/mcp/nika_catalog",
      "anchor": "mcp-nika_catalog",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mcp:nika_check",
      "kind": "member",
      "set": "mcp-tools",
      "layer": "proof",
      "title": "nika_check",
      "url": "/mcp/nika_check",
      "anchor": "mcp-nika_check",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mcp:nika_examples",
      "kind": "member",
      "set": "mcp-tools",
      "layer": "proof",
      "title": "nika_examples",
      "url": "/mcp/nika_examples",
      "anchor": "mcp-nika_examples",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mcp:nika_explain",
      "kind": "member",
      "set": "mcp-tools",
      "layer": "proof",
      "title": "nika_explain",
      "url": "/mcp/nika_explain",
      "anchor": "mcp-nika_explain",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mcp:nika_inspect",
      "kind": "member",
      "set": "mcp-tools",
      "layer": "proof",
      "title": "nika_inspect",
      "url": "/mcp/nika_inspect",
      "anchor": "mcp-nika_inspect",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mcp:nika_schema",
      "kind": "member",
      "set": "mcp-tools",
      "layer": "proof",
      "title": "nika_schema",
      "url": "/mcp/nika_schema",
      "anchor": "mcp-nika_schema",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mcp:nika_template",
      "kind": "member",
      "set": "mcp-tools",
      "layer": "proof",
      "title": "nika_template",
      "url": "/mcp/nika_template",
      "anchor": "mcp-nika_template",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mcp:nika_tools",
      "kind": "member",
      "set": "mcp-tools",
      "layer": "proof",
      "title": "nika_tools",
      "url": "/mcp/nika_tools",
      "anchor": "mcp-nika_tools",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mode:article",
      "kind": "member",
      "set": "extract-modes",
      "layer": "reach",
      "title": "article",
      "url": "/modes/article",
      "anchor": "mode-article",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mode:feed",
      "kind": "member",
      "set": "extract-modes",
      "layer": "reach",
      "title": "feed",
      "url": "/modes/feed",
      "anchor": "mode-feed",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mode:jq",
      "kind": "member",
      "set": "extract-modes",
      "layer": "reach",
      "title": "jq",
      "url": "/modes/jq",
      "anchor": "mode-jq",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mode:links",
      "kind": "member",
      "set": "extract-modes",
      "layer": "reach",
      "title": "links",
      "url": "/modes/links",
      "anchor": "mode-links",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mode:markdown",
      "kind": "member",
      "set": "extract-modes",
      "layer": "reach",
      "title": "markdown",
      "url": "/modes/markdown",
      "anchor": "mode-markdown",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mode:metadata",
      "kind": "member",
      "set": "extract-modes",
      "layer": "reach",
      "title": "metadata",
      "url": "/modes/metadata",
      "anchor": "mode-metadata",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mode:selector",
      "kind": "member",
      "set": "extract-modes",
      "layer": "reach",
      "title": "selector",
      "url": "/modes/selector",
      "anchor": "mode-selector",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mode:sitemap",
      "kind": "member",
      "set": "extract-modes",
      "layer": "reach",
      "title": "sitemap",
      "url": "/modes/sitemap",
      "anchor": "mode-sitemap",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "mode:text",
      "kind": "member",
      "set": "extract-modes",
      "layer": "reach",
      "title": "text",
      "url": "/modes/text",
      "anchor": "mode-text",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "ns:env",
      "kind": "member",
      "set": "namespaces",
      "layer": "shape",
      "title": "env",
      "url": "/namespaces/env",
      "anchor": "ns-env",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "ns:secrets",
      "kind": "member",
      "set": "namespaces",
      "layer": "shape",
      "title": "secrets",
      "url": "/namespaces/secrets",
      "anchor": "ns-secrets",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "ns:tasks",
      "kind": "member",
      "set": "namespaces",
      "layer": "shape",
      "title": "tasks",
      "url": "/namespaces/tasks",
      "anchor": "ns-tasks",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "ns:vars",
      "kind": "member",
      "set": "namespaces",
      "layer": "shape",
      "title": "vars",
      "url": "/namespaces/vars",
      "anchor": "ns-vars",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "ns:with",
      "kind": "member",
      "set": "namespaces",
      "layer": "shape",
      "title": "with",
      "url": "/namespaces/with",
      "anchor": "ns-with",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "permit:exec",
      "kind": "member",
      "set": "permit-families",
      "layer": "boundary",
      "title": "exec",
      "url": "/permits/exec",
      "anchor": "exec",
      "own_page": true,
      "status": "ratified",
      "opener": "which commands may run · false kills the family"
    },
    {
      "id": "permit:fs",
      "kind": "member",
      "set": "permit-families",
      "layer": "boundary",
      "title": "fs",
      "url": "/permits/fs",
      "anchor": "fs",
      "own_page": true,
      "status": "ratified",
      "opener": "read and write globs · the walk root is gated"
    },
    {
      "id": "permit:net",
      "kind": "member",
      "set": "permit-families",
      "layer": "boundary",
      "title": "net",
      "url": "/permits/net",
      "anchor": "net",
      "own_page": true,
      "status": "ratified",
      "opener": "http allowlist · the SSRF floor stays on regardless"
    },
    {
      "id": "permit:tools",
      "kind": "member",
      "set": "permit-families",
      "layer": "boundary",
      "title": "tools",
      "url": "/permits/tools",
      "anchor": "tools",
      "own_page": true,
      "status": "ratified",
      "opener": "which nika tools the file may invoke"
    },
    {
      "id": "post:anatomy-of-a-verb",
      "kind": "surface",
      "title": "Anatomy of a verb",
      "url": "/blog/anatomy-of-a-verb",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:blast-radius-in-the-file",
      "kind": "surface",
      "title": "The blast radius is part of the file",
      "url": "/blog/blast-radius-in-the-file",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:dag-for-free",
      "kind": "surface",
      "title": "The plan you get for free",
      "url": "/blog/dag-for-free",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:four-verbs",
      "kind": "surface",
      "title": "Four verbs are enough",
      "url": "/blog/four-verbs",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:injection-goes-nowhere",
      "kind": "surface",
      "title": "The prompt injection that goes nowhere",
      "url": "/blog/injection-goes-nowhere",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:intent-as-code",
      "kind": "surface",
      "title": "Intent as Code: why your AI work should be a file",
      "url": "/blog/intent-as-code",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:media-are-workflow-citizens",
      "kind": "surface",
      "title": "Media are workflow citizens",
      "url": "/blog/media-are-workflow-citizens",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:one-wire-five-servers",
      "kind": "surface",
      "title": "One wire, five servers",
      "url": "/blog/one-wire-five-servers",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:standard-library-not-plugin-store",
      "kind": "surface",
      "title": "A standard library, not a plugin store",
      "url": "/blog/standard-library-not-plugin-store",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:the-agent-workflow-spectrum",
      "kind": "surface",
      "title": "The agent workflow spectrum",
      "url": "/blog/the-agent-workflow-spectrum",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:the-editor-tells-the-truth",
      "kind": "surface",
      "title": "The editor tells the truth",
      "url": "/blog/the-editor-tells-the-truth",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:the-generative-workflow",
      "kind": "surface",
      "title": "The generative ai workflow, minus the mystery",
      "url": "/blog/the-generative-workflow",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:the-mcp-server-you-didnt-build",
      "kind": "surface",
      "title": "The MCP server you didn't have to build",
      "url": "/blog/the-mcp-server-you-didnt-build",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:the-one-task-rerun",
      "kind": "surface",
      "title": "The one-task re-run",
      "url": "/blog/the-one-task-rerun",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:the-pipeline-is-a-file",
      "kind": "surface",
      "title": "The pipeline is a file",
      "url": "/blog/the-pipeline-is-a-file",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:the-run-that-waits",
      "kind": "surface",
      "title": "The run that waits for you",
      "url": "/blog/the-run-that-waits",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:the-secrets-line",
      "kind": "surface",
      "title": "The secrets line",
      "url": "/blog/the-secrets-line",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:the-trace-you-can-replay",
      "kind": "surface",
      "title": "The trace you can replay",
      "url": "/blog/the-trace-you-can-replay",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "post:written-by-agents",
      "kind": "surface",
      "title": "Written by agents, reviewed by you",
      "url": "/blog/written-by-agents",
      "status": "both",
      "opener": null,
      "exists": true
    },
    {
      "id": "predicate:failure",
      "kind": "member",
      "set": "gate-predicates",
      "layer": "flow",
      "title": "failure",
      "url": "/predicates/failure",
      "anchor": "predicate-failure",
      "own_page": true,
      "status": "ratified",
      "opener": "fire when the producer failed terminally"
    },
    {
      "id": "predicate:skipped",
      "kind": "member",
      "set": "gate-predicates",
      "layer": "flow",
      "title": "skipped",
      "url": "/predicates/skipped",
      "anchor": "predicate-skipped",
      "own_page": true,
      "status": "ratified",
      "opener": "fire when the producer was gated out"
    },
    {
      "id": "predicate:success",
      "kind": "member",
      "set": "gate-predicates",
      "layer": "flow",
      "title": "success",
      "url": "/predicates/success",
      "anchor": "predicate-success",
      "own_page": true,
      "status": "ratified",
      "opener": "fire when the producer completed clean"
    },
    {
      "id": "predicate:terminal",
      "kind": "member",
      "set": "gate-predicates",
      "layer": "flow",
      "title": "terminal",
      "url": "/predicates/terminal",
      "anchor": "predicate-terminal",
      "own_page": true,
      "status": "ratified",
      "opener": "fire when the producer reached any terminal state"
    },
    {
      "id": "provider:anthropic",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "Anthropic Claude",
      "url": "/providers/anthropic",
      "anchor": "anthropic",
      "own_page": true,
      "status": "both",
      "opener": "Claude models (Opus, Sonnet, Haiku).",
      "meta": {
        "kind": "cloud",
        "dialect": "anthropic"
      }
    },
    {
      "id": "provider:deepseek",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "DeepSeek",
      "url": "/providers/deepseek",
      "anchor": "deepseek",
      "own_page": true,
      "status": "both",
      "opener": "DeepSeek Chat and Coder models.",
      "meta": {
        "kind": "cloud",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:gemini",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "Google Gemini",
      "url": "/providers/gemini",
      "anchor": "gemini",
      "own_page": true,
      "status": "both",
      "opener": "Gemini Pro, Flash, and Ultra models.",
      "meta": {
        "kind": "cloud",
        "dialect": "gemini"
      }
    },
    {
      "id": "provider:groq",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "Groq",
      "url": "/providers/groq",
      "anchor": "groq",
      "own_page": true,
      "status": "both",
      "opener": "Fast inference with Llama, Mixtral models.",
      "meta": {
        "kind": "cloud",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:huggingface",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "Hugging Face",
      "url": "/providers/huggingface",
      "anchor": "huggingface",
      "own_page": true,
      "status": "both",
      "opener": "Inference Providers router · 100+ open-weight models across 18 providers (Groq · Cerebras · Together · Scaleway · OVHcloud · …) · zero markup · :provider or :fastest/:cheapest routing suffix.",
      "meta": {
        "kind": "cloud",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:llamacpp",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "llama.cpp",
      "url": "/providers/llamacpp",
      "anchor": "llamacpp",
      "own_page": true,
      "status": "both",
      "opener": "llama.cpp server (default port 8080) — serves the loaded GGUF; the wire model id is free-form.",
      "meta": {
        "kind": "local",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:lmstudio",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "LM Studio",
      "url": "/providers/lmstudio",
      "anchor": "lmstudio",
      "own_page": true,
      "status": "both",
      "opener": "LM Studio local server (default port 1234) — serves the loaded model.",
      "meta": {
        "kind": "local",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:localai",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "LocalAI",
      "url": "/providers/localai",
      "anchor": "localai",
      "own_page": true,
      "status": "both",
      "opener": "LocalAI server (default port 8080) — an OpenAI-compatible gateway over local backends.",
      "meta": {
        "kind": "local",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:mistral",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "Mistral AI",
      "url": "/providers/mistral",
      "anchor": "mistral",
      "own_page": true,
      "status": "both",
      "opener": "Mistral Large, Medium, Small models.",
      "meta": {
        "kind": "cloud",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:mock",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "Mock",
      "url": "/providers/mock",
      "anchor": "mock",
      "own_page": true,
      "status": "both",
      "opener": "Deterministic test responses — no API calls, no keys needed.",
      "meta": {
        "kind": "test",
        "dialect": "mock"
      }
    },
    {
      "id": "provider:moonshot",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "Moonshot (Kimi)",
      "url": "/providers/moonshot",
      "anchor": "moonshot",
      "own_page": true,
      "status": "both",
      "opener": "Moonshot AI — Kimi K2, K2.5 (international endpoint api.moonshot.ai/v1). rig-core native provider.",
      "meta": {
        "kind": "cloud",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:nvidia",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "NVIDIA",
      "url": "/providers/nvidia",
      "anchor": "nvidia",
      "own_page": true,
      "status": "both",
      "opener": "NVIDIA API (integrate.api.nvidia.com) · Nemotron 3 family (Open Model License · agentic-first) + hosted open models · self-hosted NIM containers expose the same surface.",
      "meta": {
        "kind": "cloud",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:ollama",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "Ollama",
      "url": "/providers/ollama",
      "anchor": "ollama",
      "own_page": true,
      "status": "both",
      "opener": "Local Ollama server (default port 11434) — serves any pulled model.",
      "meta": {
        "kind": "local",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:openai",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "OpenAI",
      "url": "/providers/openai",
      "anchor": "openai",
      "own_page": true,
      "status": "both",
      "opener": "GPT-5.x, the o-series, and other OpenAI models.",
      "meta": {
        "kind": "cloud",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:openrouter",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "OpenRouter",
      "url": "/providers/openrouter",
      "anchor": "openrouter",
      "own_page": true,
      "status": "both",
      "opener": "200+ models via unified gateway.",
      "meta": {
        "kind": "cloud",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:vllm",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "vLLM",
      "url": "/providers/vllm",
      "anchor": "vllm",
      "own_page": true,
      "status": "both",
      "opener": "vLLM server (default port 8000) — serves Hugging Face model ids at throughput.",
      "meta": {
        "kind": "local",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "provider:xai",
      "kind": "member",
      "set": "providers",
      "layer": "reach",
      "title": "xAI Grok",
      "url": "/providers/xai",
      "anchor": "xai",
      "own_page": true,
      "status": "both",
      "opener": "Grok models (Grok-3, Grok-4).",
      "meta": {
        "kind": "cloud",
        "dialect": "openai-chat"
      }
    },
    {
      "id": "secret:env",
      "kind": "member",
      "set": "secret-sources",
      "layer": "boundary",
      "title": "env",
      "url": "/secrets/env",
      "anchor": "secret-env",
      "own_page": true,
      "status": "ratified",
      "opener": "read from the environment at run time"
    },
    {
      "id": "secret:file",
      "kind": "member",
      "set": "secret-sources",
      "layer": "boundary",
      "title": "file",
      "url": "/secrets/file",
      "anchor": "secret-file",
      "own_page": true,
      "status": "ratified",
      "opener": "read from a path the boundary allows"
    },
    {
      "id": "secret:vault",
      "kind": "member",
      "set": "secret-sources",
      "layer": "boundary",
      "title": "vault",
      "url": "/secrets/vault",
      "anchor": "secret-vault",
      "own_page": true,
      "status": "ratified",
      "opener": "the OS keychain backend · the default posture"
    },
    {
      "id": "set:builtins",
      "kind": "set",
      "layer": "reach",
      "title": "The standard library",
      "url": "/tools/:bare",
      "status": "ratified",
      "opener": "Every nika tool the engine ships, each with a JSON Schema for its args. No plugin store · capability is versioned with the engine and granted per file by the boundary.",
      "closed": false,
      "counted_in_canon": true,
      "surface": "rooms",
      "clock": "both",
      "page_exists": true
    },
    {
      "id": "set:conformance-levels",
      "kind": "set",
      "layer": "proof",
      "title": "The conformance levels",
      "url": "/proof",
      "status": "ratified",
      "opener": "Conformance nests: core parses and validates, runtime executes, stdlib proves the library. A higher level includes every lower one · the fixtures are the contract, not the prose.",
      "closed": true,
      "counted_in_canon": false,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": true
    },
    {
      "id": "set:edge-kinds",
      "kind": "set",
      "layer": "flow",
      "title": "The edge kinds",
      "url": "/flow",
      "status": "ratified",
      "opener": "The run graph speaks a closed set of edge kinds: value bindings, the two observations, control, recovery and the reserved finally. Unknown kinds are reader-tolerated by law · new ones arrive with the spec.",
      "closed": true,
      "counted_in_canon": false,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": true
    },
    {
      "id": "set:error-categories",
      "kind": "set",
      "layer": "refusals",
      "title": "The error categories",
      "url": "/errors",
      "status": "ratified",
      "opener": "A category names the kind of failure, orthogonal to the namespace that raised it. Transient categories are retry candidates · the rest are contract refusals that no retry will fix.",
      "closed": false,
      "counted_in_canon": true,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": false
    },
    {
      "id": "set:error-codes",
      "kind": "set",
      "layer": "refusals",
      "title": "The error codes",
      "url": "/errors/:code",
      "status": "ratified",
      "opener": "Every failure the engine can name, as data: a stable code with a category and a transient flag. If the engine can refuse it, the refusal has a name you can retry on, route on and search.",
      "closed": false,
      "counted_in_canon": true,
      "surface": "rooms",
      "clock": "spec",
      "page_exists": true
    },
    {
      "id": "set:error-namespaces",
      "kind": "set",
      "layer": "refusals",
      "title": "The error namespaces",
      "url": "/errors",
      "status": "ratified",
      "opener": "Codes group by namespace, one per surface of the engine: parse, DAG, variables, security, each verb and the machine seams. A namespace can exist before its first code ships · the register says so out loud.",
      "closed": false,
      "counted_in_canon": true,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": false
    },
    {
      "id": "set:extract-modes",
      "kind": "set",
      "layer": "reach",
      "title": "The extract modes",
      "url": "/tools/fetch",
      "status": "ratified",
      "opener": "nika fetch extracts structure, not just bytes. Each mode is a named contract with a defined output shape · the modes anchor inside the fetch room because that is where an author meets them.",
      "closed": false,
      "counted_in_canon": true,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": true
    },
    {
      "id": "set:gate-predicates",
      "kind": "set",
      "layer": "flow",
      "title": "The gate predicates",
      "url": "/flow",
      "status": "ratified",
      "opener": "An after entry gates on producer state: succeeded, failed, skipped or terminal. The full producer-status by predicate matrix is fixture-proven upstream · the site replays it, never re-derives it.",
      "closed": true,
      "counted_in_canon": false,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": true
    },
    {
      "id": "set:mcp-tools",
      "kind": "set",
      "layer": "proof",
      "title": "The oracle tools",
      "url": "/proof",
      "status": "ratified",
      "opener": "The read-only oracle an agent loads: check, explain, schema, examples and the rest of the register. The same truth the CLI speaks, served over MCP · nothing here mutates anything.",
      "closed": false,
      "counted_in_canon": true,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": true
    },
    {
      "id": "set:namespaces",
      "kind": "set",
      "layer": "shape",
      "title": "The namespaces",
      "url": "/language",
      "status": "ratified",
      "opener": "Each namespace scopes where a value lives and who may read it: vars for inputs, with for bindings, tasks for outputs, env and secrets for the boundary. The boundary law is four sentences and it is the whole story.",
      "closed": true,
      "counted_in_canon": true,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": false
    },
    {
      "id": "set:permit-families",
      "kind": "set",
      "layer": "boundary",
      "title": "The permit families",
      "url": "/boundary",
      "status": "ratified",
      "opener": "Permits fence a run by family: exec for processes, fs for reads and writes, net for the wire, tools for the library. Absent means the engine floor · present means default-deny.",
      "closed": true,
      "counted_in_canon": false,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": true
    },
    {
      "id": "set:providers",
      "kind": "set",
      "layer": "reach",
      "title": "The providers",
      "url": "/providers",
      "status": "shipped",
      "opener": "Model access is provider-agnostic and local-first: the same file runs on a laptop runtime or a cloud API. Each provider declares its env var, its dialect and its models · the file picks, never the vendor.",
      "closed": false,
      "counted_in_canon": true,
      "surface": "anchors",
      "clock": "release",
      "page_exists": true,
      "anchors_exist": true
    },
    {
      "id": "set:secret-sources",
      "kind": "set",
      "layer": "boundary",
      "title": "The secret sources",
      "url": "/boundary",
      "status": "ratified",
      "opener": "A secret is a masked reference, never a literal: it resolves from vault, env or file at run time and stays masked in every log and every trace the run leaves behind.",
      "closed": true,
      "counted_in_canon": false,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": true
    },
    {
      "id": "set:showcases",
      "kind": "set",
      "layer": "proof",
      "title": "The showcases",
      "url": "/use-cases/:slug",
      "status": "ratified",
      "opener": "Real workflows, whole files: each showcase passes the spec conformance gate and ships with its graph. This is the language at work on real jobs, not a demo reel.",
      "closed": false,
      "counted_in_canon": false,
      "surface": "rooms",
      "clock": "spec",
      "page_exists": true
    },
    {
      "id": "set:templates",
      "kind": "set",
      "layer": "reach",
      "title": "The templates",
      "url": "/templates/:name",
      "status": "ratified",
      "opener": "Routing skeletons for real work: each template is sha-pinned, conformance-checked and grants exactly the tools it needs. Copy one and the provenance travels with it.",
      "closed": false,
      "counted_in_canon": true,
      "surface": "rooms",
      "clock": "spec",
      "page_exists": true
    },
    {
      "id": "set:tool-families",
      "kind": "set",
      "layer": "reach",
      "title": "The tool families",
      "url": "/tools",
      "status": "shipped",
      "opener": "The library groups by intent: core, file, data, introspection, network, media. Families are anchors on the hub · each lists its members with their one-line contracts.",
      "closed": false,
      "counted_in_canon": false,
      "surface": "anchors",
      "clock": "release",
      "page_exists": true,
      "anchors_exist": false
    },
    {
      "id": "set:truth-words",
      "kind": "set",
      "layer": "proof",
      "title": "The truth words",
      "url": "/sources",
      "status": "ratified",
      "opener": "The vocabulary of how this site tells the truth: spec, canon, schema, pack, pin, catalog, mirror, registry, manifest, atlas. Each word has exactly one meaning · confusing two of them is a prose bug.",
      "closed": false,
      "counted_in_canon": false,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": true
    },
    {
      "id": "set:types",
      "kind": "set",
      "layer": "shape",
      "title": "The types",
      "url": "/language",
      "status": "ratified",
      "opener": "Typed contracts for task outputs: types, returns, decode. Ratified with the types wave · this surface fills when the resync brings it.",
      "closed": false,
      "counted_in_canon": false,
      "surface": "anchors",
      "clock": "spec",
      "page_exists": true,
      "anchors_exist": false
    },
    {
      "id": "set:verbs",
      "kind": "set",
      "layer": "acts",
      "title": "The four verbs",
      "url": "/verbs/:name",
      "status": "ratified",
      "opener": "infer thinks, exec runs, invoke calls a tool, agent loops with judgment. A verb is a distinct native execution model and the set is closed · everything callable is a tool under invoke.",
      "closed": true,
      "counted_in_canon": true,
      "surface": "rooms",
      "clock": "spec",
      "page_exists": true
    },
    {
      "id": "set:words",
      "kind": "set",
      "layer": "shape",
      "title": "The language words",
      "url": "/language/:word",
      "status": "ratified",
      "opener": "Every key an author can type in a workflow file, each scoped to the surface where it speaks. The schema declares them · the register lists them all · each room shows the word at work.",
      "closed": false,
      "counted_in_canon": false,
      "surface": "rooms",
      "clock": "spec",
      "page_exists": true
    },
    {
      "id": "showcase:t1-image-fx-batch",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "image-fx-batch",
      "url": "/use-cases/t1-image-fx-batch",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "1",
        "waves": 2
      }
    },
    {
      "id": "showcase:t1-meeting-actions",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "meeting-actions",
      "url": "/use-cases/t1-meeting-actions",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "1",
        "waves": 3
      }
    },
    {
      "id": "showcase:t1-og-images",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "og-images",
      "url": "/use-cases/t1-og-images",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "1",
        "waves": 1
      }
    },
    {
      "id": "showcase:t1-price-watch",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "price-watch",
      "url": "/use-cases/t1-price-watch",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "1",
        "waves": 2
      }
    },
    {
      "id": "showcase:t1-social-repurpose",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "social-repurpose",
      "url": "/use-cases/t1-social-repurpose",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "1",
        "waves": 3
      }
    },
    {
      "id": "showcase:t1-standup-digest",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "standup-digest",
      "url": "/use-cases/t1-standup-digest",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "1",
        "waves": 3
      }
    },
    {
      "id": "showcase:t2-bookmark-triage",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "bookmark-triage",
      "url": "/use-cases/t2-bookmark-triage",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 3
      }
    },
    {
      "id": "showcase:t2-contract-guard",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "contract-guard",
      "url": "/use-cases/t2-contract-guard",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 6
      }
    },
    {
      "id": "showcase:t2-csv-chart-report",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "csv-chart-report",
      "url": "/use-cases/t2-csv-chart-report",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 5
      }
    },
    {
      "id": "showcase:t2-etl-quarantine",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "etl-quarantine",
      "url": "/use-cases/t2-etl-quarantine",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 5
      }
    },
    {
      "id": "showcase:t2-invoice-chaser",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "invoice-chaser",
      "url": "/use-cases/t2-invoice-chaser",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 6
      }
    },
    {
      "id": "showcase:t2-model-bench",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "model-bench",
      "url": "/use-cases/t2-model-bench",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 3
      }
    },
    {
      "id": "showcase:t2-release-notes",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "release-notes",
      "url": "/use-cases/t2-release-notes",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 4
      }
    },
    {
      "id": "showcase:t2-release-radar",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "release-radar",
      "url": "/use-cases/t2-release-radar",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 3
      }
    },
    {
      "id": "showcase:t2-seo-content-brief",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "seo-content-brief",
      "url": "/use-cases/t2-seo-content-brief",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 4
      }
    },
    {
      "id": "showcase:t2-support-triage",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "support-triage",
      "url": "/use-cases/t2-support-triage",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 4
      }
    },
    {
      "id": "showcase:t2-transcript-shownotes",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "transcript-shownotes",
      "url": "/use-cases/t2-transcript-shownotes",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "2",
        "waves": 4
      }
    },
    {
      "id": "showcase:t3-competitor-radar",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "competitor-radar",
      "url": "/use-cases/t3-competitor-radar",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "3",
        "waves": 5
      }
    },
    {
      "id": "showcase:t3-config-drift-sentinel",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "config-drift-sentinel",
      "url": "/use-cases/t3-config-drift-sentinel",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "3",
        "waves": 5
      }
    },
    {
      "id": "showcase:t3-localization-factory",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "localization-factory",
      "url": "/use-cases/t3-localization-factory",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "3",
        "waves": 6
      }
    },
    {
      "id": "showcase:t3-pr-review-fanout",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "pr-review-fanout",
      "url": "/use-cases/t3-pr-review-fanout",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "3",
        "waves": 6
      }
    },
    {
      "id": "showcase:t3-resume-screener",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "resume-screener",
      "url": "/use-cases/t3-resume-screener",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "3",
        "waves": 8
      }
    },
    {
      "id": "showcase:t4-ceo-monday-brief",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "ceo-monday-brief",
      "url": "/use-cases/t4-ceo-monday-brief",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "4",
        "waves": 7
      }
    },
    {
      "id": "showcase:t4-deep-research-brief",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "deep-research-brief",
      "url": "/use-cases/t4-deep-research-brief",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "4",
        "waves": 4
      }
    },
    {
      "id": "showcase:t4-incident-war-room",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "incident-war-room",
      "url": "/use-cases/t4-incident-war-room",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "4",
        "waves": 8
      }
    },
    {
      "id": "showcase:t4-release-train",
      "kind": "member",
      "set": "showcases",
      "layer": "proof",
      "title": "release-train",
      "url": "/use-cases/t4-release-train",
      "status": "ratified",
      "opener": null,
      "meta": {
        "tier": "4",
        "waves": 10
      }
    },
    {
      "id": "surface:home",
      "kind": "surface",
      "title": "Home",
      "url": "/",
      "status": "both",
      "opener": null,
      "exists": true,
      "lands": null
    },
    {
      "id": "surface:map",
      "kind": "surface",
      "title": "The map",
      "url": "/map",
      "status": "both",
      "opener": null,
      "exists": true,
      "lands": null
    },
    {
      "id": "surface:sitemap-legacy",
      "kind": "surface",
      "title": "sitemap-legacy",
      "url": "/sitemap",
      "status": "both",
      "opener": null,
      "exists": true,
      "lands": null
    },
    {
      "id": "surface:sources",
      "kind": "surface",
      "title": "Sources",
      "url": "/sources",
      "status": "both",
      "opener": null,
      "exists": true,
      "lands": null
    },
    {
      "id": "surface:spec-lens",
      "kind": "surface",
      "title": "The spec at a glance",
      "url": "/spec",
      "status": "both",
      "opener": null,
      "exists": true,
      "lands": null
    },
    {
      "id": "template:agent-loop",
      "kind": "member",
      "set": "templates",
      "layer": "reach",
      "title": "agent-loop",
      "url": "/templates/agent-loop",
      "status": "ratified",
      "opener": "research / review / open-ended",
      "meta": {
        "sha256": "2e5b88c626e8e0e49673117bbcb4551abc2f7434870feb4df7db1faae7f28e0c",
        "file": "agent-loop.nika.yaml"
      }
    },
    {
      "id": "template:api-upload-and-create",
      "kind": "member",
      "set": "templates",
      "layer": "reach",
      "title": "api-upload-and-create",
      "url": "/templates/api-upload-and-create",
      "status": "ratified",
      "opener": "call a product API: upload a file, then create from it",
      "meta": {
        "sha256": "0dae4b9b7a4f9fcd6b1038a5452f776148549468fd8ea1408fff224599709ea2",
        "file": "api-upload-and-create.nika.yaml"
      }
    },
    {
      "id": "template:chain",
      "kind": "member",
      "set": "templates",
      "layer": "reach",
      "title": "chain",
      "url": "/templates/chain",
      "status": "ratified",
      "opener": "take data, produce words, save them",
      "meta": {
        "sha256": "ca7eb26a65f73c352cb41c0d2753cfd1fe38beb7eb5452b235f7a3afbbce1be6",
        "file": "chain.nika.yaml"
      }
    },
    {
      "id": "template:docker-report",
      "kind": "member",
      "set": "templates",
      "layer": "reach",
      "title": "docker-report",
      "url": "/templates/docker-report",
      "status": "ratified",
      "opener": "read a system's state (docker · kubectl · gh), explain it, keep the report",
      "meta": {
        "sha256": "8f2281ce8c816fc508c608a8a7ef0b61645923f6d7be3d0640af68d4f5da1d44",
        "file": "docker-report.nika.yaml"
      }
    },
    {
      "id": "template:etl-state",
      "kind": "member",
      "set": "templates",
      "layer": "reach",
      "title": "etl-state",
      "url": "/templates/etl-state",
      "status": "ratified",
      "opener": "only what changed since last run · survive bad input",
      "meta": {
        "sha256": "d131a9011228bdce981210dedc980b98d409aead1c1d297aa34530a97d5fd47c",
        "file": "etl-state.nika.yaml"
      }
    },
    {
      "id": "template:fanout",
      "kind": "member",
      "set": "templates",
      "layer": "reach",
      "title": "fanout",
      "url": "/templates/fanout",
      "status": "ratified",
      "opener": "do this for EVERY item",
      "meta": {
        "sha256": "b468ab46eeccf19431f30666ebee95fcfcccd03504f817593fe4f5ea5f752e9f",
        "file": "fanout.nika.yaml"
      }
    },
    {
      "id": "template:gate-and-act",
      "kind": "member",
      "set": "templates",
      "layer": "reach",
      "title": "gate-and-act",
      "url": "/templates/gate-and-act",
      "status": "ratified",
      "opener": "watch X, act when Y",
      "meta": {
        "sha256": "33358d359b925aacd188df6012dcff68a03f3d4c393eb200620d1611a3e128ae",
        "file": "gate-and-act.nika.yaml"
      }
    },
    {
      "id": "template:human-gated-ship",
      "kind": "member",
      "set": "templates",
      "layer": "reach",
      "title": "human-gated-ship",
      "url": "/templates/human-gated-ship",
      "status": "ratified",
      "opener": "anything irreversible (deploy · send · publish)",
      "meta": {
        "sha256": "fde57f64917c0d1727557314043a4ba03f8920caef16e5250fc7fa3ddcf308e5",
        "file": "human-gated-ship.nika.yaml"
      }
    },
    {
      "id": "template:media-asset-pack",
      "kind": "member",
      "set": "templates",
      "layer": "reach",
      "title": "media-asset-pack",
      "url": "/templates/media-asset-pack",
      "status": "ratified",
      "opener": "generate image/audio assets from a brief",
      "meta": {
        "sha256": "cb3b911c4b726944c0fc53b1db07655148b3357bac0c5ab0683b563b05710b88",
        "file": "media-asset-pack.nika.yaml"
      }
    },
    {
      "id": "template:website-brief",
      "kind": "member",
      "set": "templates",
      "layer": "reach",
      "title": "website-brief",
      "url": "/templates/website-brief",
      "status": "ratified",
      "opener": "understand a site (domain · theme · assets) from a URL",
      "meta": {
        "sha256": "e272f97ca1e4186f1610c7299009025390412906196bc49cec375f2173022156",
        "file": "website-brief.nika.yaml"
      }
    },
    {
      "id": "tool:assert",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:assert",
      "url": "/tools/assert",
      "status": "both",
      "opener": "Fail-fast guard: fail the task when condition is false (else no-op).",
      "meta": {
        "family": "core"
      }
    },
    {
      "id": "tool:chart",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:chart",
      "url": "/tools/chart",
      "status": "both",
      "opener": "Render a DETERMINISTIC chart artifact from rows + a semantic spec (bar | line | area_band | scatter | heatmap) — byte-identical SVG saved at `out`, sha256 in outputs (the trace-chain receipt) · optional Vega-Lite sibling via compile_to. Pure compute + one permit-gated write: no network, no clock, re-runs are idempotent.",
      "meta": {
        "family": "media"
      }
    },
    {
      "id": "tool:compose",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:compose",
      "url": "/tools/compose",
      "status": "both",
      "opener": "Statically check a Nika workflow draft you wrote · returns the full `nika check` verdict as JSON (conformance + secret-flow + permits + the termination/cost certificate) · NEVER executes it. Iterate until valid, then deliver the draft. Agent loops only.",
      "meta": {
        "family": "introspection"
      }
    },
    {
      "id": "tool:convert",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:convert",
      "url": "/tools/convert",
      "status": "both",
      "opener": "Convert between json·yaml·toml·csv (from/to · identity rejected).",
      "meta": {
        "family": "data"
      }
    },
    {
      "id": "tool:date",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:date",
      "url": "/tools/date",
      "status": "both",
      "opener": "Timestamp arithmetic · op-discriminated (now|add|subtract|format|parse|diff) · strftime grammar · ISO 8601 out.",
      "meta": {
        "family": "data"
      }
    },
    {
      "id": "tool:decide",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:decide",
      "url": "/tools/decide",
      "status": "both",
      "opener": "Deterministic decision kernel (spec 11) · evaluates a portable Decision Bundle against an EvidenceSnapshot · returns the full receipt (outcome · term-by-term contributions · intervals · conflicts+witnesses · determination provenance). The LLM never decides — collect facts first, then apply the rubric here.",
      "meta": {
        "family": "data"
      }
    },
    {
      "id": "tool:done",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:done",
      "url": "/tools/done",
      "status": "both",
      "opener": "Mark the current agent loop complete (the loop-completion sentinel · agent loops only).",
      "meta": {
        "family": "core"
      }
    },
    {
      "id": "tool:edit",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:edit",
      "url": "/tools/edit",
      "status": "both",
      "opener": "In-place literal find/replace (all occurrences · count caps it). NOT regex.",
      "meta": {
        "family": "file"
      }
    },
    {
      "id": "tool:emit",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:emit",
      "url": "/tools/emit",
      "status": "both",
      "opener": "Emit a custom machine event for subscribers/journal (distinct from log).",
      "meta": {
        "family": "core"
      }
    },
    {
      "id": "tool:fetch",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:fetch",
      "url": "/tools/fetch",
      "status": "both",
      "opener": "HTTP request + content extraction · returns the extracted body (non-2xx is an error). SSRF-defended.",
      "meta": {
        "family": "network"
      }
    },
    {
      "id": "tool:glob",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:glob",
      "url": "/tools/glob",
      "status": "both",
      "opener": "Glob match · returns paths sorted lexicographically.",
      "meta": {
        "family": "file"
      }
    },
    {
      "id": "tool:grep",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:grep",
      "url": "/tools/grep",
      "status": "both",
      "opener": "Recursive regex search · returns {path,line,match} sorted by (path,line).",
      "meta": {
        "family": "file"
      }
    },
    {
      "id": "tool:hash",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:hash",
      "url": "/tools/hash",
      "status": "both",
      "opener": "Content hashing · blake3 (default) | sha256 | sha512 · hex (default) or base64.",
      "meta": {
        "family": "data"
      }
    },
    {
      "id": "tool:image_fx",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:image_fx",
      "url": "/tools/image_fx",
      "status": "both",
      "opener": "Apply deterministic artistic effects to a PNG (dither · palette · duotone · pixelate · halftone · grain · vignette · chromatic_aberration · scanlines · glitch · ascii) — byte-identical forever for identical input+args; the recipe rides the artifact (tEXt) and outputs carry path + sha256, bytes never inline.",
      "meta": {
        "family": "media"
      }
    },
    {
      "id": "tool:image_generate",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:image_generate",
      "url": "/tools/image_generate",
      "status": "both",
      "opener": "Generate image assets (local compat servers · openai gpt-image-2 · gemini gemini-3.1-flash-image · xai grok-imagine-image · mock for offline runs) — saves files under output_dir and returns paths + dimensions + sha256 (+ a provenance manifest); image bytes never ride outputs.",
      "meta": {
        "family": "media"
      }
    },
    {
      "id": "tool:inspect",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:inspect",
      "url": "/tools/inspect",
      "status": "both",
      "opener": "Introspect the running workflow · view: cost | records | dag_info | threads.",
      "meta": {
        "family": "introspection"
      }
    },
    {
      "id": "tool:jq",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:jq",
      "url": "/tools/jq",
      "status": "both",
      "opener": "Run a jq expression over input · THE data-transform language (map·filter·select·reshape). Emits exactly one value.",
      "meta": {
        "family": "data"
      }
    },
    {
      "id": "tool:json_diff",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:json_diff",
      "url": "/tools/json_diff",
      "status": "both",
      "opener": "JSON diff · returns an RFC 6902 JSON Patch.",
      "meta": {
        "family": "data"
      }
    },
    {
      "id": "tool:json_merge_patch",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:json_merge_patch",
      "url": "/tools/json_merge_patch",
      "status": "both",
      "opener": "RFC 7396 merge patch (null deletes a key) over a target object.",
      "meta": {
        "family": "data"
      }
    },
    {
      "id": "tool:log",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:log",
      "url": "/tools/log",
      "status": "both",
      "opener": "Emit a human-readable diagnostic log line to the run stream (best-effort · never fails).",
      "meta": {
        "family": "core"
      }
    },
    {
      "id": "tool:notify",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:notify",
      "url": "/tools/notify",
      "status": "both",
      "opener": "Send a notification · v0.1 engines support the webhook channel.",
      "meta": {
        "family": "network"
      }
    },
    {
      "id": "tool:prompt",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:prompt",
      "url": "/tools/prompt",
      "status": "both",
      "opener": "Ask a human (confirm|input|choice). Blocks until answered; uses default when headless.",
      "meta": {
        "family": "core"
      }
    },
    {
      "id": "tool:read",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:read",
      "url": "/tools/read",
      "status": "both",
      "opener": "Read a file · returns its text (or opaque bytes with binary: true).",
      "meta": {
        "family": "file"
      }
    },
    {
      "id": "tool:tts_generate",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:tts_generate",
      "url": "/tools/tts_generate",
      "status": "both",
      "opener": "Synthesize speech audio (local compat servers · openai gpt-4o-mini-tts · elevenlabs · mock for offline runs) — saves ONE audio file under output_dir and returns path + format + sha256 + duration (+ a provenance manifest); audio bytes never ride outputs.",
      "meta": {
        "family": "media"
      }
    },
    {
      "id": "tool:uuid",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:uuid",
      "url": "/tools/uuid",
      "status": "both",
      "opener": "Generate a UUID · v7 (default · sortable) or v4 (random).",
      "meta": {
        "family": "data"
      }
    },
    {
      "id": "tool:validate",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:validate",
      "url": "/tools/validate",
      "status": "both",
      "opener": "Validate data against a JSON Schema · returns {valid, errors} (invalid data is a report, not a failure).",
      "meta": {
        "family": "data"
      }
    },
    {
      "id": "tool:wait",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:wait",
      "url": "/tools/wait",
      "status": "both",
      "opener": "Pause: relative duration (e.g. \"30s\") XOR absolute until (ISO 8601). Exactly one.",
      "meta": {
        "family": "core"
      }
    },
    {
      "id": "tool:write",
      "kind": "member",
      "set": "builtins",
      "layer": "reach",
      "title": "nika:write",
      "url": "/tools/write",
      "status": "both",
      "opener": "Write a file · returns the path. overwrite defaults true · create_dirs defaults false.",
      "meta": {
        "family": "file"
      }
    },
    {
      "id": "truth:atlas",
      "kind": "member",
      "set": "truth-words",
      "layer": "proof",
      "title": "atlas",
      "url": "/truth/atlas",
      "anchor": "atlas",
      "own_page": true,
      "status": "ratified",
      "opener": "language_graph 1 · the graph of the language, site-side"
    },
    {
      "id": "truth:canon",
      "kind": "member",
      "set": "truth-words",
      "layer": "proof",
      "title": "canon",
      "url": "/truth/canon",
      "anchor": "canon",
      "own_page": true,
      "status": "ratified",
      "opener": "canon.yaml · the counted sets, spec-first"
    },
    {
      "id": "truth:catalog",
      "kind": "member",
      "set": "truth-words",
      "layer": "proof",
      "title": "catalog",
      "url": "/truth/catalog",
      "anchor": "catalog",
      "own_page": true,
      "status": "ratified",
      "opener": "a machine projection the site serves · byte-diffed in CI"
    },
    {
      "id": "truth:manifest",
      "kind": "member",
      "set": "truth-words",
      "layer": "proof",
      "title": "manifest",
      "url": "/truth/manifest",
      "anchor": "manifest",
      "own_page": true,
      "status": "ratified",
      "opener": "the snippet lineage table · every rendered block resolves here"
    },
    {
      "id": "truth:mirror",
      "kind": "member",
      "set": "truth-words",
      "layer": "proof",
      "title": "mirror",
      "url": "/truth/mirror",
      "anchor": "mirror",
      "own_page": true,
      "status": "ratified",
      "opener": "a byte-pinned copy, sha256-verified"
    },
    {
      "id": "truth:pack",
      "kind": "member",
      "set": "truth-words",
      "layer": "proof",
      "title": "pack",
      "url": "/truth/pack",
      "anchor": "pack",
      "own_page": true,
      "status": "ratified",
      "opener": "the spec corpus vendored inside the engine"
    },
    {
      "id": "truth:pin",
      "kind": "member",
      "set": "truth-words",
      "layer": "proof",
      "title": "pin",
      "url": "/truth/pin",
      "anchor": "pin",
      "own_page": true,
      "status": "ratified",
      "opener": "SPEC_PIN · the exact spec sha the engine targets"
    },
    {
      "id": "truth:registry",
      "kind": "member",
      "set": "truth-words",
      "layer": "proof",
      "title": "registry",
      "url": "/truth/registry",
      "anchor": "registry",
      "own_page": true,
      "status": "ratified",
      "opener": "nika-registry THE PRODUCT · shared workflows, re-proven nightly"
    },
    {
      "id": "truth:schema",
      "kind": "member",
      "set": "truth-words",
      "layer": "proof",
      "title": "schema",
      "url": "/truth/schema",
      "anchor": "schema",
      "own_page": true,
      "status": "ratified",
      "opener": "workflow.schema.json · the shapes"
    },
    {
      "id": "truth:spec",
      "kind": "member",
      "set": "truth-words",
      "layer": "proof",
      "title": "spec",
      "url": "/truth/spec",
      "anchor": "spec",
      "own_page": true,
      "status": "ratified",
      "opener": "the nika-spec repo · the truth of the language"
    },
    {
      "id": "type:bool",
      "kind": "member",
      "set": "types",
      "layer": "shape",
      "title": "bool",
      "url": "/types/bool",
      "anchor": "type-bool",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "type:bytes",
      "kind": "member",
      "set": "types",
      "layer": "shape",
      "title": "bytes",
      "url": "/types/bytes",
      "anchor": "type-bytes",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "type:duration",
      "kind": "member",
      "set": "types",
      "layer": "shape",
      "title": "duration",
      "url": "/types/duration",
      "anchor": "type-duration",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "type:integer",
      "kind": "member",
      "set": "types",
      "layer": "shape",
      "title": "integer",
      "url": "/types/integer",
      "anchor": "type-integer",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "type:null",
      "kind": "member",
      "set": "types",
      "layer": "shape",
      "title": "null",
      "url": "/types/null",
      "anchor": "type-null",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "type:number",
      "kind": "member",
      "set": "types",
      "layer": "shape",
      "title": "number",
      "url": "/types/number",
      "anchor": "type-number",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "type:path",
      "kind": "member",
      "set": "types",
      "layer": "shape",
      "title": "path",
      "url": "/types/path",
      "anchor": "type-path",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "type:string",
      "kind": "member",
      "set": "types",
      "layer": "shape",
      "title": "string",
      "url": "/types/string",
      "anchor": "type-string",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "type:timestamp",
      "kind": "member",
      "set": "types",
      "layer": "shape",
      "title": "timestamp",
      "url": "/types/timestamp",
      "anchor": "type-timestamp",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "type:uri",
      "kind": "member",
      "set": "types",
      "layer": "shape",
      "title": "uri",
      "url": "/types/uri",
      "anchor": "type-uri",
      "own_page": true,
      "status": "ratified",
      "opener": null
    },
    {
      "id": "verb:agent",
      "kind": "member",
      "set": "verbs",
      "layer": "acts",
      "title": "agent",
      "url": "/verbs/agent",
      "status": "ratified",
      "opener": null
    },
    {
      "id": "verb:exec",
      "kind": "member",
      "set": "verbs",
      "layer": "acts",
      "title": "exec",
      "url": "/verbs/exec",
      "status": "ratified",
      "opener": null
    },
    {
      "id": "verb:infer",
      "kind": "member",
      "set": "verbs",
      "layer": "acts",
      "title": "infer",
      "url": "/verbs/infer",
      "status": "ratified",
      "opener": null
    },
    {
      "id": "verb:invoke",
      "kind": "member",
      "set": "verbs",
      "layer": "acts",
      "title": "invoke",
      "url": "/verbs/invoke",
      "status": "ratified",
      "opener": null
    },
    {
      "id": "word:after",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "after",
      "url": "/language/after",
      "status": "ratified",
      "opener": "The CONTROL boundary · {producer-task: predicate}. Each entry is one control edge (spec/03-dag.md §after). State, never data — observe outcomes through with:.",
      "meta": {
        "scopes": [
          "task"
        ],
        "verb": false
      }
    },
    {
      "id": "word:agent",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "agent",
      "url": "/language/agent",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "task",
          "on_finally"
        ],
        "verb": true
      }
    },
    {
      "id": "word:args",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "args",
      "url": "/language/args",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "invoke"
        ],
        "verb": false
      }
    },
    {
      "id": "word:backoff_max_ms",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "backoff_max_ms",
      "url": "/language/backoff_max_ms",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "retry"
        ],
        "verb": false
      }
    },
    {
      "id": "word:backoff_ms",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "backoff_ms",
      "url": "/language/backoff_ms",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "retry"
        ],
        "verb": false
      }
    },
    {
      "id": "word:backoff_strategy",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "backoff_strategy",
      "url": "/language/backoff_strategy",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "retry"
        ],
        "verb": false
      }
    },
    {
      "id": "word:capture",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "capture",
      "url": "/language/capture",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "exec"
        ],
        "verb": false
      }
    },
    {
      "id": "word:command",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "command",
      "url": "/language/command",
      "status": "ratified",
      "opener": "argv — the program and its arguments, execve, NO shell. Each element substituted independently (the injection-safe form). Shell features (pipes · redirects · globs) live in `shell:`.",
      "meta": {
        "scopes": [
          "exec"
        ],
        "verb": false
      }
    },
    {
      "id": "word:config",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "config",
      "url": "/language/config",
      "status": "ratified",
      "opener": "Typed non-sensitive runtime config · `${{ config.X }}` · supplied by the deployment or environment, may appear in logs (R3a · LAW-SURFACE-0201 · succeeds the dead `env:` block). Each entry is a typed declaration; a `default:` MUST conform to `type:` (LAW-TYPE-0211 · NIKA-DEFAULT-001).",
      "meta": {
        "scopes": [
          "envelope"
        ],
        "verb": false
      }
    },
    {
      "id": "word:const",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "const",
      "url": "/language/const",
      "status": "ratified",
      "opener": "Named constants · `${{ const.X }}` · a fixed value baked into the workflow (R3a · LAW-SURFACE-0201 · the literal half of the dead `vars:` block · everything that is not required:true lands here per the E-split total rule). Either a bare literal, or a `{ type, value }` typed constant whose `value:` MUST conform to `type:`.",
      "meta": {
        "scopes": [
          "envelope"
        ],
        "verb": false
      }
    },
    {
      "id": "word:cwd",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "cwd",
      "url": "/language/cwd",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "exec"
        ],
        "verb": false
      }
    },
    {
      "id": "word:decode",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "decode",
      "url": "/language/decode",
      "status": "ratified",
      "opener": "How the captured string becomes a value (spec 09 §decode) — illegal with capture: structured (NIKA-PARSE-025)",
      "meta": {
        "scopes": [
          "exec"
        ],
        "verb": false
      }
    },
    {
      "id": "word:description",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "description",
      "url": "/language/description",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "workflow"
        ],
        "verb": false
      }
    },
    {
      "id": "word:env",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "env",
      "url": "/language/env",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "exec"
        ],
        "verb": false
      }
    },
    {
      "id": "word:exec",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "exec",
      "url": "/language/exec",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "task",
          "on_finally"
        ],
        "verb": true
      }
    },
    {
      "id": "word:fail_fast",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "fail_fast",
      "url": "/language/fail_fast",
      "status": "ratified",
      "opener": "for_each abort-on-error · default true.",
      "meta": {
        "scopes": [
          "task"
        ],
        "verb": false
      }
    },
    {
      "id": "word:fail_workflow",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "fail_workflow",
      "url": "/language/fail_workflow",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "on_error"
        ],
        "verb": false
      }
    },
    {
      "id": "word:for_each",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "for_each",
      "url": "/language/for_each",
      "status": "ratified",
      "opener": "Map this task over a collection · `${{ ... }}` reference OR a literal array.",
      "meta": {
        "scopes": [
          "task"
        ],
        "verb": false
      }
    },
    {
      "id": "word:id",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "id",
      "url": "/language/id",
      "status": "ratified",
      "opener": "Workflow id · kebab-case · the document-type discriminator (W1: the envelope became an object).",
      "meta": {
        "scopes": [
          "workflow"
        ],
        "verb": false
      }
    },
    {
      "id": "word:infer",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "infer",
      "url": "/language/infer",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "task",
          "on_finally"
        ],
        "verb": true
      }
    },
    {
      "id": "word:inputs",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "inputs",
      "url": "/language/inputs",
      "status": "ratified",
      "opener": "Typed workflow inputs · `${{ inputs.X }}` · the parameters an author declares and a caller supplies (R3a · LAW-SURFACE-0201 · the typed half of the dead `vars:` block · a required:true value lands here per the E-split total rule). Each entry is a typed declaration whose `type:` speaks the full TypeExpr of 09-types (R3b · LAW-GRAMMAR-0211 · the flat 6-enum is dead · LAW-SURFACE-0211).",
      "meta": {
        "scopes": [
          "envelope"
        ],
        "verb": false
      }
    },
    {
      "id": "word:invoke",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "invoke",
      "url": "/language/invoke",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "task",
          "on_finally"
        ],
        "verb": true
      }
    },
    {
      "id": "word:jitter",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "jitter",
      "url": "/language/jitter",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "retry"
        ],
        "verb": false
      }
    },
    {
      "id": "word:max_attempts",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "max_attempts",
      "url": "/language/max_attempts",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "retry"
        ],
        "verb": false
      }
    },
    {
      "id": "word:max_parallel",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "max_parallel",
      "url": "/language/max_parallel",
      "status": "ratified",
      "opener": "Cap concurrent for_each iterations · default unbounded · 1 = sequential.",
      "meta": {
        "scopes": [
          "task"
        ],
        "verb": false
      }
    },
    {
      "id": "word:max_tokens",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "max_tokens",
      "url": "/language/max_tokens",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "infer"
        ],
        "verb": false
      }
    },
    {
      "id": "word:max_tokens_total",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "max_tokens_total",
      "url": "/language/max_tokens_total",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "agent"
        ],
        "verb": false
      }
    },
    {
      "id": "word:max_turns",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "max_turns",
      "url": "/language/max_turns",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "agent"
        ],
        "verb": false
      }
    },
    {
      "id": "word:model",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "model",
      "url": "/language/model",
      "status": "ratified",
      "opener": "Default model · `<provider>/<name>` (e.g. ollama/qwen3.5:9b · anthropic/claude-sonnet-4-6 · mock/echo).",
      "meta": {
        "scopes": [
          "envelope",
          "infer",
          "agent"
        ],
        "verb": false
      }
    },
    {
      "id": "word:nika",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "nika",
      "url": "/language/nika",
      "status": "ratified",
      "opener": "Language contract version · exactly `v1` for the v1 lifetime. NOT `v1.0` · `1` · `1.0`.",
      "meta": {
        "scopes": [
          "envelope"
        ],
        "verb": false
      }
    },
    {
      "id": "word:on_codes",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "on_codes",
      "url": "/language/on_codes",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "retry",
          "on_error"
        ],
        "verb": false
      }
    },
    {
      "id": "word:on_error",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "on_error",
      "url": "/language/on_error",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "task"
        ],
        "verb": false
      }
    },
    {
      "id": "word:on_finally",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "on_finally",
      "url": "/language/on_finally",
      "status": "ratified",
      "opener": "Cleanup mini-tasks · ALWAYS run (success/fail/timeout/cancel) · sequential · best-effort.",
      "meta": {
        "scopes": [
          "task"
        ],
        "verb": false
      }
    },
    {
      "id": "word:output",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "output",
      "url": "/language/output",
      "status": "ratified",
      "opener": "Named jq-expression bindings · `${{ tasks.X.<name> }}`. jq is the single data extraction-and-transform language (the former RFC 9535 JSONPath was dropped · jq is a superset · per spec/04-variables.md §216-225). Reserved names forbidden at parse time (spec/04-variables.md §Rules): output · status · error · started_at · ended_at · duration_ms — enforced via propertyNames.",
      "meta": {
        "scopes": [
          "task"
        ],
        "verb": false
      }
    },
    {
      "id": "word:outputs",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "outputs",
      "url": "/language/outputs",
      "status": "ratified",
      "opener": "The workflow's return value · symmetric to inputs. Each entry is a `${{ tasks.X.output }}` reference (untyped form · string) OR a typed declaration { value · type · description }. Powers `nika run` result + the output half of the callable-workflow schema.",
      "meta": {
        "scopes": [
          "envelope"
        ],
        "verb": false
      }
    },
    {
      "id": "word:permits",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "permits",
      "url": "/language/permits",
      "status": "ratified",
      "opener": "The declared capability boundary · once present every category is default-deny unless listed (spec/01-envelope.md §permits · NIKA-SEC-004).",
      "meta": {
        "scopes": [
          "envelope"
        ],
        "verb": false
      }
    },
    {
      "id": "word:policy",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "policy",
      "url": "/language/policy",
      "status": "ratified",
      "opener": "Named workflow law · hard families (require/forbid/allow/limits) are judged at check (NIKA-POLICY-001) · soft families (prefer/optimize) are recorded, never judged in v1 (spec/10-authority.md).",
      "meta": {
        "scopes": [
          "envelope"
        ],
        "verb": false
      }
    },
    {
      "id": "word:prompt",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "prompt",
      "url": "/language/prompt",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "infer",
          "agent"
        ],
        "verb": false
      }
    },
    {
      "id": "word:recover",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "recover",
      "url": "/language/recover",
      "status": "ratified",
      "opener": "Recovery output · a `${{ }}` ref OR a literal (merges the former fallback/value per spec/05-errors.md).",
      "meta": {
        "scopes": [
          "on_error"
        ],
        "verb": false
      }
    },
    {
      "id": "word:retry",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "retry",
      "url": "/language/retry",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "task"
        ],
        "verb": false
      }
    },
    {
      "id": "word:returns",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "returns",
      "url": "/language/returns",
      "status": "ratified",
      "opener": "The task's output contract (spec 09-types.md) — exclusive with a verb-level schema: (NIKA-TYPE-003)",
      "meta": {
        "scopes": [
          "task"
        ],
        "verb": false
      }
    },
    {
      "id": "word:schema",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "schema",
      "url": "/language/schema",
      "status": "ratified",
      "opener": "JSON Schema · structured output contract.",
      "meta": {
        "scopes": [
          "infer",
          "agent"
        ],
        "verb": false
      }
    },
    {
      "id": "word:secrets",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "secrets",
      "url": "/language/secrets",
      "status": "ratified",
      "opener": "Vault-backed masked references · `${{ secrets.X }}` · never inline literals.",
      "meta": {
        "scopes": [
          "envelope"
        ],
        "verb": false
      }
    },
    {
      "id": "word:shell",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "shell",
      "url": "/language/shell",
      "status": "ratified",
      "opener": "One shell line, run via /bin/sh -c — the EXPLICIT dangerous door (pipes · redirects · globs). The blocklist applies here; interpolating untrusted values here is on the author. Exactly one of command|shell.",
      "meta": {
        "scopes": [
          "exec"
        ],
        "verb": false
      }
    },
    {
      "id": "word:skills",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "skills",
      "url": "/language/skills",
      "status": "ratified",
      "opener": "Agent Skill (SKILL.md) file paths · agentskills.io shape · explicit static paths only (no globs · no templates) · loaded at compose time and injected into the system context.",
      "meta": {
        "scopes": [
          "agent"
        ],
        "verb": false
      }
    },
    {
      "id": "word:skip",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "skip",
      "url": "/language/skip",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "on_error"
        ],
        "verb": false
      }
    },
    {
      "id": "word:stdin",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "stdin",
      "url": "/language/stdin",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "exec"
        ],
        "verb": false
      }
    },
    {
      "id": "word:system",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "system",
      "url": "/language/system",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "infer",
          "agent"
        ],
        "verb": false
      }
    },
    {
      "id": "word:tasks",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "tasks",
      "url": "/language/tasks",
      "status": "ratified",
      "opener": "The task map · the KEY is the task's identity (snake_case · CEL-safe). Source order is presentation only — the graph alone schedules.",
      "meta": {
        "scopes": [
          "envelope"
        ],
        "verb": false
      }
    },
    {
      "id": "word:temperature",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "temperature",
      "url": "/language/temperature",
      "status": "ratified",
      "opener": "0-2 · number or `${{ }}`.",
      "meta": {
        "scopes": [
          "infer",
          "agent"
        ],
        "verb": false
      }
    },
    {
      "id": "word:thinking",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "thinking",
      "url": "/language/thinking",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "infer"
        ],
        "verb": false
      }
    },
    {
      "id": "word:timeout",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "timeout",
      "url": "/language/timeout",
      "status": "ratified",
      "opener": "Go-duration string · quoted · e.g. \"30s\" \"5m\" \"1h30m\" \"2.5s\". Max 24h.",
      "meta": {
        "scopes": [
          "task",
          "on_finally"
        ],
        "verb": false
      }
    },
    {
      "id": "word:tool",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "tool",
      "url": "/language/tool",
      "status": "ratified",
      "opener": "Tool reference · nika:<path> (closed v0.1 builtin set) OR mcp:<server>/<tool> (requires the slash). The namespace set is CLOSED at v1 (spec/02-verbs.md) — an x-<vendor>: prefix is RESERVED, not valid (engine-specific tools route through mcp: · spec/06-stdlib-contract.md §Namespace ownership).",
      "meta": {
        "scopes": [
          "invoke"
        ],
        "verb": false
      }
    },
    {
      "id": "word:tools",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "tools",
      "url": "/language/tools",
      "status": "ratified",
      "opener": "Whitelist · DEFAULT-DENY (no tools if absent) · gitignore-style globs · `!` negation.",
      "meta": {
        "scopes": [
          "agent"
        ],
        "verb": false
      }
    },
    {
      "id": "word:types",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "types",
      "url": "/language/types",
      "status": "ratified",
      "opener": "Named type declarations (spec 09-types.md · PascalCase · acyclic)",
      "meta": {
        "scopes": [
          "envelope"
        ],
        "verb": false
      }
    },
    {
      "id": "word:vision",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "vision",
      "url": "/language/vision",
      "status": "ratified",
      "opener": null,
      "meta": {
        "scopes": [
          "infer"
        ],
        "verb": false
      }
    },
    {
      "id": "word:when",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "when",
      "url": "/language/when",
      "status": "ratified",
      "opener": "LOCAL business condition · evaluated POST-gate over {vars · env · with · item · index} — tasks.* is illegal here (NIKA-VAR-021 · hoist into with:). false → skipped (spec/03-dag.md §when).",
      "meta": {
        "scopes": [
          "task",
          "on_finally"
        ],
        "verb": false
      }
    },
    {
      "id": "word:with",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "with",
      "url": "/language/with",
      "status": "ratified",
      "opener": "Task-level scope injection · `${{ with.X }}`.",
      "meta": {
        "scopes": [
          "task"
        ],
        "verb": false
      }
    },
    {
      "id": "word:workflow",
      "kind": "member",
      "set": "words",
      "layer": "shape",
      "title": "workflow",
      "url": "/language/workflow",
      "status": "ratified",
      "opener": "The workflow object · a stable home for identity and metadata (W1 'the map').",
      "meta": {
        "scopes": [
          "envelope",
          "invoke"
        ],
        "verb": false
      }
    }
  ],
  "edges": [
    {
      "from": "verb:agent",
      "to": "word:max_tokens_total",
      "kind": "accepts"
    },
    {
      "from": "verb:agent",
      "to": "word:max_turns",
      "kind": "accepts"
    },
    {
      "from": "verb:agent",
      "to": "word:model",
      "kind": "accepts"
    },
    {
      "from": "verb:agent",
      "to": "word:prompt",
      "kind": "accepts"
    },
    {
      "from": "verb:agent",
      "to": "word:schema",
      "kind": "accepts"
    },
    {
      "from": "verb:agent",
      "to": "word:skills",
      "kind": "accepts"
    },
    {
      "from": "verb:agent",
      "to": "word:system",
      "kind": "accepts"
    },
    {
      "from": "verb:agent",
      "to": "word:temperature",
      "kind": "accepts"
    },
    {
      "from": "verb:agent",
      "to": "word:tools",
      "kind": "accepts"
    },
    {
      "from": "verb:exec",
      "to": "word:capture",
      "kind": "accepts"
    },
    {
      "from": "verb:exec",
      "to": "word:command",
      "kind": "accepts"
    },
    {
      "from": "verb:exec",
      "to": "word:cwd",
      "kind": "accepts"
    },
    {
      "from": "verb:exec",
      "to": "word:decode",
      "kind": "accepts"
    },
    {
      "from": "verb:exec",
      "to": "word:env",
      "kind": "accepts"
    },
    {
      "from": "verb:exec",
      "to": "word:shell",
      "kind": "accepts"
    },
    {
      "from": "verb:exec",
      "to": "word:stdin",
      "kind": "accepts"
    },
    {
      "from": "verb:infer",
      "to": "word:max_tokens",
      "kind": "accepts"
    },
    {
      "from": "verb:infer",
      "to": "word:model",
      "kind": "accepts"
    },
    {
      "from": "verb:infer",
      "to": "word:prompt",
      "kind": "accepts"
    },
    {
      "from": "verb:infer",
      "to": "word:schema",
      "kind": "accepts"
    },
    {
      "from": "verb:infer",
      "to": "word:system",
      "kind": "accepts"
    },
    {
      "from": "verb:infer",
      "to": "word:temperature",
      "kind": "accepts"
    },
    {
      "from": "verb:infer",
      "to": "word:thinking",
      "kind": "accepts"
    },
    {
      "from": "verb:infer",
      "to": "word:vision",
      "kind": "accepts"
    },
    {
      "from": "verb:invoke",
      "to": "word:args",
      "kind": "accepts"
    },
    {
      "from": "verb:invoke",
      "to": "word:tool",
      "kind": "accepts"
    },
    {
      "from": "verb:invoke",
      "to": "word:workflow",
      "kind": "accepts"
    },
    {
      "from": "code:NIKA-AGENT-001",
      "to": "errcat:budget_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-AGENT-001",
      "to": "errns:NIKA-AGENT",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-AGENT-002",
      "to": "errcat:budget_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-AGENT-002",
      "to": "errns:NIKA-AGENT",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-AGENT-003",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-AGENT-003",
      "to": "errns:NIKA-AGENT",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-AGENT-004",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-AGENT-004",
      "to": "errns:NIKA-AGENT",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-ASSERT-001",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-ASSERT-001",
      "to": "errns:NIKA-ASSERT",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "errns:NIKA-BUILTIN",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-BUILTIN-DONE-001",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-BUILTIN-DONE-001",
      "to": "errns:NIKA-BUILTIN",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-CANCEL-001",
      "to": "errcat:cancelled",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-CANCEL-001",
      "to": "errns:NIKA-CANCEL",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-COMP-001",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-COMP-001",
      "to": "errns:NIKA-COMP",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-COMP-002",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-COMP-002",
      "to": "errns:NIKA-COMP",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-COMP-003",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-COMP-003",
      "to": "errns:NIKA-COMP",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-COMP-004",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-COMP-004",
      "to": "errns:NIKA-COMP",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-001",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-001",
      "to": "errns:NIKA-DAG",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-002",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-002",
      "to": "errns:NIKA-DAG",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-004",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-004",
      "to": "errns:NIKA-DAG",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-005",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-005",
      "to": "errns:NIKA-DAG",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-006",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-006",
      "to": "errns:NIKA-DAG",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-007",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DAG-007",
      "to": "errns:NIKA-DAG",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DECIDE-001",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DECIDE-001",
      "to": "errns:NIKA-DECIDE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DECIDE-002",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-DECIDE-002",
      "to": "errns:NIKA-DECIDE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-EXEC-001",
      "to": "errcat:process_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-EXEC-001",
      "to": "errns:NIKA-EXEC",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-EXEC-002",
      "to": "errcat:process_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-EXEC-002",
      "to": "errns:NIKA-EXEC",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-INFER-001",
      "to": "errcat:provider_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-INFER-001",
      "to": "errns:NIKA-INFER",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-INFER-002",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-INFER-002",
      "to": "errns:NIKA-INFER",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-INVOKE-001",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-INVOKE-001",
      "to": "errns:NIKA-INVOKE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-INVOKE-002",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-INVOKE-002",
      "to": "errns:NIKA-INVOKE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-LOCK-001",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-LOCK-001",
      "to": "errns:NIKA-LOCK",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-MCP-001",
      "to": "errcat:tool_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-MCP-001",
      "to": "errns:NIKA-MCP",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-MCP-002",
      "to": "errcat:tool_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-MCP-002",
      "to": "errns:NIKA-MCP",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-001",
      "to": "errcat:parse_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-001",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-002",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-002",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-003",
      "to": "errcat:parse_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-003",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-004",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-004",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-005",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-005",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-006",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-006",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-007",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-007",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-008",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-008",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-009",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-009",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-010",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-010",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-011",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-011",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-012",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-012",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-013",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-013",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-014",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-014",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-015",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-015",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-017",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-017",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-018",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-018",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-019",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-019",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-020",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-020",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-021",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-021",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-022",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-022",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-023",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-023",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-024",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-024",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-025",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PARSE-025",
      "to": "errns:NIKA-PARSE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-POLICY-001",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-POLICY-001",
      "to": "errns:NIKA-POLICY",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PORT-001",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PORT-001",
      "to": "errns:NIKA-PORT",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PORT-002",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-PORT-002",
      "to": "errns:NIKA-PORT",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-001",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-001",
      "to": "errns:NIKA-SEC",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-002",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-002",
      "to": "errns:NIKA-SEC",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-003",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-003",
      "to": "errns:NIKA-SEC",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-004",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-004",
      "to": "errns:NIKA-SEC",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-005",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-005",
      "to": "errns:NIKA-SEC",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-006",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-006",
      "to": "errns:NIKA-SEC",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-007",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-SEC-007",
      "to": "errns:NIKA-SEC",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TIMEOUT-001",
      "to": "errcat:timeout_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TIMEOUT-001",
      "to": "errns:NIKA-TIMEOUT",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-001",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-001",
      "to": "errns:NIKA-TYPE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-002",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-002",
      "to": "errns:NIKA-TYPE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-003",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-003",
      "to": "errns:NIKA-TYPE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-004",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-004",
      "to": "errns:NIKA-TYPE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-005",
      "to": "errcat:security_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-005",
      "to": "errns:NIKA-TYPE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-006",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-006",
      "to": "errns:NIKA-TYPE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-101",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-TYPE-101",
      "to": "errns:NIKA-TYPE",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-001",
      "to": "errcat:variable_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-001",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-002",
      "to": "errcat:variable_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-002",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-003",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-003",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-004",
      "to": "errcat:variable_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-004",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-005",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-005",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-006",
      "to": "errcat:variable_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-006",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-007",
      "to": "errcat:variable_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-007",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-008",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-008",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-009",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-009",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-020",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-020",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "errcat:validation_error",
      "kind": "belongs-to"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "errns:NIKA-VAR",
      "kind": "belongs-to"
    },
    {
      "from": "tool:assert",
      "to": "family:core",
      "kind": "belongs-to"
    },
    {
      "from": "tool:chart",
      "to": "family:media",
      "kind": "belongs-to"
    },
    {
      "from": "tool:compose",
      "to": "family:introspection",
      "kind": "belongs-to"
    },
    {
      "from": "tool:convert",
      "to": "family:data",
      "kind": "belongs-to"
    },
    {
      "from": "tool:date",
      "to": "family:data",
      "kind": "belongs-to"
    },
    {
      "from": "tool:decide",
      "to": "family:data",
      "kind": "belongs-to"
    },
    {
      "from": "tool:done",
      "to": "family:core",
      "kind": "belongs-to"
    },
    {
      "from": "tool:edit",
      "to": "family:file",
      "kind": "belongs-to"
    },
    {
      "from": "tool:emit",
      "to": "family:core",
      "kind": "belongs-to"
    },
    {
      "from": "tool:fetch",
      "to": "family:network",
      "kind": "belongs-to"
    },
    {
      "from": "tool:glob",
      "to": "family:file",
      "kind": "belongs-to"
    },
    {
      "from": "tool:grep",
      "to": "family:file",
      "kind": "belongs-to"
    },
    {
      "from": "tool:hash",
      "to": "family:data",
      "kind": "belongs-to"
    },
    {
      "from": "tool:image_fx",
      "to": "family:media",
      "kind": "belongs-to"
    },
    {
      "from": "tool:image_generate",
      "to": "family:media",
      "kind": "belongs-to"
    },
    {
      "from": "tool:inspect",
      "to": "family:introspection",
      "kind": "belongs-to"
    },
    {
      "from": "tool:jq",
      "to": "family:data",
      "kind": "belongs-to"
    },
    {
      "from": "tool:json_diff",
      "to": "family:data",
      "kind": "belongs-to"
    },
    {
      "from": "tool:json_merge_patch",
      "to": "family:data",
      "kind": "belongs-to"
    },
    {
      "from": "tool:log",
      "to": "family:core",
      "kind": "belongs-to"
    },
    {
      "from": "tool:notify",
      "to": "family:network",
      "kind": "belongs-to"
    },
    {
      "from": "tool:prompt",
      "to": "family:core",
      "kind": "belongs-to"
    },
    {
      "from": "tool:read",
      "to": "family:file",
      "kind": "belongs-to"
    },
    {
      "from": "tool:tts_generate",
      "to": "family:media",
      "kind": "belongs-to"
    },
    {
      "from": "tool:uuid",
      "to": "family:data",
      "kind": "belongs-to"
    },
    {
      "from": "tool:validate",
      "to": "family:data",
      "kind": "belongs-to"
    },
    {
      "from": "tool:wait",
      "to": "family:core",
      "kind": "belongs-to"
    },
    {
      "from": "tool:write",
      "to": "family:file",
      "kind": "belongs-to"
    },
    {
      "from": "template:agent-loop",
      "to": "word:agent",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:args",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:description",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:id",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:infer",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:inputs",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:invoke",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:max_tokens_total",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:max_turns",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:model",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:nika",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:outputs",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:prompt",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:schema",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:system",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:tasks",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:tool",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:tools",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:with",
      "kind": "carries"
    },
    {
      "from": "template:agent-loop",
      "to": "word:workflow",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:args",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:const",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:description",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:id",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:invoke",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:model",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:nika",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:outputs",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:secrets",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:tasks",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:tool",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:with",
      "kind": "carries"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "word:workflow",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:args",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:const",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:description",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:id",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:infer",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:invoke",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:model",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:nika",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:outputs",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:prompt",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:tasks",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:tool",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:with",
      "kind": "carries"
    },
    {
      "from": "template:chain",
      "to": "word:workflow",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:args",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:command",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:description",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:exec",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:id",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:infer",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:invoke",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:max_tokens",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:model",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:nika",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:outputs",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:permits",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:prompt",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:tasks",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:tool",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:tools",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:with",
      "kind": "carries"
    },
    {
      "from": "template:docker-report",
      "to": "word:workflow",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:after",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:args",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:const",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:description",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:id",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:invoke",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:nika",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:on_codes",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:on_error",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:outputs",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:recover",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:tasks",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:tool",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:when",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:with",
      "kind": "carries"
    },
    {
      "from": "template:etl-state",
      "to": "word:workflow",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:args",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:backoff_strategy",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:const",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:description",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:fail_fast",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:for_each",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:id",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:infer",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:invoke",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:jitter",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:max_attempts",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:max_parallel",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:model",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:nika",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:on_error",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:outputs",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:prompt",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:recover",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:retry",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:tasks",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:timeout",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:tool",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:with",
      "kind": "carries"
    },
    {
      "from": "template:fanout",
      "to": "word:workflow",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:args",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:const",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:description",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:id",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:invoke",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:nika",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:on_error",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:output",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:outputs",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:recover",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:secrets",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:tasks",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:tool",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:when",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:with",
      "kind": "carries"
    },
    {
      "from": "template:gate-and-act",
      "to": "word:workflow",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:after",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:args",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:capture",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:command",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:description",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:exec",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:id",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:invoke",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:nika",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:outputs",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:permits",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:secrets",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:tasks",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:tool",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:tools",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:when",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:with",
      "kind": "carries"
    },
    {
      "from": "template:human-gated-ship",
      "to": "word:workflow",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:args",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:const",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:description",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:id",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:infer",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:invoke",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:max_tokens",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:model",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:nika",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:outputs",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:prompt",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:schema",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:tasks",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:tool",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:with",
      "kind": "carries"
    },
    {
      "from": "template:media-asset-pack",
      "to": "word:workflow",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:args",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:const",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:description",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:id",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:infer",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:invoke",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:max_tokens",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:model",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:nika",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:outputs",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:prompt",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:schema",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:tasks",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:tool",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:with",
      "kind": "carries"
    },
    {
      "from": "template:website-brief",
      "to": "word:workflow",
      "kind": "carries"
    },
    {
      "from": "tool:fetch",
      "to": "mode:article",
      "kind": "carries"
    },
    {
      "from": "tool:fetch",
      "to": "mode:feed",
      "kind": "carries"
    },
    {
      "from": "tool:fetch",
      "to": "mode:jq",
      "kind": "carries"
    },
    {
      "from": "tool:fetch",
      "to": "mode:links",
      "kind": "carries"
    },
    {
      "from": "tool:fetch",
      "to": "mode:markdown",
      "kind": "carries"
    },
    {
      "from": "tool:fetch",
      "to": "mode:metadata",
      "kind": "carries"
    },
    {
      "from": "tool:fetch",
      "to": "mode:selector",
      "kind": "carries"
    },
    {
      "from": "tool:fetch",
      "to": "mode:sitemap",
      "kind": "carries"
    },
    {
      "from": "tool:fetch",
      "to": "mode:text",
      "kind": "carries"
    },
    {
      "from": "set:builtins",
      "to": "chapter:stdlib/builtins-v0.1.md",
      "kind": "defined-by"
    },
    {
      "from": "set:conformance-levels",
      "to": "chapter:spec/07-conformance.md",
      "kind": "defined-by"
    },
    {
      "from": "set:edge-kinds",
      "to": "chapter:spec/03-dag.md",
      "kind": "defined-by"
    },
    {
      "from": "set:error-categories",
      "to": "chapter:spec/05-errors.md",
      "kind": "defined-by"
    },
    {
      "from": "set:error-codes",
      "to": "chapter:spec/05-errors.md",
      "kind": "defined-by"
    },
    {
      "from": "set:error-namespaces",
      "to": "chapter:spec/05-errors.md",
      "kind": "defined-by"
    },
    {
      "from": "set:extract-modes",
      "to": "chapter:stdlib/extract-modes-v0.1.md",
      "kind": "defined-by"
    },
    {
      "from": "set:gate-predicates",
      "to": "chapter:spec/03-dag.md",
      "kind": "defined-by"
    },
    {
      "from": "set:mcp-tools",
      "to": "chapter:canon.yaml",
      "kind": "defined-by"
    },
    {
      "from": "set:namespaces",
      "to": "chapter:spec/04-variables.md",
      "kind": "defined-by"
    },
    {
      "from": "set:permit-families",
      "to": "chapter:spec/01-envelope.md",
      "kind": "defined-by"
    },
    {
      "from": "set:providers",
      "to": "chapter:stdlib/providers-v0.1.md",
      "kind": "defined-by"
    },
    {
      "from": "set:secret-sources",
      "to": "chapter:spec/04-variables.md",
      "kind": "defined-by"
    },
    {
      "from": "set:showcases",
      "to": "chapter:examples/manifest.yaml",
      "kind": "defined-by"
    },
    {
      "from": "set:templates",
      "to": "chapter:templates/README.md",
      "kind": "defined-by"
    },
    {
      "from": "set:tool-families",
      "to": "chapter:stdlib/builtins-v0.1.md",
      "kind": "defined-by"
    },
    {
      "from": "set:types",
      "to": "chapter:spec/09-types.md",
      "kind": "defined-by"
    },
    {
      "from": "set:verbs",
      "to": "chapter:spec/02-verbs.md",
      "kind": "defined-by"
    },
    {
      "from": "set:words",
      "to": "chapter:spec/01-envelope.md",
      "kind": "defined-by"
    },
    {
      "from": "set:words",
      "to": "chapter:spec/03-dag.md",
      "kind": "defined-by"
    },
    {
      "from": "set:words",
      "to": "chapter:spec/04-variables.md",
      "kind": "defined-by"
    },
    {
      "from": "template:agent-loop",
      "to": "tool:assert",
      "kind": "grants"
    },
    {
      "from": "template:agent-loop",
      "to": "tool:done",
      "kind": "grants"
    },
    {
      "from": "template:agent-loop",
      "to": "tool:read",
      "kind": "grants"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "tool:fetch",
      "kind": "grants"
    },
    {
      "from": "template:chain",
      "to": "tool:read",
      "kind": "grants"
    },
    {
      "from": "template:chain",
      "to": "tool:write",
      "kind": "grants"
    },
    {
      "from": "template:docker-report",
      "to": "tool:write",
      "kind": "grants"
    },
    {
      "from": "template:etl-state",
      "to": "tool:fetch",
      "kind": "grants"
    },
    {
      "from": "template:etl-state",
      "to": "tool:jq",
      "kind": "grants"
    },
    {
      "from": "template:etl-state",
      "to": "tool:json_diff",
      "kind": "grants"
    },
    {
      "from": "template:etl-state",
      "to": "tool:read",
      "kind": "grants"
    },
    {
      "from": "template:etl-state",
      "to": "tool:write",
      "kind": "grants"
    },
    {
      "from": "template:fanout",
      "to": "tool:glob",
      "kind": "grants"
    },
    {
      "from": "template:fanout",
      "to": "tool:jq",
      "kind": "grants"
    },
    {
      "from": "template:gate-and-act",
      "to": "tool:fetch",
      "kind": "grants"
    },
    {
      "from": "template:gate-and-act",
      "to": "tool:notify",
      "kind": "grants"
    },
    {
      "from": "template:human-gated-ship",
      "to": "tool:assert",
      "kind": "grants"
    },
    {
      "from": "template:human-gated-ship",
      "to": "tool:notify",
      "kind": "grants"
    },
    {
      "from": "template:human-gated-ship",
      "to": "tool:prompt",
      "kind": "grants"
    },
    {
      "from": "template:media-asset-pack",
      "to": "tool:image_generate",
      "kind": "grants"
    },
    {
      "from": "template:media-asset-pack",
      "to": "tool:jq",
      "kind": "grants"
    },
    {
      "from": "template:media-asset-pack",
      "to": "tool:write",
      "kind": "grants"
    },
    {
      "from": "template:website-brief",
      "to": "tool:fetch",
      "kind": "grants"
    },
    {
      "from": "template:website-brief",
      "to": "tool:write",
      "kind": "grants"
    },
    {
      "from": "code:NIKA-AGENT-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-AGENT-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-AGENT-003",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-AGENT-004",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-ASSERT-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-BUILTIN-DONE-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-CANCEL-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-COMP-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-COMP-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-COMP-003",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-COMP-004",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-DAG-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-DAG-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-DAG-004",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-DAG-005",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-DAG-006",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-DAG-007",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-DECIDE-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-DECIDE-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-EXEC-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-EXEC-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-INFER-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-INFER-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-INVOKE-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-INVOKE-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-LOCK-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-MCP-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-MCP-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-003",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-004",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-005",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-006",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-007",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-008",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-009",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-010",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-011",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-012",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-013",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-014",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-015",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-017",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-018",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-019",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-020",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-021",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-022",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-023",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-024",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PARSE-025",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-POLICY-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PORT-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-PORT-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-SEC-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-SEC-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-SEC-003",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-SEC-004",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-SEC-005",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-SEC-006",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-SEC-007",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-TIMEOUT-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-TYPE-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-TYPE-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-TYPE-003",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-TYPE-004",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-TYPE-005",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-TYPE-006",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-TYPE-101",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-001",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-002",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-003",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-004",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-005",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-006",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-007",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-008",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-009",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-020",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "set:error-codes",
      "kind": "member-of"
    },
    {
      "from": "edgekind:control",
      "to": "set:edge-kinds",
      "kind": "member-of"
    },
    {
      "from": "edgekind:failure-observation",
      "to": "set:edge-kinds",
      "kind": "member-of"
    },
    {
      "from": "edgekind:finally",
      "to": "set:edge-kinds",
      "kind": "member-of"
    },
    {
      "from": "edgekind:recovery",
      "to": "set:edge-kinds",
      "kind": "member-of"
    },
    {
      "from": "edgekind:terminal-observation",
      "to": "set:edge-kinds",
      "kind": "member-of"
    },
    {
      "from": "edgekind:value",
      "to": "set:edge-kinds",
      "kind": "member-of"
    },
    {
      "from": "errcat:budget_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:cancelled",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:internal_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:network_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:parse_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:process_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:provider_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:security_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:timeout_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:tool_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:validation_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errcat:variable_error",
      "to": "set:error-categories",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-AGENT",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-ASSERT",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-BUILTIN",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-CANCEL",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-COMP",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-DAG",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-DECIDE",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-EXEC",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-IMPL",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-INFER",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-INVOKE",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-LOCK",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-MCP",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-PARSE",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-POLICY",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-PORT",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-PROVIDER",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-SEC",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-TIMEOUT",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-TYPE",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "errns:NIKA-VAR",
      "to": "set:error-namespaces",
      "kind": "member-of"
    },
    {
      "from": "family:core",
      "to": "set:tool-families",
      "kind": "member-of"
    },
    {
      "from": "family:data",
      "to": "set:tool-families",
      "kind": "member-of"
    },
    {
      "from": "family:file",
      "to": "set:tool-families",
      "kind": "member-of"
    },
    {
      "from": "family:introspection",
      "to": "set:tool-families",
      "kind": "member-of"
    },
    {
      "from": "family:media",
      "to": "set:tool-families",
      "kind": "member-of"
    },
    {
      "from": "family:network",
      "to": "set:tool-families",
      "kind": "member-of"
    },
    {
      "from": "level:core",
      "to": "set:conformance-levels",
      "kind": "member-of"
    },
    {
      "from": "level:runtime",
      "to": "set:conformance-levels",
      "kind": "member-of"
    },
    {
      "from": "level:stdlib",
      "to": "set:conformance-levels",
      "kind": "member-of"
    },
    {
      "from": "mcp:nika_canon",
      "to": "set:mcp-tools",
      "kind": "member-of"
    },
    {
      "from": "mcp:nika_catalog",
      "to": "set:mcp-tools",
      "kind": "member-of"
    },
    {
      "from": "mcp:nika_check",
      "to": "set:mcp-tools",
      "kind": "member-of"
    },
    {
      "from": "mcp:nika_examples",
      "to": "set:mcp-tools",
      "kind": "member-of"
    },
    {
      "from": "mcp:nika_explain",
      "to": "set:mcp-tools",
      "kind": "member-of"
    },
    {
      "from": "mcp:nika_inspect",
      "to": "set:mcp-tools",
      "kind": "member-of"
    },
    {
      "from": "mcp:nika_schema",
      "to": "set:mcp-tools",
      "kind": "member-of"
    },
    {
      "from": "mcp:nika_template",
      "to": "set:mcp-tools",
      "kind": "member-of"
    },
    {
      "from": "mcp:nika_tools",
      "to": "set:mcp-tools",
      "kind": "member-of"
    },
    {
      "from": "mode:article",
      "to": "set:extract-modes",
      "kind": "member-of"
    },
    {
      "from": "mode:feed",
      "to": "set:extract-modes",
      "kind": "member-of"
    },
    {
      "from": "mode:jq",
      "to": "set:extract-modes",
      "kind": "member-of"
    },
    {
      "from": "mode:links",
      "to": "set:extract-modes",
      "kind": "member-of"
    },
    {
      "from": "mode:markdown",
      "to": "set:extract-modes",
      "kind": "member-of"
    },
    {
      "from": "mode:metadata",
      "to": "set:extract-modes",
      "kind": "member-of"
    },
    {
      "from": "mode:selector",
      "to": "set:extract-modes",
      "kind": "member-of"
    },
    {
      "from": "mode:sitemap",
      "to": "set:extract-modes",
      "kind": "member-of"
    },
    {
      "from": "mode:text",
      "to": "set:extract-modes",
      "kind": "member-of"
    },
    {
      "from": "ns:env",
      "to": "set:namespaces",
      "kind": "member-of"
    },
    {
      "from": "ns:secrets",
      "to": "set:namespaces",
      "kind": "member-of"
    },
    {
      "from": "ns:tasks",
      "to": "set:namespaces",
      "kind": "member-of"
    },
    {
      "from": "ns:vars",
      "to": "set:namespaces",
      "kind": "member-of"
    },
    {
      "from": "ns:with",
      "to": "set:namespaces",
      "kind": "member-of"
    },
    {
      "from": "permit:exec",
      "to": "set:permit-families",
      "kind": "member-of"
    },
    {
      "from": "permit:fs",
      "to": "set:permit-families",
      "kind": "member-of"
    },
    {
      "from": "permit:net",
      "to": "set:permit-families",
      "kind": "member-of"
    },
    {
      "from": "permit:tools",
      "to": "set:permit-families",
      "kind": "member-of"
    },
    {
      "from": "predicate:failure",
      "to": "set:gate-predicates",
      "kind": "member-of"
    },
    {
      "from": "predicate:skipped",
      "to": "set:gate-predicates",
      "kind": "member-of"
    },
    {
      "from": "predicate:success",
      "to": "set:gate-predicates",
      "kind": "member-of"
    },
    {
      "from": "predicate:terminal",
      "to": "set:gate-predicates",
      "kind": "member-of"
    },
    {
      "from": "provider:anthropic",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:deepseek",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:gemini",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:groq",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:huggingface",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:llamacpp",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:lmstudio",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:localai",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:mistral",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:mock",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:moonshot",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:nvidia",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:ollama",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:openai",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:openrouter",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:vllm",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "provider:xai",
      "to": "set:providers",
      "kind": "member-of"
    },
    {
      "from": "secret:env",
      "to": "set:secret-sources",
      "kind": "member-of"
    },
    {
      "from": "secret:file",
      "to": "set:secret-sources",
      "kind": "member-of"
    },
    {
      "from": "secret:vault",
      "to": "set:secret-sources",
      "kind": "member-of"
    },
    {
      "from": "set:builtins",
      "to": "layer:reach",
      "kind": "member-of"
    },
    {
      "from": "set:conformance-levels",
      "to": "layer:proof",
      "kind": "member-of"
    },
    {
      "from": "set:edge-kinds",
      "to": "layer:flow",
      "kind": "member-of"
    },
    {
      "from": "set:error-categories",
      "to": "layer:refusals",
      "kind": "member-of"
    },
    {
      "from": "set:error-codes",
      "to": "layer:refusals",
      "kind": "member-of"
    },
    {
      "from": "set:error-namespaces",
      "to": "layer:refusals",
      "kind": "member-of"
    },
    {
      "from": "set:extract-modes",
      "to": "layer:reach",
      "kind": "member-of"
    },
    {
      "from": "set:gate-predicates",
      "to": "layer:flow",
      "kind": "member-of"
    },
    {
      "from": "set:mcp-tools",
      "to": "layer:proof",
      "kind": "member-of"
    },
    {
      "from": "set:namespaces",
      "to": "layer:shape",
      "kind": "member-of"
    },
    {
      "from": "set:permit-families",
      "to": "layer:boundary",
      "kind": "member-of"
    },
    {
      "from": "set:providers",
      "to": "layer:reach",
      "kind": "member-of"
    },
    {
      "from": "set:secret-sources",
      "to": "layer:boundary",
      "kind": "member-of"
    },
    {
      "from": "set:showcases",
      "to": "layer:proof",
      "kind": "member-of"
    },
    {
      "from": "set:templates",
      "to": "layer:reach",
      "kind": "member-of"
    },
    {
      "from": "set:tool-families",
      "to": "layer:reach",
      "kind": "member-of"
    },
    {
      "from": "set:truth-words",
      "to": "layer:proof",
      "kind": "member-of"
    },
    {
      "from": "set:types",
      "to": "layer:shape",
      "kind": "member-of"
    },
    {
      "from": "set:verbs",
      "to": "layer:acts",
      "kind": "member-of"
    },
    {
      "from": "set:words",
      "to": "layer:shape",
      "kind": "member-of"
    },
    {
      "from": "showcase:t1-image-fx-batch",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t1-meeting-actions",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t1-og-images",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t1-price-watch",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t1-social-repurpose",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t1-standup-digest",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-bookmark-triage",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-contract-guard",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-csv-chart-report",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-etl-quarantine",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-invoice-chaser",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-model-bench",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-release-notes",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-release-radar",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-seo-content-brief",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-support-triage",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t2-transcript-shownotes",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t3-competitor-radar",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t3-config-drift-sentinel",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t3-localization-factory",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t3-pr-review-fanout",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t3-resume-screener",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t4-deep-research-brief",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t4-incident-war-room",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "showcase:t4-release-train",
      "to": "set:showcases",
      "kind": "member-of"
    },
    {
      "from": "template:agent-loop",
      "to": "set:templates",
      "kind": "member-of"
    },
    {
      "from": "template:api-upload-and-create",
      "to": "set:templates",
      "kind": "member-of"
    },
    {
      "from": "template:chain",
      "to": "set:templates",
      "kind": "member-of"
    },
    {
      "from": "template:docker-report",
      "to": "set:templates",
      "kind": "member-of"
    },
    {
      "from": "template:etl-state",
      "to": "set:templates",
      "kind": "member-of"
    },
    {
      "from": "template:fanout",
      "to": "set:templates",
      "kind": "member-of"
    },
    {
      "from": "template:gate-and-act",
      "to": "set:templates",
      "kind": "member-of"
    },
    {
      "from": "template:human-gated-ship",
      "to": "set:templates",
      "kind": "member-of"
    },
    {
      "from": "template:media-asset-pack",
      "to": "set:templates",
      "kind": "member-of"
    },
    {
      "from": "template:website-brief",
      "to": "set:templates",
      "kind": "member-of"
    },
    {
      "from": "tool:assert",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:chart",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:compose",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:convert",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:date",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:decide",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:done",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:edit",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:emit",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:fetch",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:glob",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:grep",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:hash",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:image_fx",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:image_generate",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:inspect",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:jq",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:json_diff",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:json_merge_patch",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:log",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:notify",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:prompt",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:read",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:tts_generate",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:uuid",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:validate",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:wait",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "tool:write",
      "to": "set:builtins",
      "kind": "member-of"
    },
    {
      "from": "truth:atlas",
      "to": "set:truth-words",
      "kind": "member-of"
    },
    {
      "from": "truth:canon",
      "to": "set:truth-words",
      "kind": "member-of"
    },
    {
      "from": "truth:catalog",
      "to": "set:truth-words",
      "kind": "member-of"
    },
    {
      "from": "truth:manifest",
      "to": "set:truth-words",
      "kind": "member-of"
    },
    {
      "from": "truth:mirror",
      "to": "set:truth-words",
      "kind": "member-of"
    },
    {
      "from": "truth:pack",
      "to": "set:truth-words",
      "kind": "member-of"
    },
    {
      "from": "truth:pin",
      "to": "set:truth-words",
      "kind": "member-of"
    },
    {
      "from": "truth:registry",
      "to": "set:truth-words",
      "kind": "member-of"
    },
    {
      "from": "truth:schema",
      "to": "set:truth-words",
      "kind": "member-of"
    },
    {
      "from": "truth:spec",
      "to": "set:truth-words",
      "kind": "member-of"
    },
    {
      "from": "type:bool",
      "to": "set:types",
      "kind": "member-of"
    },
    {
      "from": "type:bytes",
      "to": "set:types",
      "kind": "member-of"
    },
    {
      "from": "type:duration",
      "to": "set:types",
      "kind": "member-of"
    },
    {
      "from": "type:integer",
      "to": "set:types",
      "kind": "member-of"
    },
    {
      "from": "type:null",
      "to": "set:types",
      "kind": "member-of"
    },
    {
      "from": "type:number",
      "to": "set:types",
      "kind": "member-of"
    },
    {
      "from": "type:path",
      "to": "set:types",
      "kind": "member-of"
    },
    {
      "from": "type:string",
      "to": "set:types",
      "kind": "member-of"
    },
    {
      "from": "type:timestamp",
      "to": "set:types",
      "kind": "member-of"
    },
    {
      "from": "type:uri",
      "to": "set:types",
      "kind": "member-of"
    },
    {
      "from": "verb:agent",
      "to": "set:verbs",
      "kind": "member-of"
    },
    {
      "from": "verb:exec",
      "to": "set:verbs",
      "kind": "member-of"
    },
    {
      "from": "verb:infer",
      "to": "set:verbs",
      "kind": "member-of"
    },
    {
      "from": "verb:invoke",
      "to": "set:verbs",
      "kind": "member-of"
    },
    {
      "from": "word:after",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:agent",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:args",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:backoff_max_ms",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:backoff_ms",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:backoff_strategy",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:capture",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:command",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:config",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:const",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:cwd",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:decode",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:description",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:env",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:exec",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:fail_fast",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:fail_workflow",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:for_each",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:id",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:infer",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:inputs",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:invoke",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:jitter",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:max_attempts",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:max_parallel",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:max_tokens",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:max_tokens_total",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:max_turns",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:model",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:nika",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:on_codes",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:on_error",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:on_finally",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:output",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:outputs",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:permits",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:policy",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:prompt",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:recover",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:retry",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:returns",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:schema",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:secrets",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:shell",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:skills",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:skip",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:stdin",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:system",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:tasks",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:temperature",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:thinking",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:timeout",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:tool",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:tools",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:types",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:vision",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:when",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:with",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "word:workflow",
      "to": "set:words",
      "kind": "member-of"
    },
    {
      "from": "post:anatomy-of-a-verb",
      "to": "tool:read",
      "kind": "mentions"
    },
    {
      "from": "post:anatomy-of-a-verb",
      "to": "word:exec",
      "kind": "mentions"
    },
    {
      "from": "post:anatomy-of-a-verb",
      "to": "word:tools",
      "kind": "mentions"
    },
    {
      "from": "post:blast-radius-in-the-file",
      "to": "code:NIKA-SEC-004",
      "kind": "mentions"
    },
    {
      "from": "post:blast-radius-in-the-file",
      "to": "word:permits",
      "kind": "mentions"
    },
    {
      "from": "post:dag-for-free",
      "to": "word:after",
      "kind": "mentions"
    },
    {
      "from": "post:dag-for-free",
      "to": "word:with",
      "kind": "mentions"
    },
    {
      "from": "post:four-verbs",
      "to": "tool:fetch",
      "kind": "mentions"
    },
    {
      "from": "post:injection-goes-nowhere",
      "to": "tool:write",
      "kind": "mentions"
    },
    {
      "from": "post:intent-as-code",
      "to": "word:with",
      "kind": "mentions"
    },
    {
      "from": "post:media-are-workflow-citizens",
      "to": "tool:image_generate",
      "kind": "mentions"
    },
    {
      "from": "post:media-are-workflow-citizens",
      "to": "tool:tts_generate",
      "kind": "mentions"
    },
    {
      "from": "post:media-are-workflow-citizens",
      "to": "word:infer",
      "kind": "mentions"
    },
    {
      "from": "post:one-wire-five-servers",
      "to": "word:model",
      "kind": "mentions"
    },
    {
      "from": "post:standard-library-not-plugin-store",
      "to": "tool:fetch",
      "kind": "mentions"
    },
    {
      "from": "post:standard-library-not-plugin-store",
      "to": "word:invoke",
      "kind": "mentions"
    },
    {
      "from": "post:the-agent-workflow-spectrum",
      "to": "code:NIKA-INFER-001",
      "kind": "mentions"
    },
    {
      "from": "post:the-agent-workflow-spectrum",
      "to": "word:model",
      "kind": "mentions"
    },
    {
      "from": "post:the-agent-workflow-spectrum",
      "to": "word:schema",
      "kind": "mentions"
    },
    {
      "from": "post:the-agent-workflow-spectrum",
      "to": "word:tools",
      "kind": "mentions"
    },
    {
      "from": "post:the-editor-tells-the-truth",
      "to": "tool:jq",
      "kind": "mentions"
    },
    {
      "from": "post:the-editor-tells-the-truth",
      "to": "tool:log",
      "kind": "mentions"
    },
    {
      "from": "post:the-editor-tells-the-truth",
      "to": "word:when",
      "kind": "mentions"
    },
    {
      "from": "post:the-generative-workflow",
      "to": "tool:image_generate",
      "kind": "mentions"
    },
    {
      "from": "post:the-generative-workflow",
      "to": "word:const",
      "kind": "mentions"
    },
    {
      "from": "post:the-mcp-server-you-didnt-build",
      "to": "tool:write",
      "kind": "mentions"
    },
    {
      "from": "post:the-one-task-rerun",
      "to": "word:outputs",
      "kind": "mentions"
    },
    {
      "from": "post:the-pipeline-is-a-file",
      "to": "word:model",
      "kind": "mentions"
    },
    {
      "from": "post:the-pipeline-is-a-file",
      "to": "word:permits",
      "kind": "mentions"
    },
    {
      "from": "post:the-run-that-waits",
      "to": "word:permits",
      "kind": "mentions"
    },
    {
      "from": "post:the-run-that-waits",
      "to": "word:when",
      "kind": "mentions"
    },
    {
      "from": "post:the-secrets-line",
      "to": "word:outputs",
      "kind": "mentions"
    },
    {
      "from": "post:the-secrets-line",
      "to": "word:secrets",
      "kind": "mentions"
    },
    {
      "from": "post:the-secrets-line",
      "to": "word:with",
      "kind": "mentions"
    },
    {
      "from": "post:the-trace-you-can-replay",
      "to": "word:after",
      "kind": "mentions"
    },
    {
      "from": "post:the-trace-you-can-replay",
      "to": "word:with",
      "kind": "mentions"
    },
    {
      "from": "post:written-by-agents",
      "to": "word:model",
      "kind": "mentions"
    },
    {
      "from": "post:written-by-agents",
      "to": "word:permits",
      "kind": "mentions"
    },
    {
      "from": "code:NIKA-AGENT-001",
      "to": "word:max_turns",
      "kind": "names"
    },
    {
      "from": "code:NIKA-AGENT-002",
      "to": "word:max_tokens_total",
      "kind": "names"
    },
    {
      "from": "code:NIKA-AGENT-003",
      "to": "word:skills",
      "kind": "names"
    },
    {
      "from": "code:NIKA-AGENT-004",
      "to": "word:agent",
      "kind": "names"
    },
    {
      "from": "code:NIKA-AGENT-004",
      "to": "word:description",
      "kind": "names"
    },
    {
      "from": "code:NIKA-AGENT-004",
      "to": "word:skills",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:assert",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:chart",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:compose",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:convert",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:date",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:decide",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:done",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:edit",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:emit",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:fetch",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:glob",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:grep",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:hash",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:image_fx",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:image_generate",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:inspect",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:jq",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:json_diff",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:json_merge_patch",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:log",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:notify",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:prompt",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:read",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:tts_generate",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:uuid",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:validate",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:wait",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "tool:write",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "word:invoke",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-001",
      "to": "word:nika",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-DONE-001",
      "to": "tool:done",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-DONE-001",
      "to": "word:agent",
      "kind": "names"
    },
    {
      "from": "code:NIKA-BUILTIN-DONE-001",
      "to": "word:nika",
      "kind": "names"
    },
    {
      "from": "code:NIKA-CANCEL-001",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "code:NIKA-COMP-001",
      "to": "word:invoke",
      "kind": "names"
    },
    {
      "from": "code:NIKA-COMP-001",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "code:NIKA-COMP-002",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "code:NIKA-COMP-004",
      "to": "word:inputs",
      "kind": "names"
    },
    {
      "from": "code:NIKA-COMP-004",
      "to": "word:outputs",
      "kind": "names"
    },
    {
      "from": "code:NIKA-COMP-004",
      "to": "word:returns",
      "kind": "names"
    },
    {
      "from": "code:NIKA-DAG-001",
      "to": "word:after",
      "kind": "names"
    },
    {
      "from": "code:NIKA-DAG-001",
      "to": "word:with",
      "kind": "names"
    },
    {
      "from": "code:NIKA-DAG-002",
      "to": "word:after",
      "kind": "names"
    },
    {
      "from": "code:NIKA-DAG-002",
      "to": "word:with",
      "kind": "names"
    },
    {
      "from": "code:NIKA-DAG-004",
      "to": "word:on_error",
      "kind": "names"
    },
    {
      "from": "code:NIKA-DAG-004",
      "to": "word:recover",
      "kind": "names"
    },
    {
      "from": "code:NIKA-DAG-005",
      "to": "word:after",
      "kind": "names"
    },
    {
      "from": "code:NIKA-DAG-006",
      "to": "word:when",
      "kind": "names"
    },
    {
      "from": "code:NIKA-DECIDE-002",
      "to": "word:schema",
      "kind": "names"
    },
    {
      "from": "code:NIKA-EXEC-001",
      "to": "word:capture",
      "kind": "names"
    },
    {
      "from": "code:NIKA-EXEC-002",
      "to": "word:command",
      "kind": "names"
    },
    {
      "from": "code:NIKA-INFER-002",
      "to": "word:after",
      "kind": "names"
    },
    {
      "from": "code:NIKA-INFER-002",
      "to": "word:output",
      "kind": "names"
    },
    {
      "from": "code:NIKA-INFER-002",
      "to": "word:schema",
      "kind": "names"
    },
    {
      "from": "code:NIKA-INVOKE-001",
      "to": "word:nika",
      "kind": "names"
    },
    {
      "from": "code:NIKA-INVOKE-002",
      "to": "word:schema",
      "kind": "names"
    },
    {
      "from": "code:NIKA-LOCK-001",
      "to": "word:nika",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-002",
      "to": "word:nika",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-002",
      "to": "word:tasks",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-002",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-003",
      "to": "word:nika",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-004",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-007",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-008",
      "to": "word:agent",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-008",
      "to": "word:infer",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-008",
      "to": "word:invoke",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-010",
      "to": "word:timeout",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-011",
      "to": "word:retry",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-012",
      "to": "word:on_error",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-013",
      "to": "word:output",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-013",
      "to": "word:with",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-014",
      "to": "word:secrets",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-018",
      "to": "word:command",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-018",
      "to": "word:exec",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-018",
      "to": "word:infer",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-018",
      "to": "word:invoke",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-018",
      "to": "word:prompt",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-020",
      "to": "word:id",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-020",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-021",
      "to": "word:description",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-021",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-022",
      "to": "word:id",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-022",
      "to": "word:tasks",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-023",
      "to": "word:id",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-024",
      "to": "word:after",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-024",
      "to": "word:with",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-025",
      "to": "word:capture",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-025",
      "to": "word:decode",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PARSE-025",
      "to": "word:returns",
      "kind": "names"
    },
    {
      "from": "code:NIKA-POLICY-001",
      "to": "word:policy",
      "kind": "names"
    },
    {
      "from": "code:NIKA-PORT-002",
      "to": "word:policy",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-001",
      "to": "word:exec",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-002",
      "to": "word:agent",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-002",
      "to": "word:tools",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-003",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-004",
      "to": "word:permits",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-005",
      "to": "word:nika",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-005",
      "to": "word:permits",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-006",
      "to": "word:agent",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-006",
      "to": "word:infer",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-006",
      "to": "word:invoke",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-006",
      "to": "word:prompt",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-006",
      "to": "word:secrets",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-007",
      "to": "word:outputs",
      "kind": "names"
    },
    {
      "from": "code:NIKA-SEC-007",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TIMEOUT-001",
      "to": "word:for_each",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TIMEOUT-001",
      "to": "word:timeout",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-001",
      "to": "word:outputs",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-001",
      "to": "word:returns",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-001",
      "to": "word:types",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-002",
      "to": "word:types",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-003",
      "to": "word:returns",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-003",
      "to": "word:schema",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-004",
      "to": "word:decode",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-004",
      "to": "word:returns",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-101",
      "to": "word:exec",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-101",
      "to": "word:invoke",
      "kind": "names"
    },
    {
      "from": "code:NIKA-TYPE-101",
      "to": "word:returns",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-003",
      "to": "word:schema",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-005",
      "to": "word:when",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-006",
      "to": "word:for_each",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-006",
      "to": "word:when",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-009",
      "to": "word:output",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-009",
      "to": "word:outputs",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-020",
      "to": "word:output",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-020",
      "to": "word:tasks",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "word:after",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "word:on_error",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "word:on_finally",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "word:outputs",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "word:recover",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "word:tasks",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "word:with",
      "kind": "names"
    },
    {
      "from": "code:NIKA-VAR-021",
      "to": "word:workflow",
      "kind": "names"
    },
    {
      "from": "chapter:canon.yaml",
      "to": "layer:proof",
      "kind": "projects-to"
    },
    {
      "from": "chapter:examples/manifest.yaml",
      "to": "layer:proof",
      "kind": "projects-to"
    },
    {
      "from": "chapter:spec/01-envelope.md",
      "to": "layer:boundary",
      "kind": "projects-to"
    },
    {
      "from": "chapter:spec/01-envelope.md",
      "to": "layer:shape",
      "kind": "projects-to"
    },
    {
      "from": "chapter:spec/02-verbs.md",
      "to": "layer:acts",
      "kind": "projects-to"
    },
    {
      "from": "chapter:spec/03-dag.md",
      "to": "layer:flow",
      "kind": "projects-to"
    },
    {
      "from": "chapter:spec/03-dag.md",
      "to": "layer:shape",
      "kind": "projects-to"
    },
    {
      "from": "chapter:spec/04-variables.md",
      "to": "layer:boundary",
      "kind": "projects-to"
    },
    {
      "from": "chapter:spec/04-variables.md",
      "to": "layer:shape",
      "kind": "projects-to"
    },
    {
      "from": "chapter:spec/05-errors.md",
      "to": "layer:refusals",
      "kind": "projects-to"
    },
    {
      "from": "chapter:spec/07-conformance.md",
      "to": "layer:proof",
      "kind": "projects-to"
    },
    {
      "from": "chapter:spec/09-types.md",
      "to": "layer:shape",
      "kind": "projects-to"
    },
    {
      "from": "chapter:stdlib/builtins-v0.1.md",
      "to": "layer:reach",
      "kind": "projects-to"
    },
    {
      "from": "chapter:stdlib/extract-modes-v0.1.md",
      "to": "layer:reach",
      "kind": "projects-to"
    },
    {
      "from": "chapter:stdlib/providers-v0.1.md",
      "to": "layer:reach",
      "kind": "projects-to"
    },
    {
      "from": "chapter:templates/README.md",
      "to": "layer:reach",
      "kind": "projects-to"
    },
    {
      "from": "showcase:t1-image-fx-batch",
      "to": "tool:glob",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-image-fx-batch",
      "to": "tool:image_fx",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-image-fx-batch",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-meeting-actions",
      "to": "tool:log",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-meeting-actions",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-meeting-actions",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-meeting-actions",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-meeting-actions",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-og-images",
      "to": "tool:image_generate",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-og-images",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-price-watch",
      "to": "tool:fetch",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-price-watch",
      "to": "tool:notify",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-price-watch",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-social-repurpose",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-social-repurpose",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-social-repurpose",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-social-repurpose",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-standup-digest",
      "to": "tool:date",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-standup-digest",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-standup-digest",
      "to": "verb:exec",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-standup-digest",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t1-standup-digest",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-bookmark-triage",
      "to": "tool:fetch",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-bookmark-triage",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-bookmark-triage",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-bookmark-triage",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-contract-guard",
      "to": "tool:assert",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-contract-guard",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-contract-guard",
      "to": "tool:validate",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-contract-guard",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-contract-guard",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-contract-guard",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-csv-chart-report",
      "to": "tool:chart",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-csv-chart-report",
      "to": "tool:convert",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-csv-chart-report",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-csv-chart-report",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-csv-chart-report",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-csv-chart-report",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-etl-quarantine",
      "to": "tool:convert",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-etl-quarantine",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-etl-quarantine",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-etl-quarantine",
      "to": "tool:validate",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-etl-quarantine",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-etl-quarantine",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-invoice-chaser",
      "to": "tool:convert",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-invoice-chaser",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-invoice-chaser",
      "to": "tool:prompt",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-invoice-chaser",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-invoice-chaser",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-invoice-chaser",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-invoice-chaser",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-model-bench",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-model-bench",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-model-bench",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-model-bench",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-notes",
      "to": "tool:edit",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-notes",
      "to": "tool:notify",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-notes",
      "to": "verb:exec",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-notes",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-notes",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-radar",
      "to": "tool:fetch",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-radar",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-radar",
      "to": "tool:json_diff",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-radar",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-radar",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-radar",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-release-radar",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-seo-content-brief",
      "to": "tool:fetch",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-seo-content-brief",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-seo-content-brief",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-seo-content-brief",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-support-triage",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-support-triage",
      "to": "tool:notify",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-support-triage",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-support-triage",
      "to": "tool:uuid",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-support-triage",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-support-triage",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-support-triage",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-transcript-shownotes",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-transcript-shownotes",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-transcript-shownotes",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-transcript-shownotes",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t2-transcript-shownotes",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-competitor-radar",
      "to": "tool:fetch",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-competitor-radar",
      "to": "tool:notify",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-competitor-radar",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-competitor-radar",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-competitor-radar",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-config-drift-sentinel",
      "to": "tool:emit",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-config-drift-sentinel",
      "to": "tool:fetch",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-config-drift-sentinel",
      "to": "tool:hash",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-config-drift-sentinel",
      "to": "tool:json_diff",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-config-drift-sentinel",
      "to": "tool:json_merge_patch",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-config-drift-sentinel",
      "to": "tool:notify",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-config-drift-sentinel",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-config-drift-sentinel",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-config-drift-sentinel",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-localization-factory",
      "to": "tool:glob",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-localization-factory",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-localization-factory",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-localization-factory",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-localization-factory",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-localization-factory",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-pr-review-fanout",
      "to": "tool:grep",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-pr-review-fanout",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-pr-review-fanout",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-pr-review-fanout",
      "to": "verb:agent",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-pr-review-fanout",
      "to": "verb:exec",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-pr-review-fanout",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-pr-review-fanout",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-resume-screener",
      "to": "tool:glob",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-resume-screener",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-resume-screener",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-resume-screener",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-resume-screener",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t3-resume-screener",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "tool:convert",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "tool:date",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "tool:fetch",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "tool:inspect",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "tool:jq",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "tool:notify",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "verb:exec",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-ceo-monday-brief",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-deep-research-brief",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-deep-research-brief",
      "to": "verb:agent",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-deep-research-brief",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-deep-research-brief",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-incident-war-room",
      "to": "tool:assert",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-incident-war-room",
      "to": "tool:emit",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-incident-war-room",
      "to": "tool:fetch",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-incident-war-room",
      "to": "tool:read",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-incident-war-room",
      "to": "tool:wait",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-incident-war-room",
      "to": "tool:write",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-incident-war-room",
      "to": "verb:exec",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-incident-war-room",
      "to": "verb:infer",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-incident-war-room",
      "to": "verb:invoke",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-release-train",
      "to": "tool:assert",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-release-train",
      "to": "tool:date",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-release-train",
      "to": "tool:emit",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-release-train",
      "to": "tool:fetch",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-release-train",
      "to": "tool:prompt",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-release-train",
      "to": "tool:wait",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-release-train",
      "to": "verb:exec",
      "kind": "witnesses"
    },
    {
      "from": "showcase:t4-release-train",
      "to": "verb:invoke",
      "kind": "witnesses"
    }
  ]
}
