Skip to content

Commit a45d1ff

Browse files
committed
Add scale-aware suggestions docs and data profile
Introduce scale-aware suggestions UX and schema: add a new ScaleAwarePage and blog entry (scale-aware-suggestions) and wire them into the docs nav and routes. Add DataScaleProfile type and test (src/components/ai/dataScaleProfile.ts + test) and update the suggestion engine to accept/handle declared scale (suggestCharts/suggestChartsGrouped changes). Update chart capability descriptors and the ai capability scorecard (ai/capability-scorecard.json) to reflect new fits/scores, added fixtures, and variant/caveat adjustments. Minor doc and navigation tweaks (InterrogationPage prev link) and preview component mapping for the new demo page.
1 parent 16ef2ec commit a45d1ff

26 files changed

Lines changed: 2614 additions & 163 deletions

ai/capability-scorecard.json

Lines changed: 175 additions & 146 deletions
Large diffs are not rendered by default.

docs/src/App.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ import CustomChartsPage from "./pages/features/CustomChartsPage"
9696
import CapabilitiesPage from "./pages/features/CapabilitiesPage"
9797
import InterrogationPage from "./pages/features/InterrogationPage"
9898
import SuggestionsPage from "./pages/features/SuggestionsPage"
99+
import ScaleAwarePage from "./pages/features/ScaleAwarePage"
99100
import ConversationArcPage from "./pages/features/ConversationArcPage"
100101
import TemporalLifecyclePage from "./pages/features/TemporalLifecyclePage"
101102

@@ -431,6 +432,7 @@ export default function DocsApp() {
431432
<Route path="observation-hooks" element={<ObservationHooksPage />} />
432433
<Route path="capabilities" element={<CapabilitiesPage />} />
433434
<Route path="suggestions" element={<SuggestionsPage />} />
435+
<Route path="scale" element={<ScaleAwarePage />} />
434436
<Route path="interrogation" element={<InterrogationPage />} />
435437
<Route path="conversation-arc" element={<ConversationArcPage />} />
436438
<Route path="temporal-lifecycle" element={<TemporalLifecyclePage />} />

docs/src/blog/entries-meta.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,18 @@
1919
// `draft: true`) are included here so the sync check and per-entry
2020
// inspection still work; the build scripts filter at consumption time.
2121
export const allBlogEntriesMeta = [
22+
{
23+
slug: "scale-aware-suggestions",
24+
title: "Your sample lies about your data",
25+
subtitle:
26+
"Scale-aware chart suggestions: declare what the production dataset actually looks like, and get back recommendations that work at that scale instead of at the size of the sample you happened to pass.",
27+
author: "Elijah Meeks",
28+
date: "2026-05-29",
29+
tags: ["case-study", "ai"],
30+
excerpt:
31+
"Hand `suggestCharts()` a hundred rows and it'll pick the right chart for the hundred. The production dataset is a million rows and the choice is wrong. Scale-aware suggestions close the gap by accepting a declared `DataScaleProfile` — what scale the data actually has, not what the sample looked like. With the design decisions behind it: split scale from quality, breakpoints per-chart not global, and the single-value gap the work surfaced.",
32+
draft: true,
33+
},
2234
{
2335
slug: "release-3-6-0",
2436
title: "Semiotic 3.6.0",

docs/src/blog/entries.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,15 @@ import LiveDashboard from "./entries/live-conversational-dashboard.js"
5454
import Release360 from "./entries/release-3-6-0.js"
5555
import TalkTrackIntelligence from "./entries/talk-track-intelligence.js"
5656
import FromSpecToRuntime from "./entries/from-spec-to-runtime.js"
57+
import ScaleAwareSuggestions from "./entries/scale-aware-suggestions.js"
5758

5859
/**
5960
* Every entry, drafts included. Consumers that need the full list (direct
6061
* URL access, sync check) read this. Consumers that should NEVER surface
6162
* drafts (index listing, RSS, SEO prerender) read `blogEntries` below.
6263
*/
6364
export const allBlogEntries = [
65+
ScaleAwareSuggestions,
6466
Release360,
6567
FromSpecToRuntime,
6668
TalkTrackIntelligence,

0 commit comments

Comments
 (0)