From 6a0d18f4078cdb8a03acd13ff6b35740adc65ff5 Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Fri, 12 Jun 2026 19:06:01 +0000
Subject: [PATCH] docs: port new clickstack demo days for 2026-05-29 and
2026-06-05
---
clickstack/demo-days/2026/2026-05-29.mdx | 102 +++++++++++++++++
clickstack/demo-days/2026/2026-06-05.mdx | 136 +++++++++++++++++++++++
clickstack/navigation.json | 2 +
3 files changed, 240 insertions(+)
create mode 100644 clickstack/demo-days/2026/2026-05-29.mdx
create mode 100644 clickstack/demo-days/2026/2026-06-05.mdx
diff --git a/clickstack/demo-days/2026/2026-05-29.mdx b/clickstack/demo-days/2026/2026-05-29.mdx
new file mode 100644
index 000000000..ff187884e
--- /dev/null
+++ b/clickstack/demo-days/2026/2026-05-29.mdx
@@ -0,0 +1,102 @@
+---
+slug: /use-cases/observability/clickstack/demo-days/2026/2026-05-29
+title: 'Demo days - 2026-05-29'
+sidebarTitle: '2026-05-29'
+description: 'ClickStack demo days for 2026-05-29'
+doc_type: 'guide'
+keywords: ['ClickStack', 'Demo days']
+---
+
+## Version-aware improved schema filtering {#version-aware-improved-schema-filtering}
+
+*Demo by [@knudtty](https://github.com/knudtty)*
+
+
+
+
+
+ClickStack now applies the direct_read optimization only on ClickHouse versions 26.2 and above, where the full-text search index properly supports the alias columns added to open-source schemas. Previously the optimization could be attempted on older versions where it wouldn't work correctly. The version check happens at query time by inspecting the schema, and the alias columns themselves are now included in the open-source schemas by default.
+
+Also shown: work in progress on replacing the autocomplete materialized view with direct queries against the text index. Right now both do overlapping work, adding ingest pressure. If benchmarks confirm the text index queries hold up performance-wise, the materialized view can be simplified or removed. Aaron also fielded questions from the team about how positional encoding in future ClickHouse text index versions might make key-value filter lookups even more accurate.
+
+**Related PRs:** [#2341](https://github.com/hyperdxio/hyperdx/pull/2341) feat: adds direct_read optimization by default for logs and traces, [#2405](https://github.com/hyperdxio/hyperdx/pull/2405) feat(common-utils): apply direct_read KV items optimization to SQL filters, [#2376](https://github.com/hyperdxio/hyperdx/pull/2376) feat: use text index to power filters and autocomplete
+
+## Better log parsing {#better-log-parsing}
+
+*Demo by [@dhable](https://github.com/dhable)*
+
+
+
+
+
+A customer had logs where the event body was a JSON object containing a `level` field. The severity inference logic was doing two things: parsing the body as JSON to extract attributes, and then falling back to string matching if no severity was set at the OTel level. The string matching was picking up the word "alert" from an alert manager name inside the body, misclassifying the log level.
+
+The fix adds a guard condition: if the body parses as JSON and already contains a level field, skip the string inference step entirely. A smoke test suite built about a year ago made it easy to verify the fix and catch related edge cases just by adding new test cases, which is exactly what it was designed for.
+
+**Related PRs:** [#2363](https://github.com/hyperdxio/hyperdx/pull/2363) fix(log-parser): skip string inference when body parses as JSON with a level field
+
+## MCP server improvements {#mcp-server-improvements}
+
+*Demo by [@brandon-pereira](https://github.com/brandon-pereira)*
+
+
+
+
+
+Several MCP improvements shipped this week: better event pattern bucketing and scoring, improved error hints, and shared helper cleanup. Tool prefixes were also renamed from `hyperdx_` to `clickstack_` to match the product name.
+
+**Related PRs:** [#2337](https://github.com/hyperdxio/hyperdx/pull/2337) feat(mcp): improve MCP tool quality — error hints, shared helpers, better messages, [#2396](https://github.com/hyperdxio/hyperdx/pull/2396) refactor(mcp): rename tool prefixes from hyperdx_ to clickstack_, [#2343](https://github.com/hyperdxio/hyperdx/pull/2343) feat(mcp): add patch_dashboard, get_dashboard_tile, search_dashboards tools, [#2418](https://github.com/hyperdxio/hyperdx/pull/2418) fix(mcp): improve alias descriptions and examples for readable chart legends, [#2412](https://github.com/hyperdxio/hyperdx/pull/2412) refactor: simplify MCP ObjectId validation with shared helpers and schema-level checks
+
+## New series color palette {#new-series-color-palette}
+
+*Demo by [@elizabetdev](https://github.com/elizabetdev)*
+
+
+
+
+
+Elizabet worked on unifying the data visualization color palette across HyperDX and ClickStack themes, in support of Alex's color picker work. The two themes had separate palettes with exception rules for each, which made reasoning about colors unnecessarily complicated. The goal was a single palette that works for both.
+
+She tested against industry-standard palettes (Tableau, Observable, IBM) using a color vision simulation tool to check contrast and accessibility. The ClickHouse palette performed poorly — the green doesn't have sufficient contrast on a white background. Tableau and Observable both fail on at least one check each; IBM's palette passes everything but only has five colors, which isn't enough. Observable's palette came closest overall, with a small blue tweak, and will now be shared across both themes.
+
+**Related PRs:** [#2362](https://github.com/hyperdxio/hyperdx/pull/2362) refactor(theme): rename chart palette tokens to hue names + unify across themes
+
+## New page layout with sticky header {#new-page-layout-with-sticky-header}
+
+*Demo by [@elizabetdev](https://github.com/elizabetdev)*
+
+
+
+
+
+A new PageHeader and PageLayout component pair has been rolled out across all major pages: dashboards, service map, client sessions, Kubernetes, and the ClickHouse dashboard. Every page now shares the same padding, border line below the header, and title structure. Before this, pages were inconsistent — some had a title on the left with controls on the right, others had no title at all.
+
+The sticky behavior is opt-in via a prop. Whatever you pass into the sticky slot stays pinned below the header as you scroll; everything else scrolls normally. If nothing is passed, just the breadcrumbs or page options, those get sticky automatically.
+
+**Related PRs:** [#2282](https://github.com/hyperdxio/hyperdx/pull/2282) Add PageHeader/PageLayout and migrate Sessions, [#2345](https://github.com/hyperdxio/hyperdx/pull/2345) Use PageHeader title on list pages, [#2346](https://github.com/hyperdxio/hyperdx/pull/2346) Migrate Service Map to PageLayout, [#2347](https://github.com/hyperdxio/hyperdx/pull/2347) Migrate Kubernetes dashboard to PageLayout, [#2348](https://github.com/hyperdxio/hyperdx/pull/2348) Migrate ClickHouse dashboard to PageLayout, [#2364](https://github.com/hyperdxio/hyperdx/pull/2364) feat(dashboard): migrate to PageLayout with sticky query toolbar, [#2394](https://github.com/hyperdxio/hyperdx/pull/2394) fix(PageHeader): keep sticky header below drawer overlays
+
+## New datasource selector and color picking for series {#new-datasource-selector-and-color-picking-for-series}
+
+*Demo by [@alex-fedotyev](https://github.com/alex-fedotyev)*
+
+
+
+
+
+Two UI improvements from Alex. The datasource selector has been cleaned up: clicking on it now only shows datasources to pick from. Management actions like viewing the schema or creating a new source are moved into a separate kebab menu. This separates selection from configuration — something that's been on the to-do list for a while and addresses feedback from the team.
+
+Number tiles now also have a static color picker so you can assign a specific color to a metric. Conditional color rules (turning red, green, or yellow based on a threshold value or column) are in progress too. Once Elizabet's unified palette lands, both will use properly named colors rather than the current "color 1, 2, 3" labels, which should be a meaningful improvement for users coming from tools like Grafana.
+
+**Related PRs:** [#2365](https://github.com/hyperdxio/hyperdx/pull/2365) feat(source-picker): chip + kebab menu UX, [#2265](https://github.com/hyperdxio/hyperdx/pull/2265) feat(app): number tile static color picker
+
+## Better hints for dashboard actions {#better-hints-for-dashboard-actions}
+
+*Demo by [@alex-fedotyev](https://github.com/alex-fedotyev)*
+
+
+
+
+
+Dashboard table tile rows now show a more useful hover state. The cursor and icon change on mouseover to signal what will happen when you click — either opening a linked dashboard or drilling down into a data source. Before this change it wasn't obvious that the rows were clickable at all, let alone what they'd do.
+
+**Related PRs:** [#2321](https://github.com/hyperdxio/hyperdx/pull/2321) feat(app): hover hint and native link affordance for dashboard table tile row click
diff --git a/clickstack/demo-days/2026/2026-06-05.mdx b/clickstack/demo-days/2026/2026-06-05.mdx
new file mode 100644
index 000000000..8e04f9d83
--- /dev/null
+++ b/clickstack/demo-days/2026/2026-06-05.mdx
@@ -0,0 +1,136 @@
+---
+slug: /use-cases/observability/clickstack/demo-days/2026/2026-06-05
+title: 'Demo days - 2026-06-05'
+sidebarTitle: '2026-06-05'
+description: 'ClickStack demo days for 2026-06-05'
+doc_type: 'guide'
+keywords: ['ClickStack', 'Demo days']
+---
+
+## Split trace view and extended trace view {#split-trace-view-and-extended-trace-view}
+
+*Demo by [@karl-power](https://github.com/karl-power)*
+
+
+
+
+
+The trace panel now has a split view mode: as you click through spans in the timeline, the detail panel updates in place on the right rather than opening beneath the selected span as before. This keeps the full timeline visible while you're digging into individual spans.
+
+You can also expand to an extended trace view for a full-width timeline with scroll and zoom support. Both panels can be opened and closed independently, making it easier to switch between a high-level overview and detailed span inspection without losing your place.
+
+**Related PRs:** [#2402](https://github.com/hyperdxio/hyperdx/pull/2402) feat: trace panel inline split detail
+
+## Source-level required filters {#source-level-required-filters}
+
+*Demo by [@pulpdrew](https://github.com/pulpdrew)*
+
+
+
+
+
+Sources can now declare required filters that are automatically surfaced on any dashboard that uses them. Rather than adding the same filter manually to every dashboard that references a source, ClickStack detects the requirement and hoists the filter to the dashboard level — scoped only to tiles that actually use that source.
+
+Individual tiles can override the dashboard-level value if they need different filter values, and the required filters flow down into the chart editor preview so you can validate queries without stripping them out. Required source filters also integrate with the SQL filters macro for SQL-based charts, and when setting up dashboard-to-dashboard links ClickStack automatically includes them as candidates for the link parameters.
+
+## Fit Y-axis to data {#fit-y-axis-to-data}
+
+*Demo by [@pulpdrew](https://github.com/pulpdrew)*
+
+
+
+
+
+Line charts have a new "Fit Y-axis to data" display setting. By default the Y-axis is anchored at zero, which compresses the visible range when values are large but vary only slightly — making trends invisible at a glance.
+
+With this option enabled, the Y-axis range is dynamically computed from the actual data range, so fluctuations in high-valued series are visible without having to manually configure axis bounds.
+
+**Related PRs:** [#2417](https://github.com/hyperdxio/hyperdx/pull/2417) feat(charts): add 'Fit Y-Axis to Data' display setting for line charts
+
+## Anomaly alerts {#anomaly-alerts}
+
+*Demo by [@fleon](https://github.com/fleon)*
+
+
+
+
+
+Himanshu showed how we're working on anomaly-based alerting using Z-score detection. Instead of a fixed threshold, you set how many standard deviations from the expected mean should trigger an alert. The seasonality window (hourly or daily) controls how the baseline is computed, and the alert editor highlights the windows that would have fired so you can tune sensitivity before saving.
+
+This addresses a common problem with threshold alerts: users often don't know what numeric value to set. Seeing the potential alert windows update live as you adjust the Z-score makes it practical to find a threshold that catches genuine spikes without producing excessive noise. Alerts can be scoped to fire only when values exceed the expected range (not when they drop below it), and an occurrence setting lets you require the condition to hold for multiple consecutive data points before firing. This is a work in progress, with the baseline computed as a moving average currently; exponential moving average support is planned.
+
+## Notebooks generated by Claude {#notebooks-generated-by-claude}
+
+*Demo by [@MikeShi42](https://github.com/MikeShi42)*
+
+
+
+
+
+A prototype showing how Claude Code investigations can be converted into shareable ClickStack notebooks. The workflow reads the tool call history from a Claude Code session, maps MCP tool calls into actual ClickStack queries, and uploads the result as a notebook the rest of your team can open and explore directly.
+
+Beyond the basic query translation, the prototype supports citations: claims in the notebook link to the specific chart used as evidence. The goal is to make it easy for an SRE to share a complete investigation as a reproducible notebook rather than a Slack thread with screenshots.
+
+## Clearer configuration for API and AI agents {#clearer-configuration-for-api-and-ai-agents}
+
+*Demo by [@alex-fedotyev](https://github.com/alex-fedotyev)*
+
+
+
+
+
+ClickStack settings now has a dedicated API and Agents tab that co-locates API keys and MCP connection setup. One-click buttons for Claude, Cursor, and OpenCode remove the need to manually construct connection commands — the Cursor button, for example, opens a terminal with the right install command pre-filled. OpenCode users get a copyable system prompt snippet to paste in directly. A generic JSON config option covers other MCP clients.
+
+**Related PRs:** [#2407](https://github.com/hyperdxio/hyperdx/pull/2407) feat(team-settings): connect your AI assistant
+
+## Color selection for number charts {#color-selection-for-number-charts}
+
+*Demo by [@alex-fedotyev](https://github.com/alex-fedotyev)*
+
+
+
+
+
+Number tiles now support both a static color picker and conditional color rules. The chart palette has been updated with human-readable color names — "blue" and "gray" instead of "color-1" and "color-10" — making it much easier to reason about what you're selecting.
+
+Conditional coloring lets you define ordered threshold rules, such as green below a target value, amber in a warning range, and red above a critical threshold. This makes number tiles genuinely useful as status indicators on dashboards, especially for metrics like error rates or P99 latency where you want instant visual feedback without reading the number.
+
+**Related PRs:** [#2386](https://github.com/hyperdxio/hyperdx/pull/2386) Number tile conditional color rules (ordered thresholds), [#2265](https://github.com/hyperdxio/hyperdx/pull/2265) feat(app): number tile static color picker
+
+## Schema migrations {#schema-migrations}
+
+*Demo by [@wrn14897](https://github.com/wrn14897)*
+
+
+
+
+
+ClickStack now has a Schema Migrations tab in settings (enterprise) for making controlled, versioned DDL changes to your data schemas. You write a migration, give it a version number, and a background job picks it up and runs it with retry logic and strict ordering — if one migration fails, dependent later migrations won't run until it's resolved or deleted.
+
+The versioned model also enables ClickHouse to push managed schema optimisations to ClickStack Cloud teams without requiring manual ALTER TABLE work. Teams can review pending migrations and unblock them at their own pace. Phase one covers additive changes; primary key modifications are planned for phase two.
+
+## Out-of-the-box browser RUM dashboards {#out-of-the-box-browser-rum-dashboards}
+
+*Demo by [@teeohhem](https://github.com/teeohhem)*
+
+
+
+
+
+ClickStack now ships a pre-built Browser RUM dashboard that covers the full set of web performance metrics. The dashboard includes a performance overview with page views and P90 load time, and web vitals — LCP, INP, and CLS — with tiered thresholds so you can immediately see whether each metric is healthy, needs improvement, or is poor.
+
+Additional sections cover page views over time, long tasks, device breakdown, slowest pages, top erroring sessions, JavaScript error rates, and API failures. Custom row actions let you click into any table row to drill through to the relevant session or trace data. Top-of-page filters let you slice by service, environment, service version, and page. Country filtering is in progress pending Browser SDK improvements to emit geo data.
+
+**Related PRs:** [#2413](https://github.com/hyperdxio/hyperdx/pull/2413) feat: add Browser RUM dashboard template
+
+## Dependent dashboard filters {#dependent-dashboard-filters}
+
+*Demo by [@teeohhem](https://github.com/teeohhem)*
+
+
+
+
+
+Dashboard filters can now be made dependent on each other, so selecting a value in one filter automatically constrains the available options in downstream filters. The Kubernetes dashboard is the first to use this: selecting a pod now narrows the deployment and node dropdowns to only the values relevant to that pod, rather than showing every option across the whole cluster.
+
+This means you're never offered a filter combination that would return empty data. The feature ships in the Kubernetes dashboard template today.
diff --git a/clickstack/navigation.json b/clickstack/navigation.json
index f2720261e..2c35dcd44 100644
--- a/clickstack/navigation.json
+++ b/clickstack/navigation.json
@@ -104,6 +104,8 @@
{
"group": "2026",
"pages": [
+ "clickstack/demo-days/2026/2026-06-05",
+ "clickstack/demo-days/2026/2026-05-29",
"clickstack/demo-days/2026/2026-05-22",
"clickstack/demo-days/2026/2026-05-15",
"clickstack/demo-days/2026/2026-05-08",