Analytics as a first-class plane.
The Universal Measurement Graph (UMG) compiles measurement intent into typed query plans. Privacy gates enforce who can see what. Lineage tracks where every metric came from. Materialization runs are first-class. Reports, Dashboards, Models, Metrics, Perspectives — every analytics primitive is canonical state, branchable like everything else. The compile pipeline IS the explain pipeline.
Compiled. Materialized. Branchable.
UMG compiler
Universal Measurement Graph — typed query plan compiled from measurement intent. The same compiler runs the explain path; there is no separate diagnosed pipeline (anti-pattern #78 codified).
Privacy gates
Per-measurement access enforcement. Same canonical access policy that gates entity reads gates analytics queries. No second authorization model.
Lineage
Every metric, every report, every dashboard is lineage-tracked. Trace a number on a chart back to the source row, through every materialization step. Auditable end-to-end.
Materialization runs
Periodic or on-demand materialization. Run rows are first-class — pause, resume, retry, audit. Same canonical lifecycle as scheduling.
Reports
Saved query results with parameters and access policy. Branchable, versioned, sharable. The dashboard analytics page tree consumes Reports as a canonical projection.
Dashboards
Compositions of Reports + Metrics + Perspectives. Layout, interactivity, time-window selectors — all canonical state. No second config layer.
Models
Aggregation models on top of entities. Star schemas, cubes, summary tables — declared, materialized, queried through one canonical surface.
Metrics
Named measurements with types, units, aggregation functions. Capability-aware: Vadyl resolves where the metric materializes based on declared substrate caps.
Perspectives
Saved filters and groupings. Reusable across reports and dashboards. Versioned, branchable, federation-aware. Same shape as every other canonical entity.
Renderer-agnostic. VisualizationRenderer is canonical.
VisualizationIntent declares what to show — bars, lines, areas, scatter, heatmap, table. The canonical VisualizationRenderer projects intent to a visual artifact. Mark-specific renderers land per chart family. The HTML-table baseline is always available; richer renderers swap in capability-aware.
Compile pipeline IS explain pipeline
Reports · Dashboards · Models · Metrics · Perspectives
Source row → dashboard chart
Sandbox the dashboard before shipping
Analytics on canonical state.
Same access policy. Same audit. Same lineage. Same branching. Vadyl analytics is not a side product — it's a peer plane to your data.