From b1619a82fbec95ebd3d41322e3181fc7b2a61c1d Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Sat, 4 Jul 2026 00:41:03 +0000
Subject: [PATCH 1/4] docs: developers can now verify content; document
save-time prompts
---
guides/verified-content.mdx | 19 ++++++++++++++-----
references/workspace/roles.mdx | 1 +
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/guides/verified-content.mdx b/guides/verified-content.mdx
index 1d8ef719..8f07989e 100644
--- a/guides/verified-content.mdx
+++ b/guides/verified-content.mdx
@@ -18,7 +18,7 @@ Each verified item gets a green checkmark badge that shows who verified it and w
## Who can verify content
-Only organization admins and project admins can verify or unverify charts and dashboards. All other users can see which content is verified, but cannot change verification status themselves.
+Organization and project admins and developers can verify or unverify charts and dashboards. Users on other built-in roles (editors, interactive viewers, viewers, members) can see which content is verified, but cannot change verification status themselves. If you use [custom roles](/references/workspace/custom-roles), grant the **Manage content verification** (`manage:ContentVerification`) scope to any role that should be able to verify or unverify content.
## Verifying a chart or dashboard
@@ -63,9 +63,18 @@ This is separate from [verified answers](/guides/ai-agents/verified-answers), wh
## Verification is automatically removed when someone else edits the content
-Verification is tied to the exact state of the content at the time it was verified. If someone other than the original verifier edits a verified chart or dashboard, the verification badge is automatically removed and an admin will need to review the updated version and re-verify it.
+Verification is tied to the exact state of the content at the time it was verified. If someone without verify permission edits a verified chart or dashboard, the verification badge is automatically removed and someone with verify permission will need to review the updated version and re-verify it.
-If the original verifier edits their own verified content, the badge stays in place — saving the edit counts as re-approving the new version, and the verification timestamp is updated to reflect the latest change. This keeps verifiers from having to re-verify their own small tweaks while still guaranteeing that a verified badge reflects content an admin has explicitly approved in its current form.
+If the original verifier edits their own verified content, the badge stays in place — saving the edit counts as re-approving the new version, and the verification timestamp is updated to reflect the latest change. This keeps verifiers from having to re-verify their own small tweaks while still guaranteeing that a verified badge reflects content someone with verify permission has explicitly approved in its current form.
+
+### What you see when saving verified content
+
+To make sure the verified badge never disappears silently, Lightdash shows a confirmation dialog whenever you save changes to a verified chart or dashboard. What you see depends on whether you can preserve verification on save:
+
+- **If you can keep the badge** (you have verify permission, or you're the original verifier), you get a **Keep this verified after saving?** prompt with two options: **Save** drops the badge, and **Save & verify** keeps it and updates the verification timestamp to your save.
+- **If you cannot keep the badge** (for example, an editor saving a chart verified by someone else), you get a warning: *"Saving your changes will remove its verified status until someone verifies it again."* You can **Cancel** to back out, or **Save anyway** to save and drop the badge.
+
+For example, if an editor on your team edits the **Ecom sales overview** dashboard (verified by a developer), they'll see the warning and can decide whether to save and drop the badge or cancel and let the developer make the change instead.
## Verification in charts and dashboards as code
@@ -108,9 +117,9 @@ The "absent = leave alone" semantic means that downloading and re-uploading a YA
### Permissions
-Only users with permission to verify content (organization admins and project admins) can change verification state via the CLI. If you upload a YAML containing `verified: true` or `verified: false` but you don't have verify permissions, the upload still succeeds — the rest of your changes go through, but the verification field is silently skipped and a warning is logged on the server.
+Only users with permission to verify content (admins, developers, and any custom role granted `manage:ContentVerification`) can change verification state via the CLI. If you upload a YAML containing `verified: true` or `verified: false` but you don't have verify permissions, the upload still succeeds — the rest of your changes go through, but the verification field is silently skipped and a warning is logged on the server.
-This means CI pipelines run by non-admin deployers (for example, with the `developer` role) won't fail just because a YAML file contains a `verified` field they can't act on.
+This means CI pipelines run by deployers without verify permission (for example, a custom role that has `manage:ContentAsCode` but not `manage:ContentVerification`) won't fail just because a YAML file contains a `verified` field they can't act on.
## Coming soon: unified verified content
diff --git a/references/workspace/roles.mdx b/references/workspace/roles.mdx
index a65b9a3f..2d078ded 100644
--- a/references/workspace/roles.mdx
+++ b/references/workspace/roles.mdx
@@ -38,6 +38,7 @@ Project Admins can invite users to their project and assign users or [groups](/r
| Create and edit scheduled deliveries | | | | | |
| Create and edit Syncs | | | | | |
| Create and edit charts and dashboards | | | | | |
+| Verify and unverify charts and dashboards | | | | | |
| Use the SQL runner | | | | | |
| Create and explore custom SQL dimensions | | | | | |
| Create virtual views | | | | | |
From b99f9df7546e808d8df20209f3443a0d0613e72a Mon Sep 17 00:00:00 2001
From: Joao Viana
Date: Tue, 7 Jul 2026 14:47:09 +0100
Subject: [PATCH 2/4] =?UTF-8?q?docs:=20document=20the=20verified=20answers?=
=?UTF-8?q?=20=E2=86=94=20verified=20content=20bridge?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Reflect the convergence that shipped in lightdash/lightdash#25209/#25210/#25211:
verifying an AI answer saved as a chart/dashboard now also marks it as
verified content (badge, listings, search, content-as-code, MCP retrieval).
- verified-content.mdx: add an "External agents and MCP" subsection covering
list_verified_content (both admin- and AI-verified saved content, richer
discovery payload, verification as an absolute ranking trump); replace the
"Coming soon: unified verified content" section with a real "Verified answers
and verified content" section explaining the two surfaces, the save-then-verify
bridge, and its one-way, saved-only nuances.
- verified-answers.mdx: add "Verified answers become verified content" so the
agent-side doc explains the same bridge and cross-links.
Co-Authored-By: Claude Opus 4.8 (1M context)
Claude-Session: https://claude.ai/code/session_017ENX7B2mwqRL9F12xDwiBR
---
guides/ai-agents/verified-answers.mdx | 13 +++++++++++++
guides/verified-content.mdx | 28 +++++++++++++++++++++------
2 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/guides/ai-agents/verified-answers.mdx b/guides/ai-agents/verified-answers.mdx
index 8e3667a5..91779bda 100644
--- a/guides/ai-agents/verified-answers.mdx
+++ b/guides/ai-agents/verified-answers.mdx
@@ -43,6 +43,19 @@ Mark AI-generated charts and dashboards as verified answers to help your agent l
/>
+## Verified answers become verified content
+
+Verifying an answer doesn't only train the agent. If the answer has been **saved as a chart or dashboard**, verifying it also marks that saved chart or dashboard as [verified content](/guides/verified-content) — it gets the green verified badge and shows up everywhere trusted content does:
+
+- The verified badge on the chart or dashboard, in listings, search, and space overviews
+- The [`list_verified_content`](/references/integrations/lightdash-mcp) MCP tool, so external agents can discover and build on it
+- In-product AI retrieval, so agents prefer it when answering similar questions
+
+Removing verification from the answer removes it from both places. A couple of things to keep in mind:
+
+- **Save before you verify.** An answer that only exists inside the conversation stays an agent example — it won't get a badge or appear in MCP until it's saved as a chart or dashboard. Save it first, then verify.
+- **The link is one-way.** Verifying an answer promotes its saved chart or dashboard to verified content. Verifying a chart or dashboard directly (for example, from project settings) doesn't reach back and mark the originating answer.
+
## Managing verified answers
### Verifying an answer
diff --git a/guides/verified-content.mdx b/guides/verified-content.mdx
index 8f07989e..56c155d6 100644
--- a/guides/verified-content.mdx
+++ b/guides/verified-content.mdx
@@ -57,8 +57,14 @@ Verification stays atomic per item: a chart inside a verified dashboard is only
You don't need to configure anything for this — any chart or dashboard you've verified is automatically preferred by every AI agent in the project. To benefit, verify the canonical charts and dashboards you want your team (and your agents) to start from.
+### External agents and MCP
+
+Verified content is also exposed to external agents through the [Lightdash MCP](/references/integrations/lightdash-mcp) `list_verified_content` tool. This lets tools like Claude, Cursor, or your own agents discover the charts and dashboards your team trusts and build on them instead of guessing.
+
+The tool returns both admin-verified content and [verified answers](/guides/ai-agents/verified-answers) that have been saved as charts or dashboards, deduplicated into a single list. Each item includes enough signal for an agent to rank and drill into it — `description`, `views`, and `lastUpdatedAt`, plus `chartKind` and `exploreName` for charts. As with in-product retrieval, verification is an absolute trump: a verified item is preferred over a more relevant but unverified one, with relevance order preserved within each group.
+
-This is separate from [verified answers](/guides/ai-agents/verified-answers), where users mark answers an AI agent produced as good examples. Both signals are used by the agent today and will be unified in a single trusted-content stream in a future release.
+This works hand in hand with [verified answers](/guides/ai-agents/verified-answers), where users mark answers an AI agent produced as good examples. When one of those answers is saved as a chart or dashboard, verifying it also makes it verified content — see [Verified answers and verified content](#verified-answers-and-verified-content) below.
## Verification is automatically removed when someone else edits the content
@@ -121,10 +127,20 @@ Only users with permission to verify content (admins, developers, and any custom
This means CI pipelines run by deployers without verify permission (for example, a custom role that has `manage:ContentAsCode` but not `manage:ContentVerification`) won't fail just because a YAML file contains a `verified` field they can't act on.
-## Coming soon: unified verified content
+## Verified answers and verified content
+
+Lightdash has two places you can verify something, and they now feed into each other:
+
+- **Verified content** — a saved chart or dashboard that someone with verify permission has approved. It gets the green badge and everything described on this page: listings, search, content-as-code, MCP, and in-product AI retrieval.
+- **[Verified answers](/guides/ai-agents/verified-answers)** — an answer an AI agent produced that a user marks as a good example inside a conversation. It trains that agent (few-shot examples, suggested questions, Slack replies).
+
+**When you verify an AI answer that has been saved as a chart or dashboard, it also becomes verified content** — the same green badge appears everywhere, and it shows up in search, content-as-code, and the `list_verified_content` MCP tool alongside admin-verified content. Removing verification from the answer removes it from both places too.
+
+A few things worth knowing about how the two interact:
+
+- **Only saved answers bridge.** An answer that lives only inside an agent conversation stays an agent example — it won't get a badge or appear in MCP until it's saved as a chart or dashboard. Save it first, then verify it, to make it verified content.
+- **The link is one-way.** Verifying an AI answer promotes the saved chart or dashboard to verified content. Verifying a chart or dashboard directly does *not* reach back and mark the originating agent answer.
-Today, admin-verified charts and dashboards live in a separate stream from [verified answers](/guides/ai-agents/verified-answers) (the AI-agent-generated content that users mark as verified inside an AI agent conversation). We're working on bringing them together so that any verified piece of content, wherever it was verified, is treated as a single trusted signal across:
+### Still on the way
-- The `list_verified_content` MCP tool returning AI-verified artifacts alongside admin-verified ones
-- Content-as-code YAML round-trip for AI-verified content
-- Using verified content as templates when the AI agent generates new charts and dashboards
+One piece of the unified experience isn't here yet: using verified content as templates when the AI agent generates brand-new charts and dashboards. (Once a saved answer is verified, it already flows through content-as-code, search, and MCP like any other verified content.)
From fda2590b5fd77015b2ea9fdb3ad4742ecef32121 Mon Sep 17 00:00:00 2001
From: Joao Viana
Date: Tue, 7 Jul 2026 14:51:51 +0100
Subject: [PATCH 3/4] docs: correct edit-time verification behavior (no
automatic retention)
The previous text claimed a verified badge "stays in place" automatically when
the original verifier edits their own content. That describes intended behavior
(PROD-8214) that has not shipped, and it contradicted the save-dialog section.
Actual shipped behavior (lightdash/lightdash#25120): editing verified content
always opens a confirmation dialog. Verifiers and the original verifier get a
keep/drop choice and keep the badge only by clicking "Save & verify"; plain
"Save" drops it. Non-verifiers are warned and can cancel but cannot keep it.
Co-Authored-By: Claude Opus 4.8 (1M context)
Claude-Session: https://claude.ai/code/session_017ENX7B2mwqRL9F12xDwiBR
---
guides/verified-content.mdx | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/guides/verified-content.mdx b/guides/verified-content.mdx
index 56c155d6..aeb28ac1 100644
--- a/guides/verified-content.mdx
+++ b/guides/verified-content.mdx
@@ -67,18 +67,21 @@ The tool returns both admin-verified content and [verified answers](/guides/ai-a
This works hand in hand with [verified answers](/guides/ai-agents/verified-answers), where users mark answers an AI agent produced as good examples. When one of those answers is saved as a chart or dashboard, verifying it also makes it verified content — see [Verified answers and verified content](#verified-answers-and-verified-content) below.
-## Verification is automatically removed when someone else edits the content
+## What happens to verification when content is edited
-Verification is tied to the exact state of the content at the time it was verified. If someone without verify permission edits a verified chart or dashboard, the verification badge is automatically removed and someone with verify permission will need to review the updated version and re-verify it.
+Verification is tied to the exact state of the content at the time it was verified, so editing a verified chart or dashboard puts its badge at risk. To make sure the badge never disappears silently, Lightdash shows a confirmation dialog whenever you save changes to verified content. What you can do in that dialog depends on whether you're allowed to preserve verification:
-If the original verifier edits their own verified content, the badge stays in place — saving the edit counts as re-approving the new version, and the verification timestamp is updated to reflect the latest change. This keeps verifiers from having to re-verify their own small tweaks while still guaranteeing that a verified badge reflects content someone with verify permission has explicitly approved in its current form.
+- **If you can verify content** (you have verify permission, or you're the original verifier), you're offered the choice to keep the badge as part of saving. Choosing **Save & verify** re-approves the current version and keeps the badge (updating the verification timestamp to your save); choosing **Save** drops it.
+- **If you can't verify content** (for example, an editor saving a chart verified by someone else), saving removes the badge. You're warned first and can cancel, but you can't keep it — someone with verify permission then needs to review the updated version and re-verify it.
+
+This guarantees a verified badge always reflects content that someone with verify permission has explicitly approved in its current form.
### What you see when saving verified content
-To make sure the verified badge never disappears silently, Lightdash shows a confirmation dialog whenever you save changes to a verified chart or dashboard. What you see depends on whether you can preserve verification on save:
+The confirmation dialog comes in two variants:
-- **If you can keep the badge** (you have verify permission, or you're the original verifier), you get a **Keep this verified after saving?** prompt with two options: **Save** drops the badge, and **Save & verify** keeps it and updates the verification timestamp to your save.
-- **If you cannot keep the badge** (for example, an editor saving a chart verified by someone else), you get a warning: *"Saving your changes will remove its verified status until someone verifies it again."* You can **Cancel** to back out, or **Save anyway** to save and drop the badge.
+- **If you can keep the badge** (verify permission or original verifier), you get a **Keep this verified after saving?** prompt with two options: **Save** drops the badge, and **Save & verify** keeps it and updates the verification timestamp to your save. Note there's no automatic retention — even the original verifier keeps the badge only by choosing **Save & verify**.
+- **If you cannot keep the badge**, you get a warning: *"Saving your changes will remove its verified status until someone verifies it again."* You can **Cancel** to back out, or **Save anyway** to save and drop the badge.
For example, if an editor on your team edits the **Ecom sales overview** dashboard (verified by a developer), they'll see the warning and can decide whether to save and drop the badge or cancel and let the developer make the change instead.
From 1600590143aaa142babd81d476238daa7b7ffacc Mon Sep 17 00:00:00 2001
From: Tori Whaley
Date: Tue, 7 Jul 2026 11:19:16 -0400
Subject: [PATCH 4/4] Move Verified answers section above content-as-code;
consistent admin/developer language
Co-Authored-By: Claude Opus 4.8
---
guides/verified-content.mdx | 40 ++++++++++++++++++-------------------
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/guides/verified-content.mdx b/guides/verified-content.mdx
index aeb28ac1..17a63e79 100644
--- a/guides/verified-content.mdx
+++ b/guides/verified-content.mdx
@@ -22,9 +22,9 @@ Organization and project admins and developers can verify or unverify charts and
## Verifying a chart or dashboard
-Admins can verify content directly from the chart or dashboard, or from the verification panel in project settings.
+Admins and developers can verify content directly from the chart or dashboard, or from the verification panel in project settings.
-Admins also have a dedicated verification panel under **Project settings** that lists all verified content and provides a central place to manage verification across the project.
+They also have a dedicated verification panel under **Project settings** that lists all verified content and provides a central place to manage verification across the project.
@@ -85,6 +85,24 @@ The confirmation dialog comes in two variants:
For example, if an editor on your team edits the **Ecom sales overview** dashboard (verified by a developer), they'll see the warning and can decide whether to save and drop the badge or cancel and let the developer make the change instead.
+## Verified answers and verified content
+
+Lightdash has two places you can verify something, and they now feed into each other:
+
+- **Verified content** — a saved chart or dashboard that someone with verify permission has approved. It gets the green badge and everything described on this page: listings, search, content-as-code, MCP, and in-product AI retrieval.
+- **[Verified answers](/guides/ai-agents/verified-answers)** — an answer an AI agent produced that a user marks as a good example inside a conversation. It trains that agent (few-shot examples, suggested questions, Slack replies).
+
+**When you verify an AI answer that has been saved as a chart or dashboard, it also becomes verified content** — the same green badge appears everywhere, and it shows up in search, content-as-code, and the `list_verified_content` MCP tool alongside admin-verified content. Removing verification from the answer removes it from both places too.
+
+A few things worth knowing about how the two interact:
+
+- **Only saved answers bridge.** An answer that lives only inside an agent conversation stays an agent example — it won't get a badge or appear in MCP until it's saved as a chart or dashboard. Save it first, then verify it, to make it verified content.
+- **The link is one-way.** Verifying an AI answer promotes the saved chart or dashboard to verified content. Verifying a chart or dashboard directly does *not* reach back and mark the originating agent answer.
+
+### Still on the way
+
+One piece of the unified experience isn't here yet: using verified content as templates when the AI agent generates brand-new charts and dashboards. (Once a saved answer is verified, it already flows through content-as-code, search, and MCP like any other verified content.)
+
## Verification in charts and dashboards as code
Verification status is included in [charts and dashboards as code](/guides/developer/dashboards-as-code). When you run `lightdash download`, verified content includes verification metadata in the YAML, and `lightdash upload` can apply or remove the verified badge based on what your YAML says.
@@ -129,21 +147,3 @@ The "absent = leave alone" semantic means that downloading and re-uploading a YA
Only users with permission to verify content (admins, developers, and any custom role granted `manage:ContentVerification`) can change verification state via the CLI. If you upload a YAML containing `verified: true` or `verified: false` but you don't have verify permissions, the upload still succeeds — the rest of your changes go through, but the verification field is silently skipped and a warning is logged on the server.
This means CI pipelines run by deployers without verify permission (for example, a custom role that has `manage:ContentAsCode` but not `manage:ContentVerification`) won't fail just because a YAML file contains a `verified` field they can't act on.
-
-## Verified answers and verified content
-
-Lightdash has two places you can verify something, and they now feed into each other:
-
-- **Verified content** — a saved chart or dashboard that someone with verify permission has approved. It gets the green badge and everything described on this page: listings, search, content-as-code, MCP, and in-product AI retrieval.
-- **[Verified answers](/guides/ai-agents/verified-answers)** — an answer an AI agent produced that a user marks as a good example inside a conversation. It trains that agent (few-shot examples, suggested questions, Slack replies).
-
-**When you verify an AI answer that has been saved as a chart or dashboard, it also becomes verified content** — the same green badge appears everywhere, and it shows up in search, content-as-code, and the `list_verified_content` MCP tool alongside admin-verified content. Removing verification from the answer removes it from both places too.
-
-A few things worth knowing about how the two interact:
-
-- **Only saved answers bridge.** An answer that lives only inside an agent conversation stays an agent example — it won't get a badge or appear in MCP until it's saved as a chart or dashboard. Save it first, then verify it, to make it verified content.
-- **The link is one-way.** Verifying an AI answer promotes the saved chart or dashboard to verified content. Verifying a chart or dashboard directly does *not* reach back and mark the originating agent answer.
-
-### Still on the way
-
-One piece of the unified experience isn't here yet: using verified content as templates when the AI agent generates brand-new charts and dashboards. (Once a saved answer is verified, it already flows through content-as-code, search, and MCP like any other verified content.)