Core Concepts
Filters are inferred automatically from your manifest. Queries generated by AI can always be inspected and overridden by hand.
Every Filter: line in your manifest is collected across all panels, deduplicated by column name, and turned into a filter control shown at the top of the dashboard.
| Filter type | When it’s used | Default |
|---|---|---|
| Date range | Column name contains date/time, or ends in "at"/"on" | Last 30 days |
| Select | Categorical-looking columns | None selected |
| Text | Free-text columns | Empty |
A filter only applies to the panels that actually listed that column — changing the date range doesn’t affect a panel that never referenced a date column.
Every panel’s generated query is visible and editable — useful when the AI got 90% of the way there and you want to fix a join, add a condition, or change an aggregation without regenerating the whole dashboard.
EXPLAIN or a dry run) against the live datasource before you can save.Toggle edit mode on a dashboard to drag and resize panels on the 12-column grid. Saving a layout change creates a new version with the updated panel positions — the underlying queries are untouched.
Every dashboard keeps its full version history — one entry per query edit or layout change. Open History from the dashboard view to see every version with its timestamp, and roll back to any previous one in a click. Rolling back doesn’t delete newer versions; it just changes which one is active.
Panel results are cached briefly per dashboard so repeat views and shared/embedded links don’t re-run every query on every page load. Saving a query edit or layout change, or manually refreshing, invalidates the cache for that dashboard immediately.