Skip to content

docs(falcon-ai): add Imagine feature page#641

Open
SuhaniNagpal7 wants to merge 3 commits into
devfrom
docs/falcon-imagine
Open

docs(falcon-ai): add Imagine feature page#641
SuhaniNagpal7 wants to merge 3 commits into
devfrom
docs/falcon-imagine

Conversation

@SuhaniNagpal7
Copy link
Copy Markdown
Contributor

Summary

  • New page: src/pages/docs/falcon-ai/features/imagine.mdx — covers what Imagine is (custom dashboard builder for traces), how to open it, build widgets via chat, save reusable views, and how dynamic analysis re-runs LLM widgets on every trace.
  • Sidebar entry added in src/lib/navigation.ts under Falcon AI → Features (between Using Falcon AI and Skill Builder).
  • 4 light-theme product screenshots captured at public/screenshot/product/falcon/10.png13.png: empty canvas with suggested prompts, dashboard with widgets, Save View popover (cropped), and dynamic-analysis skeleton loader.

Test plan

  • pnpm dev and verify the page renders at /docs/falcon-ai/features/imagine
  • Sidebar shows Imagine under Falcon AI → Features
  • All four screenshots load (no broken images)
  • Internal links work: Dynamic analysis anchor, Next Steps cards to chat / skills / mcp-connectors
  • No em dashes in prose; <Steps> and <Note> components render correctly

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you take image of something more challenging

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

showing flow is like already there can you try like show me latency split or some metric split or some new analytics page view?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaced 11.png with a non-voice trace (weather agent) — latency split per span as a bar chart, latency share by span type donut, four metric cards (total duration, LLM latency max, total LLM latency, overhead), and a Span Latency Details table. Should cover the 'metric split / analytics view' ask.

@@ -0,0 +1,131 @@
---
title: "Imagine"
description: "AI-powered trace visualization builder. Chat with Falcon AI to turn any trace into an interactive dashboard, then save the view to replay on every future trace."
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replay on every future trace?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reworded — the description now reads 'apply to any other trace in the project' so it covers existing traces too, not just future ones.


## About

Imagine is a custom dashboard builder for traces. You describe what you want to see in plain English, Falcon AI assembles the widgets against the current trace, and the resulting dashboard can be saved as a template that applies to any future trace.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not only dashboard builder its custom view builder

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

applies to any traces (future or existing traces) in the respective project

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reframed to 'custom view builder' and clarified the saved view applies to any other trace in the same project, including ones that already exist.


Imagine is a custom dashboard builder for traces. You describe what you want to see in plain English, Falcon AI assembles the widgets against the current trace, and the resulting dashboard can be saved as a template that applies to any future trace.

A dashboard is a layout of widgets: charts, tables, metric cards, span trees, markdown summaries. Building one by hand means writing custom code or running queries one at a time. Imagine replaces that with chat, then makes the result reusable so the same trace investigation can run on every trace your team opens later.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

View can be a it not necessarily "is layout"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reworded — now reads 'A view is a collection of widgets'. Dropped the 'is a layout' framing.


![Open the Imagine tab](/screenshot/product/falcon/10.png)

On a fresh trace, suggested prompt chips appear on the empty canvas: *"Show me where the latency is"*, *"Visualize token usage by span"*, *"Show the agent execution flow"*, *"What's the cost breakdown?"*, *"Compare the LLM calls"*, *"Summarize this trace"*. Click a chip to send it to the chat panel, or type your own request.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Show me where the latency is" show or filter no?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The chip strings are hardcoded in core-frontend/src/components/imagine/SuggestedPrompts.jsx:6-13 — 'Show me where the latency is' is the actual product copy today. Doc now matches the product verbatim. If we want the chip to read 'show latency split by span' or use 'filter', that's a separate product-copy change in SuggestedPrompts.jsx, not a doc edit.

| **Tables** | Data table, key-value list |
| **Metrics** | Metric card, heatmap |
| **Trace structure** | Span tree, timeline, agent graph |
| **Data inspection** | JSON tree, code block |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you verify if this works? I doubt that is it this way

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified against the codebase: span_tree, timeline, and agent_graph are all registered in VALID_WIDGET_TYPES (core-backend/ai_tools/tools/tracing/render_widget.py:11-29) and WIDGET_REGISTRY (core-frontend/src/components/imagine/widgets/index.js:23-41), and the render_widget tool schema accepts each. Falcon emits them when asked. Kept the row.

| **Metrics** | Metric card, heatmap |
| **Trace structure** | Span tree, timeline, agent graph |
| **Data inspection** | JSON tree, code block |
| **Annotations** | Markdown, screenshot |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont think it works for this also

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same verification — json_tree and code_block are both in VALID_WIDGET_TYPES and WIDGET_REGISTRY. One thing to flag for a backend follow-up: json_tree is missing from the tool description string at render_widget.py:140-142 (only 16 of 17 widgets listed there). The schema accepts it, but the agent isn't told about it narratively, so it underuses it. Not a doc bug, but worth fixing in render_widget.py.

A canvas built for one trace becomes more valuable when it can replay on any trace. Save it as a view to make it reusable.

<Steps>
<Step title="Build the dashboard">
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its a view no or canvas?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed the step title to 'Build the view' and the image alt to match. Whole section now uses 'view' instead of 'dashboard'.

<Step title="Build the dashboard">
Use the chat panel to assemble the widgets you want.

![Build a dashboard](/screenshot/product/falcon/11.png)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You already have dashboard feature so let's not use that here..

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reframed the whole page to use 'view' (the Imagine surface) and 'collection of widgets' instead of 'dashboard'/'layout'. The separate Observe Dashboards feature is now linked explicitly from When not to use and Related sections so they don't get conflated.

| LLM analysis | 90 s | Up to 5 attempts with exponential backoff (5 s to 30 s) |
| Save result | 10 s | Default |

If the LLM step exhausts its retries, the widget records a failure state in the database. Click **Rerun** to try again once the model provider recovers.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do you want to say LLM? we are in no way saying its LLM right? we claim its our agent that does the fetching etc. right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaced 'LLM' with 'agent' in the dynamic-analysis bullet, the retry table, and the failure-state line. Also corrected the cache key to (saved_view, widget, trace_id) to match the ImagineAnalysis unique constraint in core-backend. Kept 'LLM' only where the product UI string literally says 'LLM' (the suggested chip on line 111) — see the L20 thread for that one.

Suhani Nagpal and others added 2 commits May 25, 2026 12:30
- Reframe "dashboard"/"layout" as "view"/"collection" to match the product (Imagine builds custom views, distinct from the existing Dashboards feature)
- Clarify saved views apply to any trace in the project (existing or future), not only future traces
- Replace "LLM" with "agent" in dynamic-analysis copy so retries and caching read as Falcon's agent doing the work, not a raw LLM call
- Tweak suggested prompt chips: "Show me latency split by span" and "Compare the model calls"

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…enshots

Restructures the Imagine page to match internal-docs/product-docs-playbook
feature-deep-dive template and updates all 4 screenshots to dark theme.

Page changes
- Add When to use / When not to use sections.
- Add How it works internally with a Mermaid data-flow diagram (build
  time -> canvas -> saved view -> live re-bind vs. dynamic re-run).
- Add Troubleshooting table (6 Symptom/Cause/Fix rows) for the common
  fragile paths: Save View disabled, prose instead of widgets, stuck
  skeleton loader, empty widgets on a new trace, rate limit, wrong field.
- Replace product-noun Next Steps cards with intent-driven Related links.
- Expand frontmatter to the master spec (page_type, products,
  feature_status, audience, difficulty, owner, reviewers, last_tested,
  last_screenshotted, schema_type, seo, geo, canonical, related).
- Reframe "dashboard"/"layout" as "view"/"collection" and replace "LLM"
  with "agent" where the surface is Falcon's agent (addresses reviewer
  comments from upstream PR #641).
- Correct dynamic-analysis cache key to (saved_view, widget, trace_id)
  and saved-view scope to project-or-workspace per the SavedView and
  ImagineAnalysis models in core-backend.
- Fix two broken internal links: /docs/observe/dashboards ->
  /docs/observe/features/dashboard, and /docs/observe/tracing ->
  /docs/observe.

Screenshots
- 10/11/12/13.png recaptured in dark theme; 12.png Save View button
  repainted (white background + black text) to compensate for a UI
  contrast bug.

Verified against codebase
- 17 widget types (VALID_WIDGET_TYPES in render_widget.py,
  WIDGET_REGISTRY in imagine/widgets/index.js).
- 12-column grid, Temporal timeouts (30s/90s/10s) and retry counts,
  10/60s chat rate limit, 45s dynamic-analysis endpoint, skeleton-loader
  text "Falcon is analyzing this trace...".
- Suggested prompt chip wording matches SuggestedPrompts.jsx exactly
  (product copy is what it is for now; treating chip text as a separate
  product-copy change rather than a doc edit).

Depends on
- PR #661 (docs(evals): IA reshape...) for src/components/docs/Mermaid.astro.
  This PR's Mermaid import will only resolve once #661 lands.
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