Skip to content

Dashboard design improvements - #42

Merged
venkateshsakamuri-lab merged 2 commits into
mainfrom
dashboard-design-improvements
Aug 11, 2026
Merged

Dashboard design improvements#42
venkateshsakamuri-lab merged 2 commits into
mainfrom
dashboard-design-improvements

Conversation

@notSumit25

Copy link
Copy Markdown
Collaborator

No description provided.

…izing/labels, add chart expand

- DashboardWorkspace/DashboardsHome: translucent chrome, press feedback,
  spring-flavored hover/entrance transitions, reduced-motion and
  reduced-transparency fallbacks, refined chat trace panel with a step timeline.
- DashboardArtifact: fade artifact in on load; fix a feedback loop where a
  CSS height transition plus a stale interval poll made dashboard height grow
  continuously on any reflow (e.g. page scroll).
- dashboardChartLib: cap chart height regardless of container width (was
  inflating on wide cards); add a built-in per-chart expand-to-fullscreen
  control; darken/enlarge and truncate x-axis labels so long names no longer
  render illegible or overlap their neighbor.
- dashboard-design SKILL.md: document the automatic expand control, add a
  named "avoid AI-slop patterns" section (gradients, emoji icons, decorative
  blobs, off-scale spacing/type, chart color discipline) wired into the
  existing self-review checklist; bump skill version to 2.1.0.
…rd generation

Every message sent in the dashboard builder's chat — including a bare "hi" —
was wrapped in DashboardAgentService.buildTask's full ground+write-SQL+verify+
self-review pipeline, since there was no other path. That's why trivial
messages took ~3 minutes: the agent was dutifully trying to build a dashboard
in response to a greeting.

DashboardAgentService now classifies each message with a direct, single
ChatModel call (no agent session, no tools) before deciding which path to
take — a real LLM judgment call, not a keyword match, since a fixed word list
can't tell "make it prettier" or "no, the other one" from a real edit ask.
The classification prompt is explicitly biased toward "this is a real
request" on anything ambiguous, so a genuine request is never misrouted to
the lightweight reply-only path.

Verified against the running backend: "hi" and "thanks!" both classify as
chat-only and reply in seconds; "make it prettier" (which a keyword list
would have missed — no build-related word in it) correctly routes to the
full grounding+SQL+verify pipeline.

Frontend (dashboardGenerator.js, DashboardWorkspace.jsx) grows an onChat
handler that appends the reply as a plain agent bubble without touching the
saved config or triggering an auto-save.
@venkateshsakamuri-lab
venkateshsakamuri-lab merged commit 97dd22e into main Aug 11, 2026
7 checks passed
@venkateshsakamuri-lab
venkateshsakamuri-lab deleted the dashboard-design-improvements branch August 11, 2026 17:31
venkateshsakamuri-lab added a commit that referenced this pull request Aug 13, 2026
…builds (#46)

## Summary
- Backend chat-only replies (e.g. `"hi"`) now stream as a dedicated SSE
`chat` event instead of reusing `done`.
- Frontend handles `chat` separately and guards the workspace `onDone`
path so a chat-shaped payload cannot append the canned “Done — built…”
save message or clobber the artifact.

## Why
Sumit’s chat-intent classifier in #42 was working (Hermes ran the
greeting task), but the UI still showed “Done — built and verified…”
because that line is hardcoded on the build-success path, which was
driven by the shared `done` event.

## Test plan
- [x] Hard-refresh Dashboards, open an existing draft, send `hi`
- [x] Expect a normal greeting reply — not “Done — built…”
- [x] Artifact HTML / KPIs unchanged after the greeting
- [x] A real edit (“add a filter”) still streams `done` and saves as
before
- [x] `curl`/SSE: `prompt=hi` yields `event:chat` and no `event:done`
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.

2 participants