Ariadne is not a thing next to DataHub. Every claim it makes is a claim about the DataHub graph, read through DataHub's own agent surfaces, and written back through DataHub's own APIs. This page lists each part, what it was used for, and what it returned on this instance.
| surface | what it was used for | what it returned | proof |
|---|---|---|---|
context graph |
The product. Column level lineage from a feature back to the raw census extract, and forward to whatever is serving. | 7 hops | demo |
ingestion connectors |
postgres, dbt and mlflow. Every edge in the graph was produced by one of them. Nothing is hand emitted. | 3 connectors | demo |
MCP server |
The read path an outside agent would take. Run as a child process over stdio, tools discovered at handshake rather than assumed. | 6 tools | mcp |
Agent Context Kit |
The in process read path, and the runtime both agents are built on. | 3 tools used | agents |
Analytics Agent |
Its context platform pattern, not its application. One abstraction per way of reaching a catalog, built by a factory, tools discovered rather than hardcoded. | pattern adopted | agents |
DataHub Skills |
An ML impact skill in the registry format, covering the question the existing five do not: does a warehouse change reach something that is serving. | 1 authored | skill |
Incidents API |
Findings written back so they land where a data team already looks, rather than in a report nobody opens. | 18 raised | demo |
tags and structured metadata |
Governance tags declared in dbt and read back through the sibling graph, which is the only way to see them from a lineage walk. | 14 columns | demo |
Each of these was found by running against a real instance, and each fails silently, which is the reason they are worth writing down. A loud failure teaches you something the first time. These teach you nothing until much later.
initialize. Where that host is
unreachable the send retries for about forty seconds, and because it happens before
the handshake the client sees no error and no response. Setting
DATAHUB_TELEMETRY_ENABLED=false fixes it.
type is one of the casualties
Search results over MCP omit the entity type to save context. Filtering on it works
in process and matches nothing over MCP, with no error. Entity type has to come
from the urn, which no transport can afford to trim.
select * against the schema DataHub already holds, so postgres also
has to run before dbt. The order is postgres, dbt, mlflow, postgres.
dim_person. Lineage traversal returns Postgres
urns, which carry zero. So the obvious question, asked the obvious way,
returns nothing and reads as all clear. Every check here resolves siblings and
reads the union before it answers.
| contribution | what it fixes | where |
|---|---|---|
| MCP self-hosted troubleshooting | The stall before initialize, and the trimmed type field |
datahub#18684 |
| Incidents supported entity types | Replaces "dataset, dashboard, chart, dataFlow, etc" with the seven that actually work, and says ML entities are not among them | datahub#18685 |
| An ML impact skill | The question the existing five skills do not cover, with all four traps written in | datahub-skills#66 |
| Agent Context Kit import bug | Its LangChain registration cannot import against the acryl-datahub version it pins | datahub#18686 |