Overview
Natural-language questions over governed data — grounded in the glossary, metrics and schema held in OpenMetadata, fronted by Azure API Management, and answered under the asking user’s own Entra identity.
Everything here runs locally against the Azure emulator family, and the same code runs against real Azure — switching is configuration, not a code path.
Getting started
Section titled “Getting started”- Quick start — the whole stack from nothing
- Architecture — what each component is for
Using it
Section titled “Using it”- MCP clients — connect Claude, Cursor or VS Code with no custom code
- The ask service — a ticket, then a stream, so a client can speak first
- Authorization — how one user sees different rows than another, and which apps may ask
- Data sensitivity and classification — a label in OpenMetadata becomes a column the answer will not show
- Adding a source — an adapter, a dialect, and whose permissions apply
Proving it
Section titled “Proving it”- Evaluation — does the catalog change the answer?
- Load testing — and what the gateway costs
- Testing — what each layer of the suite is for
- Continuous integration — every gate, and why a red job is not always the cause
Operating it
Section titled “Operating it”- Running this against real Azure — what changes, and what does not
- Releases and images — two executors answering one contract, and which image to pull
- The model call, through the gateway — capping and billing per person, without naming the person
- The model, and the gateway in front of it — protocols rather than vendors, so any of them is a base URL
- Recurring-question promotion — a recurring question becomes a dashboard, with no prose stored
- Publishing a dashboard — Power BI, Superset and Tableau from one plan
- Adding a dashboard target — one plan, another renderer
Reference
Section titled “Reference”- Charts with dbt Charts — a proposal: dbt Charts may draw the data, never fetch it
- Scoping REST and GraphQL sources — an OpenAPI document is the allow-list; GraphQL is not built
- Go executor parity — what each implementation can do, measured
- Parity — what is witnessed, and where — the ledger that separates the emulators from real Azure
- Upstream issues (proposed, not patched) — what is broken beneath us, filed rather than worked around