Skip to content

Dashboard view catalog

This catalog helps dashboard builders choose an existing page, mark, chart, or named UI element before creating something new. It describes the available presentation vocabulary and the purpose of each option.

The executable vocabulary remains authoritative in dashboard/site/src/specification.js; named element implementations are registered in dashboard/site/src/components/ui-elements.js.

For a concrete ownership and responsive-layout example, see the Overview component model.

These are the default product destinations. They are custom pages composed from named elements so their data remains declarative while each specialized interaction has one DOM owner.

Page IDNavigation titleNamed elementPurpose
overviewOverviewfactory-header, factory-floor, link-button-listSummarizes campaign health, repository coverage, weekly rhythm, and campaign shortcuts.
configurationSettingsconfiguration-policyPresents checked-in control policy and its editable settings surface.
governanceGovernanceenvironment-defaultsVisible only in local --admin mode or to authorized hosted administrators; loads, previews, and explicitly approves gh-aw compiler default variables through authorized local CLI actions.

Built-in pages carry renderer-defined semantic requirements and required source contracts.

PagePurpose
overviewCross-domain operational overview with availability and filter context.
organizationsOrganization inventory and aggregate repository, workflow, run, and usage activity.
repositoriesRepository activity, workflow coverage, failures, and usage.
campaignsInstalled campaign inventory, registration, modes, runs, and utilization.
workflowsWorkflow inventory, role, rollout mode, activity, runs, and usage.
runsWorkflow run status, conclusion, model, engine, timing, and repository context.
auditsOrdered audit evidence linked directly to retained runs.
experimentsExperiment definitions and observed variants.
gradersGrader definitions and scored run observations.
evalsEvaluation definitions and run-level results.
usageToken, AIC, estimated cost, model, engine, and scope usage.
engines-modelsModel and engine utilization plus run aggregates.
operational-valueCampaign-defined repository metrics.
findingsLinked security and quality findings with status and severity.
issuesReusable issue entity cards bound to safe-output queries with explicit drill behavior.
costObserved AI Credit cost across campaigns, repositories, and workflows.
memoryBrowses repository memory published by centrally managed campaigns, with Raw and Table tabs for JSONL files.
skills (experimental)Observed skill invocations and the workflows that invoked them.
marketplaceRead-only CAO campaign packages from the configured registries. See Browse campaign packages.
indexingDashboard and server-side collection health, Activity ingestion, and retained database transactions.

JSONL memory files expose their top-level fields as table columns, with physical line numbers and the shared sorting, filtering, and load-more controls. Nested values remain JSON text; missing fields remain blank. Invalid records report their line number without hiding them from the Raw view. This file viewer uses a named element because memory-file schemas are discovered only after loading, outside the canonical dashboard sources. Both Raw pretty-printing and table parsing run exclusively in the data worker, including for hosted memory files.

MarkPurpose
metricOne summarized value with optional tone, icon, navigation, and number animation.
tableStructured rows with declared columns, formats, links, summaries, and actions.
listRepeated records rendered as cards or issue-style rows.
chartA declared graphical encoding rendered by one of the standard chart types.
elementA named reusable component for interaction or presentation beyond the generic marks.
calloutA concise labeled status or attention message.
ChartPurpose
areaShow quantitative change over an ordinal or bucketed temporal axis, optionally stacking non-negative contributions by categorical color.
barCompare quantitative values across categories.
dotShow exact quantitative observations over time without connecting points; optionally encode horizontal quantitative reference lines.
heatmapShow aggregated quantitative intensity across two categorical axes, with at most 100 cells and 12 categories per axis.
histogramShow the distribution of quantitative samples using automatic bins after aggregation, ordering, and limiting; categorical x identifies each sample.
horizontal-barCompare up to 100 labeled quantitative values with labels on the left and bars aligned on the right.
lineShow quantitative change over a bucketed temporal axis, using categorical color series or two to eight quantitative y fields.
pieShow a bounded part-to-whole composition.
scatterShow exact quantitative observations at proportional timestamp positions without connecting points; x is temporal, not quantitative.
swimlaneShow observations over unbucketed time in categorical lanes, optionally weighted by observation count; contiguous observations may be coalesced without connecting gaps.
treemapShow up to 100 rectangles with area proportional to positive finite values, optionally nested by one categorical group; use Vega-style squarify, binary, or slice-dice layouts. See Treemap authoring.

Dot, line, and scatter charts require temporal x; heatmaps require categorical x and y. Heatmaps, horizontal bars, and treemaps must declare data.limit no greater than 100. Charts present graphics and legends, not row-level evidence tables. Prefer horizontal bars for labeled rankings, pies for meaningful part-to-whole composition, and treemaps for positive proportional contributions. An average or rate is not an additive contribution merely because it is numeric.

These features compose existing charts; they are not additional chart types or a general Vega/Vega-Lite interpreter.

FeaturePurpose and supported boundary
facetRepeat a chart over categorical subsets using one field or a row/column matrix. The worker partitions globally ordered and limited rows into at most 64 observed panels, each with independent scales. Single-field facets may wrap with view columns from 1 to 64. See Faceted charts.
layerOverlay area, bar, line, dot, or layer-only rule marks over one already-shaped query source. Encodings inherit by channel and later leaves paint above earlier leaves. Supports at most eight leaves and four nesting levels; declare layer instead of top-level chart.
resolveSelect shared or independent quantitative y scales within a layered chart using resolve.scale.y. Independent x/color scales and facet-wide shared scales are not supported.
View layoutRequest full, full-view, half, third, or horizontal placement. Hints may collapse responsively while preserving reading and focus order; they are not fixed dimensions.
Page section layoutGroup views using full, wide, narrow, or horizontal. Horizontal sections wrap adjacent view boxes. Sections reference every page view exactly once in declaration order; do not add a section solely to frame a chart.

Layer aggregation, time bucketing, ordering, and limits belong in dashboard.queries, not individual layers. A layered chart may also declare a top-level facet; each panel’s layers share that panel’s source. Facet panels are chart graphics inside one view, not nested views. All active charts retain abort-scoped worker query subscriptions and preserve explicit empty, partial, and unavailable evidence states.

See Custom pages for the complete layer, encoding, layout, and validation contracts.

Named elements own specialized DOM, accessibility, interaction, local state, and cleanup. Their source shaping remains in Dashboard Language queries.

ElementPurpose
campaign-routeResolves and composes a route-selected campaign experience.
workflow-route-pageComposes a complete routed workflow page.
outcome-detailPresents one outcome and its linked evidence.
outcome-detail-sectionPresents a declared section within an outcome detail.
problem-detailPresents one campaign runtime problem with its failure evidence, scope, environment, and repair action.
entity-routeAllocates a route-selected entity title and native GitHub link.
configuration-policyPresents and edits checked-in CAO policy.
environment-defaultsEdits the full gh-aw defaults YAML through declared gh aw env actions, with scope selection, dry-run preview, explicit approval, and private temporary-file transport; does not query activity evidence or grant rollout authority.
measure-historyPresents reusable grouped temporal-measure history from declarative query results.
factory-headerPresents campaign status, retained-output context, work in motion, and weekly rhythm.
factory-floorPresents linked repository, run, dispatch, and value stations.
all-campaign-memoryBrowses every campaign repository-memory branch in place without route navigation.
link-button-listPresents one source as an inset grouped list of Octicon navigation rows with disclosure chevrons.
markdownPresents retained Markdown from a declared source field with safe repository-relative links.
query-editorAuthors ephemeral query-and-view previews through tool-free Copilot SDK sessions; available only in SDK-enabled canvases.
command-terminalReplays and follows durable local CLI output by command ID, with explicit Cancel and Retry actions through the data worker; detachment never cancels execution.
storage-infoIdentifies the configured dashboard storage engine and location without querying activity evidence; supports browser IndexedDB, local-server SQLite, server PostgreSQL, and unknown configuration.

Generic marks are covered by validator and presenter tests. Named elements require focused unit tests for states and cleanup, plus Playwright when behavior depends on browser layout, navigation, focus, scrolling, workers, or responsive interaction. The integrated local visual fixture is available at ?fixtures=1#page-overview for Overview and equivalent page hashes for other destinations.