ContractSpec docs

OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

Graph & Timeline Visualization Configs

GraphVisualizationConfig and TimelineVisualizationConfig extend VisualizationKind with graph and timeline variants for aggregated graph analytics (node-count by dimension, edge-weight measure) and time-axis projections (time dimension + measure series).

field.key.label
Graph & Timeline Visualization Configs
field.version.label
field.type.label
field.title.label
Graph & Timeline Visualization Configs
field.description.label

GraphVisualizationConfig and TimelineVisualizationConfig extend VisualizationKind with graph and timeline variants for aggregated graph analytics (node-count by dimension, edge-weight measure) and time-axis projections (time dimension + measure series).

field.tags.label
tech,contracts,visualizations,graph,timeline
field.owners.label
field.stability.label
public

GraphVisualizationConfig (`kind: 'graph'`)

Aggregated graph analytics view. Use when you want to visualize node populations grouped by a dimension, or edge weights as a measure — not interactive graph topology (use `DataViewGraphSpec` for that).

| Field | Type | Description | |-------|------|-------------| | `nodeDimension` | `string?` | Dimension key to group/color nodes (e.g. type, status). | | `edgeWeightMeasure` | `string?` | Measure key representing edge weight or count. | | `layout` | `'force' | 'dag' | 'radial' | 'grid'?` | Default layout algorithm. |

TimelineVisualizationConfig (`kind: 'timeline'`)

Projects records along a time axis. Use for event/activity charts where the goal is aggregate density or value over time — not interactive graph topology.

| Field | Type | Description | |-------|------|-------------| | `timeDimension` | `string` | **Required.** Dimension key holding the time value. | | `laneDimension` | `string?` | Dimension key for grouping swim-lanes. | | `measureSeries` | `string[]?` | Measure keys to render as overlaid chart series. | | `endDimension` | `string?` | End-time dimension for span/interval events. |

Choosing Between VisualizationSpec and DataViewGraphSpec

Use `VisualizationSpec` with `kind: 'graph' | 'timeline'` for **aggregated

analytics** (e.g., charts, dashboards).

Use `DataViewGraphSpec` with `view.kind: 'graph' | 'timeline-graph'` for

**interactive graph topology** (clickable nodes, editable edges, layout algorithms, node inspector panels).