Data & semantic layer
governed metrics and typed knowledge graphs — single-sourced numbers
The metrics track starts from one rule: a metric is defined once, and nothing downstream composes its own SQL. A dbt + MetricFlow semantic layer over a DuckDB warehouse holds nine governed metrics, business rules living in the YAML and mart SQL rather than in any consumer. Two public consumers read that same layer — dbt-semantic-mcp, an MCP server whose three tools let an agent answer KPI questions with lineage back to the dbt nodes, and kpi-console, a SvelteKit application that is itself an MCP client of that server — so the human surface and the agent surface return the same numbers.
The warehouse is a deterministic synthetic set of roughly four thousand orders in one DuckDB file: the patterns transfer, but cloud-warehouse scale and orchestration are out of scope.
The second track is knowledge cartography — a schema-first method that catalogs an unfamiliar domain before any build, plus typed graphs that make a real corpus queryable. The cartography case study carries that method and the graph schemas.
System cartography — schema-first maps and typed graphs
A wide-net cartography method that catalogs an unfamiliar domain before any build, and two typed graphs that make a corpus queryable.
dbt-semantic-mcp
An MCP server over a governed dbt + MetricFlow semantic layer (DuckDB) — three tools and nine metrics, with lineage back to the dbt nodes and no SQL composed from model or user input.
kpi-console
A SvelteKit metrics console that is itself an MCP client of dbt-semantic-mcp — a catalog, query builder, lineage view, and hand-written SVG charts; every number sourced from the governed layer.