Ontology Graph Viewer Runbook | Kamiwaza Docs

Graph Tab Overview

The Graph tab in a workroom shows a knowledge graph built from the workroom's sources. The Graph tab renders an empty or "being set up" state when the underlying ontology graph instance for the workroom is not yet running. This page describes what those states mean and how to recover from them.

If you reached this page from the View runbook button in the Graph tab, the workroom's graph instance is provisioned but not in a running state, or is still being provisioned and has exceeded the typical setup window.

What You May See

The Graph tab surfaces two empty states that link to this runbook:

For context, two adjacent Graph tab states that don't link here but appear elsewhere in this page:

The first response to either of the runbook-linked states is to refresh the page. The tab re-queries instance status on reload, and a transient state may resolve on its own.

"Knowledge graph is being set up"

If this message persists for longer than a minute or two, the auto-provisioner is not completing. Check the underlying pods:

kubectl get pods -n kamiwaza -l extensions.kamiwaza.io/name=service-graphiti

The Kamiwaza extension operator labels graph backend pods with extensions.kamiwaza.io/name=service-graphiti. If the selector returns no pods, the operator has not yet created them — confirm the service-graphiti``KamiwazaExtension resource is present in the namespace and reconciling without errors.

If the pods exist but are not Running, inspect them:

kubectl describe pod -n kamiwaza <pod>

kubectl logs -n kamiwaza <pod>

Common causes for a stuck pending state include:

"Graph instance idle"

The instance status string in the empty state indicates the broad failure mode. Use the same selector to find the pods:

kubectl get pods -n kamiwaza -l extensions.kamiwaza.io/name=service-graphiti \
  -L extensions.kamiwaza.io/deployment-id

-L extensions.kamiwaza.io/deployment-id surfaces the per-workroom deployment id as a column rather than printing the full label set. Each per-workroom graph instance is provisioned as a separate KamiwazaExtension and carries a unique extensions.kamiwaza.io/deployment-id label, which the operator also propagates to the owning Deployment — so the same label scopes both pod-level and Deployment-level commands later in this runbook. To list just the deployment-id values currently in the namespace:

kubectl get pods -n kamiwaza -l extensions.kamiwaza.io/name=service-graphiti \
  -o jsonpath='{range .items[*]}{.metadata.labels.extensions\.kamiwaza\.io/deployment-id}{