Skip to content

docs: dashboard preset authoring guide + stat-panel staleness fix - #2

Merged
paymog merged 1 commit into
mainfrom
paymahn/dashboard-authoring-docs
Jun 30, 2026
Merged

paymog merged 1 commit into
mainfrom
paymahn/dashboard-authoring-docs

Conversation

@paymog

@paymog paymog commented Jun 30, 2026

Copy link
Copy Markdown
Owner

What

Adds a "Building & editing dashboards" section to the groundcover-cli skill — the preset-authoring workflow that the CRUD verbs alone don't explain.

Covers:

  • Preset structure.preset is a JSON string; the spec/layout/widgets/duration/variables/schemaVersion shape; 24-col grid with hand-computed y; widget types incl. text for headers and section.
  • Sectionstype:"section" + a children[] array of relative-positioned panels.
  • Update contractcurrentRevision is required (optimistic concurrency); re-get after each write; the jq re-serialize pattern.
  • Validation rules — the opaque 400 Dashboard validation failed, the bisect strategy, and the two rules that cost real time: stat widgets only validate flat top-level (never in a section), and section color ∈ {gray, purple, teal}.
  • Stat "No Results" trap — instant-at-now + lagging metrics → wrap in last_over_time([30m]).
  • UI-less verification — concrete-substitution range queries + geometry checks; SSO-wall caveat.
  • Polled-integration metrics note — lag, the stat dimension multiplier, integration-named env label, separate variable per label scheme.
  • Instant-query caveat in Common issues — CLI metrics query 400s on instant bodies; fall back to range.

Testing

Docs-only change. All claims are field-verified against a live Groundcover tenant while building a dashboard end-to-end. Generic placeholders only — no org-specific identifiers, metric names, or tenant UUIDs.

Add a "Building & editing dashboards" section covering the preset JSON
string, the 24-col grid layout, sections with children[], and the
currentRevision optimistic-concurrency update contract.

Document the two opaque-400 validation rules learned the hard way:
stat widgets only validate as flat top-level layout entries (never
inside a section's children), and section color is limited to
gray/purple/teal.

Add the stat-panel "No Results" trap for lagging (polled-integration)
metrics and the last_over_time([30m]) fix, a UI-less API verification
recipe, and a polled-integration label-scheme note (lag, stat
dimension, integration-named env label).

Also note the observed CLI instant-query 400 caveat in Common issues.
@paymog
paymog merged commit 2fd657e into main Jun 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant