Capability surfaces

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.

The fabric

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.

The visualization layer

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.

UMG
Compiler

Compile pipeline IS explain pipeline

5
Canonical primitives

Reports · Dashboards · Models · Metrics · Perspectives

Lineage-tracked
Every metric

Source row → dashboard chart

Branchable
Like everything else

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.