DataHub and OpenTelemetry¶
DataHub and OpenTelemetry answer different questions.
DataHub asks “what does this data mean?”¶
DataHub can provide metadata such as:
- dataset and schema information;
- ownership;
- upstream and downstream lineage;
- quality assertions;
- lifecycle and deprecation signals;
- query or usage context;
- business descriptions and documents.
Themis reads this information through its MCP boundary. A missing DataHub record is an evidence gap. It is not permission to guess.
OpenTelemetry asks “what did the system do?”¶
OpenTelemetry provides runtime signals. The Themis instrumentation records trace and span IDs for release, replay, oracle, evaluation, and write-back work. A trace backend such as Jaeger can display those spans.
OpenTelemetry can help answer:
- Did the run create a trace?
- Which spans belong to the same run?
- Which operation took the most time?
- Did an operation return an error?
Those values come from telemetry or a receipt. They do not come from the
nyc_taxi SQL table.
What each plane proves¶
| Question | DataHub | OpenTelemetry |
|---|---|---|
| Is the field deprecated? | Yes, when cataloged | No |
| Which team owns the dataset? | Yes, when cataloged | No |
| Did the replay execute? | No | Yes, when traced |
| How long did a span take? | No | Yes, when retained |
| Did the result match the oracle? | No | No; Themis evaluation proves this |
| Which dataset identity did the run use? | Context only | Context only; Themis receipt is authoritative |
Current public boundary¶
The public Analytics Agent has SQL, DataHub, and a narrow read-only Themis
Evidence MCP bridge. The bridge can return only configured demonstration
receipts and Jaeger spans referenced by those validated receipts. It cannot
query an arbitrary trace, enumerate release history, or call Themis mutation
routes. If the bridge cannot verify a value, the agent must label it
UNVERIFIED and point to the current Themis receipt.
Trace correlation¶
Themis records real IDs returned by the OpenTelemetry SDK. It validates the shape of those IDs and places them in the receipt. A trace ID links related spans. A span ID identifies one operation. The parent-child relationship shows the order of work.
A trace is not a decision
A complete trace proves that instrumented work ran. The replay result, oracle result, DataHub evidence, and policy still decide the release.