Dependencies
See how pipelines, connections, functions, topics and dashboards depend on each other, and check what a change would affect before you make it.
- Where
- Context Engine › Dependencies
- Entity types
- Pipeline · Connection · Function · Topic · Dashboard
- Insights
- Silent breakage · Structural risk · Hygiene
Overview
Dependencies is an interactive map of your MaestroHub setup: every entity in your workspace (pipelines, connections, functions, UNS topics, and dashboards) and the dependencies between them. Use it to understand how your system is wired together, trace the impact of a change before you make it, and spot unused or fragile resources.
Rather than dumping every node onto one canvas, the graph is focus-centric: it always centers on a single entity and renders its surrounding neighborhood: everything connected to it within a few hops. You explore by re-centering on whichever entity you care about next, so even very large workspaces stay readable.
Navigation Path: Context Engine > Dependencies (it used to sit under Orchestrate; old links redirect).


Dependencies centered on the OP10 tool-wear guard: the connections, functions and UNS topics it uses, and the station collector pipeline that shares them.
Entity Types
Each node in the graph is an entity of one of these types. Every type has a distinct color and icon so you can identify it at a glance: on the canvas, in the detail panel, in search results and in the Filter panel. A value's lineage map draws with the same colors and icons, so a pipeline is the same blue tile on both.
| Entity Type | Color | Icon | Description |
|---|---|---|---|
| Pipeline | Blue | Two linked boxes | A workflow in the Pipeline Designer. |
| Connection | Green | Its protocol's: a globe for REST, a chip for Modbus or OPC UA, waves for MQTT, a cylinder for a database; a plug otherwise | A configured connector profile (MQTT, OPC UA, Modbus, etc.). |
| Function | Amber | f in a square | A reusable function defined within a connection. |
| Topic | Magenta | Radio waves | A UNS topic path. |
| Dashboard | Pink | Panels | A UNS dashboard. |
The Filter panel also lists Apps, Things, Types and Bindings. Apps belong to App Studio, which is in release 3.0 as Beta, a paid add-on; without it they show a count of zero. Things, Types and Bindings belong to the Knowledge Graph, which is coming soon and is not part of release 3.0, so they show a count of zero.
On the canvas, each entity is a dot in its type's color with its name beside it, and its type's icon inside once you zoom in far enough to read it; the entity in focus is the larger dot. Lines between dots show a dependency relationship: the arrow points from the entity that depends on another toward the entity it depends on (for example, from a pipeline to the connection it reads from).
Focus and the Neighborhood
The graph always has one focal entity. The canvas shows that entity at the center plus its connected neighborhood: direct neighbors and their neighbors, out to a few hops. This keeps the view meaningful no matter how large your workspace is.
You can change the focal entity from many places, and every one of them re-centers the canvas the same way:
- Click any node on the canvas to re-center on it.
- Pick a result from the toolbar search.
- Click a story card in Mission Control (see below).
- Click an entity in the Insights panel.
- Click a dependency or dependent row in the detail panel.
- Click an entry in the breadcrumb trail.
- Open the page with a
?focus=deep link (the "View dependencies" shortcut on entity pages produces one of these).
The current focal entity is shown as a chip in the toolbar with its name. Click the ✕ on the chip to clear focus and return to the landing experience.
Mission Control (Landing)
When you open the page without a specific entity in mind, the graph drops you into Mission Control: it auto-focuses the strongest hub in your workspace (the most-connected entity) so the canvas is never blank, and overlays a short stack of narrated story cards:
- Heart of your system: your most-connected entity. Changes here ripple the widest.
- Setup risk / Silent breakage risk: the top structural-risk or silent-breakage entity surfaced by Insights. (If no insights have been computed yet, this card falls back to your second-most-connected hub.)
- Drifting alone: entities flagged as unused or stale and likely safe to clean up. (Falls back to your third-most-connected hub when there are no hygiene flags.)
Click any card to re-center the graph on that entity. Dismiss the stack with the ✕ in its header: the canvas keeps its current focus; only the cards get out of the way. Clearing focus brings Mission Control back so the landing experience is reproducible.
When nothing is focused (for example, right after you clear focus) the cards expand into a larger centered "Where do you want to look?" layout that also shows totals: your entity count, connection count, and a per-type breakdown.
The Toolbar
The toolbar floats at the top-center of the canvas and holds every primary control:
| Control | What it does |
|---|---|
| Focal entity chip | Shows the name of the entity currently in focus. Click ✕ to clear focus. |
| Search | Find and jump to any entity in the workspace (see Searching). |
| Filter | Open the search-scope and dynamic-edge options (see Filtering). |
| ⋯ (More) | Opens a menu with Insights, Changes, Refresh, and Rebuild graph. A badge on this button shows the current insight count. |
A breadcrumb trail appears just below the toolbar once you've navigated through more than one entity.
Searching
Use the Search box in the toolbar to find any entity by name across the entire workspace.
- Start typing to see live results. Each result row shows the entity name, its type (color dot), and how many edges it has.
- Use the ↑ / ↓ arrow keys to move through the result list and press Enter to pick the highlighted one, or click any row.
- Picking a result re-centers the canvas on that entity and opens its detail panel; search is how you navigate, not just highlight.
- Press Esc or click the ✕ to dismiss the results.
Search covers your whole workspace, not just the entities currently on screen. The result list is narrowed by the search scope set in the Filter panel.
Filtering
Click the Filter button in the toolbar to control two things: which entity types the search and starter suggestions consider, and whether runtime-discovered edges are shown.


Filter panel: set the search scope per entity type, and choose how dynamic (runtime-discovered) edges are handled.
Search scope
Toggle individual entity types on or off. Each row shows a live count of that type in your workspace.
| Type | Default | Notes |
|---|---|---|
| Pipeline | On | |
| Connection | On | |
| Dashboard | On | |
| Function | Off | Often tens of thousands per workspace, so opt-in. |
| Topic | Off | Often tens of thousands per workspace, so opt-in. |
The search scope narrows entity search and the starter suggestions; it does not redact the neighbors already rendered around your focal entity. If you've focused on a pipeline, the functions and topics it touches still appear on the canvas even when those types are toggled off, because "show me everything connected to this" is what focusing asks for.
Dynamic edges
Some dependencies are discovered at runtime rather than declared in configuration. Choose how they're treated:
| Option | Behavior |
|---|---|
| Follow server default | Defer to your deployment's configured default. |
| Include dynamic edges | Show runtime-discovered links. |
| Static only | Hide runtime-discovered links. |
Your choice is reflected in the URL, so a filtered view can be shared or bookmarked.
Navigating the Canvas
Zoom and Pan
| Action | How |
|---|---|
| Pan | Scroll wheel (any direction), or middle-click drag |
| Zoom in / out | Ctrl / Cmd + scroll wheel, or the + / − buttons (bottom-left controls) |
| Fit all nodes to view | Click the Fit button in the bottom-left controls |
| Lock / unlock node dragging | Click the Lock toggle in the bottom-left controls to prevent or allow dragging nodes around |
You can drag any node to reposition it; dragged nodes stay pinned where you drop them.
The canvas uses Level of Detail (LOD) rendering: when zoomed out, nodes collapse to colored dots (with small badges summarizing how many edges cross between entity-type clusters) to keep things performant. As you zoom in, nodes expand into labeled cards showing the entity name, type, and a depth badge.
Minimap
A minimap in the bottom-right corner shows your current viewport relative to the whole neighborhood. Click anywhere on it to pan the main canvas to that spot. The minimap shifts left automatically when the detail panel is open so the two don't overlap.
Hover Highlighting
Hover over any node to highlight its dependency chain within the current neighborhood.
- The hovered node is shown at full brightness, and animated particles flow along its closest links.
- Its direct neighbors (1 hop) stay bright, with 2nd- and 3rd-degree connections progressively dimmed. Everything that is lit keeps its name, however far the highlight reaches.
- The lines to its direct neighbors take the color of the entity they start at and say what they are: uses, publishes to, uses topic.
- All unrelated nodes and edges fade to near-invisible.
This makes it easy to trace which entities a given node depends on (or which would be affected if it changed) without clicking into anything.
Depth Badge
Each node card shows a small depth badge (e.g., d2, d4) in its lower-left corner. This number is the longest dependency chain extending out from that node within the current neighborhood: how many hops it is to its deepest downstream dependency.
A depth of d0 means the node has no further dependencies in view. A higher number (e.g., d5) means the node sits at the top of a long chain. When zoomed out to dot mode, the depth is shown as a partial arc around the dot instead of a badge.
Node Detail Panel
Re-centering on an entity (by clicking it, searching for it, or any other focus action) opens the Detail Panel on the right side of the screen.


The guard's detail panel: 11 dependencies and no dependents. Each row re-centers the graph on that entity.
A Links / History switch under the actions picks what the panel shows. Links (the default) shows:
- Entity name and type, with View Entity (open the entity's configuration page in a new tab) and Copy ID actions.
- Insights for this entity, if any, each with a help icon (opens the reference) and a snooze button.
- Dependencies and Dependents counts.
- Metadata captured for the entity.
- Dependencies: the entities this node directly depends on.
- Dependents: the entities that directly depend on this node.
The dependency and dependent lists are paginated: click Load more to fetch additional entries when an entity has many. Clicking any row re-centers the canvas on that entity, so the panel doubles as a navigation surface.
History shows how the entity changed. See History.
History
Choose History in the Detail Panel to see every change to the entity, newest first.


The guard's history: created by Ada Admin, then the connections and functions it came to use, each change with who made it and when.
Each change says:
- What happened: created, changed, deleted, or links changed.
- Who made the change and when.
- What changed: a rename shows the old and the new name, and an edited description or label shows its old and new value.
- Which links were added or removed: for example "used by pipeline Line-3 flow". Click a linked entity to re-center the graph on it.
Use it to answer "what changed on Tuesday?" without asking around: if a dashboard stopped showing a value, the history of the pipeline behind it shows when it stopped writing that topic, and who saved it.
A few things are worth knowing:
- A connection's state is not history. A connection going from connecting to connected to failed changes all day; it does not add entries.
- First recorded means the graph learned of the entity when it was built (at an upgrade, for example), not that it was created then. Entities that existed before the graph kept history start with this entry.
- Corrected by a rebuild marks a change the graph missed and a rebuild found. Its time is when the rebuild found it, not when it happened.
- Links to entities you cannot see are counted ("2 links to items you can't see"), never named.
- History is kept for one year by default (
modules.graph.historyRetention).
The Graph as It Stood
Pick a date and time in As of under the toolbar to see the graph as it stood then: which entities existed, what they were called, and what was connected to what. Use it when something worked before and does not now: look at the graph on the day it last worked, and compare.
While a past date is shown:
- A banner says which moment you are looking at, and how many times the focused entity has changed since. Click that count to open its History.
- The Detail Panel says it too, with a Back to now link, so the date stays visible on a narrow screen.
- Back to now (or Now beside the date) returns to the graph as it is.
- The date is part of the page address, so a link you share opens the same moment.
Search, insights and Mission Control always show the graph as it is now. The earliest date you can pick is as far back as history is kept: one year by default (modules.graph.historyRetention). A link to an earlier date, or to one in the future, says so and offers Show the graph now.
From a value, and back
The graph and a value's lineage link both ways:
- In the Data Explorer's Where it comes from, the pipeline that made a value opens here as it was wired when it made it.
- On a topic, the Detail Panel's Trace the latest value opens where that topic's latest value came from. While a past date is shown, it is Trace the value at that date: the value the topic held then, and how it was made.
- View Entity on a topic opens it in the Data Explorer.
Changes
Open the ⋯ More menu and choose Changes to see what happened in this workspace, newest first: which connections, pipelines, functions, dashboards and apps were created, changed or deleted, who did it, and when. A change says what it did: Renamed PLC → Press PLC, type, steps, 2 links added.


The workspace's changes, newest first. Click one to open the item's history.
- All lists every change. Deletions lists only the entities deleted, with who deleted each one.
- Click an entry to open the entity's history: everything that changed on it, and what it was connected to, by name. For a deleted entity, that is what it was connected to when it was deleted: the quickest way to find what a deletion broke.
- A change found by a rebuild or the first start after an upgrade says so (Added by a rebuild, Corrected by a rebuild): that is when the graph learned of it, not when it happened.
- A save that changed nothing the history shows is not listed.
You see a change when your access would show the entity: someone who may read connections but not functions sees the connections' changes only.
Dependencies shows history; it does not restore entities. Recreate a deleted entity from its own page, using its history as the reference.
Changes come from the graph's history, kept for a year by default (modules.graph.historyRetention). For a compliance record, use Audit.
Context Menu
Right-click any node for quick actions without changing focus. The menu header shows the node's dependency and dependent counts.
| Action | Description |
|---|---|
| View | Opens the entity's configuration page in a new tab. |
| Focus | Re-centers the canvas on this node. |
| Copy ID | Copies the entity's ID to your clipboard. |
Breadcrumb Trail
As you re-center from one entity to the next, a breadcrumb trail appears below the toolbar recording your path (up to 8 entries). Click any entry to jump back to that entity. The trail appears once you've visited more than one entity.
Insights
Dependencies continuously analyzes your setup and flags entities worth attention. Insights are grouped into three kinds:
| Kind | Meaning |
|---|---|
| Silent breakage | Something is likely failing without raising an error, the most urgent kind. |
| Structural risk | An architectural concern, such as a connection many pipelines rely on, whose change would cascade widely. |
| Hygiene | A soft cleanup nudge: entities that appear unused or stale. |
Insights surface in three places:
- On the canvas: flagged nodes carry a small kind-colored corner dot (and a matching ring in dot mode).
- In the detail panel: the focused entity's own signals, each with a help link and a snooze button.
- In the Insights panel: open it from the ⋯ More menu (or the badge on that button). It docks on the left of the canvas so it can stay open alongside the detail panel.


The Insights panel lists every flagged entity grouped by kind, with filtering, search, and snooze controls.
In the Insights panel you can:
- Filter by kind using the chips at the top, and search flagged entities by name.
- Click an entity to re-center the canvas on it.
- Snooze an individual signal, all currently-visible signals, or everything firing across the workspace, and Unsnooze all to bring them back.
- Open the reference (help icon) to read what each insight means.
Live Updates
Dependencies stays in sync with your workspace automatically. When any entity is created, updated, or deleted, anywhere in MaestroHub, the view refreshes in the background within seconds, without a manual page reload.
Rebuilding the Graph
In rare cases (for example, after a data migration or system restore) the graph index can drift from the actual state of your workspace. You can check it, and rebuild it, from the ⋯ More menu.
-
Open the ⋯ More menu in the toolbar and choose Rebuild graph.
-
Choose Check to see what a rebuild would correct without changing anything, or Rebuild Graph to rebuild now.
-
A progress indicator shows the current phase, percentage, and entities processed.
-
When it finishes, the dialog says what differed:
- Missing from the graph: items the graph never learned of.
- Out of date in the graph: items the graph holds as they were before a change it missed.
- Deleted, but still in the graph: items that no longer exist.
A graph that kept up says The graph matches: a rebuild would change nothing. After a check that found differences, Rebuild now applies them.
After a rebuild, click an item in the list to open it on the graph with its History, where the correction is marked Corrected by a rebuild. Deleted items are under ⋯ More → Changes, in Deletions.
Rebuilding re-scans every connection, function, and pipeline in the workspace and reconstructs all dependency relationships from scratch. It keeps the history: it compares what it builds with what the graph holds, and writes only the differences. A rebuild of a graph that was already right writes nothing.
Checking and rebuilding need the Rebuild permission on dependencies (dependencies:rebuild).
A rebuild can take a while on large workspaces. It runs in the background; you can close the dialog and keep working while it completes.
- Start from Mission Control to see your most-connected hubs and the entities most at risk, then drill in by clicking a story card.
- Before changing a connection, focus on it and check the Dependents list to see exactly which pipelines and dashboards will be affected.
- Keep the Insights panel open while you work to catch silent breakage and structural risk early, and use Hygiene flags to find dead weight worth removing.
- Toggle Function and Topic into the search scope when you need to jump straight to a specific function or topic by name.