Skip to content

docs: sync docs directory from docs branch to master (docs-only)#2179

Open
devin-ai-integration[bot] wants to merge 3 commits intomasterfrom
devin/1775681132-docs-sync-master
Open

docs: sync docs directory from docs branch to master (docs-only)#2179
devin-ai-integration[bot] wants to merge 3 commits intomasterfrom
devin/1775681132-docs-sync-master

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot commented Apr 8, 2026

Summary

Brings the docs/ directory on master in sync with the current docs branch. Only docs/ files are included — no code, config, or dependency changes outside the docs directory.

Key changes:

  • Mintlify v4 migration: Snippet syntax migrated from <Snippet file="..." /> to ESM imports (import X from '/snippets/...'; <X />). The _snippets/ directory is deleted and replaced by snippets/.
  • mint.jsondocs.json: Navigation config restructured with new tabs (Python SDK), new sections (MCP Server, Performance & Cost, AI Agents), and updated redirects.
  • New doc pages: Lightdash BI integration, CI/CD code review, MCP server, Python SDK, DuckDB/Dremio/Spark/Fabric/SQL Server/Vertica DWH support, OAuth M2M for Databricks, incident digest, audit logs, with-context tests, data governance, and more.
  • Kapa AI widget: Added "Ask Elementary AI" chat widget via kapa-widget.js.
  • Dockerfile: Node downgraded from 23 to 20.3.0; removed mintlify install step.
  • Various fixes: Broken internal links, redirect destinations corrected to include /cloud/ prefix, typos, updated screenshots, dbt tests:data_tests: syntax in tutorials.

Review & Testing Checklist for Human

  • Snippet migration completeness: Spot-check 5–10 pages to confirm the ESM import syntax renders correctly. Any page still using <Snippet file="..." /> will silently break. Search the docs/ tree for any remaining <Snippet references that weren't converted.
  • _snippets/ removal: Verify no file in docs/ still references _snippets/ paths. The directory is fully deleted in this PR.
  • docs.json navigation integrity: Confirm every page path listed in docs.json corresponds to an actual .mdx file. Missing files will cause Mintlify build errors. Pay special attention to new sections (MCP, Python SDK, Performance).
  • Redirect destinations: 8 redirects were updated to add the /cloud/ prefix. Manually test a few old URLs (e.g., /features/lineage/cloud/features/data-lineage/lineage) on the preview deployment to confirm they resolve.
  • mint.json vs docs.json: Both files exist after this PR. Verify Mintlify uses docs.json (v4) and that mint.json is inert or should be removed.

Recommended test plan: Deploy the Mintlify preview and click through the sidebar navigation for each top-level section. Verify the Kapa AI widget loads. Check that at least one page per new section (Lightdash, MCP, Python SDK, Vertica) renders content without import errors.

Notes

  • The typos pre-commit hook flags false positives on Vertica SVG gradient IDs containing _ot_ (e.g., vertica_page_ot_gradient). This commit was made with SKIP=typos to work around this. These will continue to trigger for future contributors editing those files.
  • The how-does-elementary-work file was renamed to .mdx and a typo fixed ("Could" → "Cloud"), but it does not appear in docs.json navigation — it may be an orphaned page.
  • Some pre-existing typos in docs content (e.g., "treshold" → "threshold", "subscibers" → "subscribers") were auto-corrected by the typos hook during commit.

Link to Devin session: https://app.devin.ai/sessions/e56abb358db34b84956c5b78d163f348
Requested by: @arbiv


Open with Devin

Summary by CodeRabbit

  • New Features
    • AI Agents (Catalog, Governance, Triage & Resolution, Test Recommendation, Performance & Cost), Python SDK beta, and MCP server announced.
  • Improvements
    • Expanded Alerts & Incidents, automated anomaly/freshness/volume monitors, column-level lineage, test recommendation workflows, performance monitoring, roles & permissions, and config-as-code flows.
  • Documentation
    • Major docs overhaul: many new Cloud/OSS guides, integrations, best-practices, quickstarts, changelog, and redesigned home/overview pages.
  • Chores
    • Documentation site configuration updated and development container base image downgraded for stability.

Co-Authored-By: Yosef Arbiv <yosef.arbiv@gmail.com>
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 8, 2026

👋 @devin-ai-integration[bot]
Thank you for raising your pull request.
Please make sure to add tests and document all user-facing changes.
You can do this by editing the docs files in this pull request.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 8, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 49d893c9-3416-4099-9085-ec20c672d456

📥 Commits

Reviewing files that changed from the base of the PR and between d7ef7c0 and 39599f1.

📒 Files selected for processing (1)
  • docs/oss/general/troubleshooting.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/oss/general/troubleshooting.mdx

📝 Walkthrough

Walkthrough

Large documentation overhaul: migrated many MDX snippet includes to explicit component imports, added extensive Elementary Cloud content (AI agents, MCP, features, integrations, Python SDK), new site config/homepage/assets (docs.json, home.mdx, kapa-widget.js), updated Docker base image, and removed several composed snippet files. No runtime code exports changed.

Changes

Cohort / File(s) Summary
Site config & infra
docs/docs.json, docs/Dockerfile, docs/docker-compose.yaml, docs/kapa-widget.js
Added Mintlify site configuration, navigation and redirects; changed Docker base image to node:20.3.0 and compose formatting; added Kapa widget script for email capture.
Homepage & global UI
docs/home.mdx, docs/key-features.mdx, docs/main_introduction.mdx, docs/overview/...
New home page with exported React components/constants; updated high-level intro and card links to cloud routes and Cloudinary assets.
MDX composition migration
docs/** (many MDX files), docs/_snippets/***
Systematic replace of <Snippet file="..."/> with explicit import ... + component renders across hundreds of MDX pages; multiple snippet files removed.
Cloud: AI agents
docs/cloud/ai-agents/*
Added multiple AI agent docs (Catalog, Governance, Triage & Resolution, Test Recommendation, Performance & Cost, overview), including embedded media and privacy callouts.
Cloud: MCP & tools
docs/cloud/mcp/*
Added MCP server overview, setup guide, tools list, recommended rules and related pages.
Cloud: Features & best practices
docs/cloud/features/**, docs/cloud/best-practices/*
Many new Cloud feature pages (alerts/incidents, anomaly detection, monitors, data-tests, lineage, governance, CI, roles/permissions, config-as-code, performance monitoring, saved views, etc.).
Cloud: Integrations
docs/cloud/integrations/**
Added/rewrote integration pages (DWH, BI, code repos, log streaming, metadata/security: PrivateLink/Entra/Okta), with componentized onboarding snippets.
dbt package & data-tests
docs/data-tests/**, docs/data-tests/dbt/**
Extensive documentation for dbt package, anomaly tests, AI data tests, schema tests, package models/artifacts, SLAs, release notes, and configuration example shape changes (tests:data_tests: with arguments/config).
OSS docs & quickstarts
docs/oss/**
Reworked OSS guides/quickstarts and many snippet migrations; added quickstart/checklists and release notes.
Changelog & branding
docs/changelog.mdx, docs/home.mdx
Changelog rewritten to use Tag/Tags components; numerous image sources updated to Cloudinary.
Removed snippets
docs/_snippets/... (e.g., cloud/integrations/cards-groups/*, various dwh/oss snippets)
Deleted several composed snippet files whose content was migrated into pages/components.
Small editorial & examples
assorted MDX (docs/cloud/guides/*, docs/oss/*, docs/data-tests/*)
Link path updates to cloud/..., media embed updates, trailing-newline fixes, and many YAML example shape changes.

*Many additional MDX files were updated; cohorts group similar changes to reduce rows.

Sequence Diagram(s)

mermaid
sequenceDiagram
autonumber
actor User
participant UI as "Cloud UI"
participant MCP as "MCP Server"
participant Cloud as "Elementary Cloud"
participant DWH as "Data Warehouse"
User->>UI: Ask catalog (natural language)
UI->>MCP: forward query + auth
MCP->>Cloud: request metadata, lineage, test results
Cloud->>DWH: query metadata/metrics (if required)
DWH-->>Cloud: return metadata/metrics
Cloud-->>MCP: aggregate signals, run agent logic
MCP-->>UI: return ranked assets + explanations
UI-->>User: present results

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • Ele 5194 docs for us samples #2082 — Overlapping documentation restructuring (touches many of the same docs files including Dockerfile and MDX snippet→component migrations).

Poem

🐇 I hopped through folders, pages anew,

Snippets became components, tidy and true.
Agents learned catalogs, MCP hummed along,
A homepage arose with a jubilant song.
Carrots of docs, neatly lined in a row — hooray, off I go!

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch devin/1775681132-docs-sync-master

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Note

Due to the large number of review comments, Critical severity comments were prioritized as inline comments.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
docs/data-tests/anomaly-detection-configuration/exclude_prefix.mdx (1)

13-27: ⚠️ Potential issue | 🟡 Minor

Fix test name inconsistency: parameter applies to column_anomalies or all_columns_anomalies?

The description states this parameter is "for the all_columns_anomalies test only" (line 13), but the YAML example uses elementary.column_anomalies (line 25). These are two different tests. Either update the description to match the example, or update the example to use the test mentioned in the description.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/anomaly-detection-configuration/exclude_prefix.mdx` around
lines 13 - 27, The doc text is inconsistent: it claims the parameter applies to
all_columns_anomalies but the YAML example uses elementary.column_anomalies;
update one to match the other. Either change the description line to say "Param
for the column_anomalies test only" (referencing column_anomalies /
elementary.column_anomalies) or change the YAML example to use
all_columns_anomalies instead of elementary.column_anomalies so the example and
the description both reference the same test (all_columns_anomalies).
docs/cloud/integrations/alerts/ms-teams.mdx (1)

34-58: ⚠️ Potential issue | 🟡 Minor

Clean up ordered-list numbering in setup steps.

The list has duplicate 3. items in the same sequence, which makes the flow harder to follow.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/integrations/alerts/ms-teams.mdx` around lines 34 - 58, The
ordered list in the MS Teams setup sequence contains duplicate "3." entries (the
paragraph starting "For each MS Teams channel you connect..." and the subsequent
"3. Click on `Edit` connectors.") which breaks the sequence; update the
numbering so the steps read sequentially (e.g., 3, 4, 5) across the blocks that
include the Frame components and the "Click on `Edit` connectors." and "Search
for `Incoming webhook`..." lines, ensuring the MDX ordered-list items are
consistently numbered and reflect the correct step order.
docs/cloud/integrations/code-repo/github.mdx (1)

31-31: ⚠️ Potential issue | 🟡 Minor

Rewrite step text for clarity and inclusive language.

This sentence is hard to parse (“Read more in For more information…”) and uses “ask him”. Please simplify and use neutral phrasing (“ask them”).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/integrations/code-repo/github.mdx` at line 31, Rewrite the
sentence in the step so it reads clearly and uses inclusive language: replace
"If it is missing, you need to contact the resource owner administrator and ask
him to approve fine-grained personal access tokens. Read more in For more
information, see [\"Setting a personal access token policy for your
organization\"](https://docs.github.com/en/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization)."
with a concise version that uses neutral pronouns (e.g., "ask them") and removes
the duplicated "Read more/For more information" phrasing—e.g., "If the owner is
missing, contact the repository administrator and ask them to approve
fine‑grained personal access tokens; see the GitHub docs linked for details."
Ensure the updated sentence appears in the step text where the original snippet
is shown.
🟠 Major comments (41)
docs/changelog.mdx-445-460 (1)

445-460: ⚠️ Potential issue | 🟠 Major

Duplicate/incorrect content: "Elementary + Atlan" section has wrong body text

The section header mentions "Atlan" integration, but the body text describes the "test overview side panel" feature, which is duplicated verbatim in the following "A better way to triage test and model failures" section (lines 462-477). Both sections also use the same screenshot.

This appears to be a copy-paste error. The "Elementary + Atlan" section should contain content describing the Atlan integration, not the test overview panel.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/changelog.mdx` around lines 445 - 460, The "## Elementary + Atlan: See
your Elementary data quality insights in Atlan!" section currently contains
duplicated content about the test overview side panel (copied from the "A better
way to triage test and model failures" section); replace the body under the
header "Elementary + Atlan: See your Elementary data quality insights in Atlan!"
with accurate copy about the Atlan integration (what it does, how to access
Elementary insights in Atlan, any key benefits or setup notes), update or
replace the screenshot so it reflects Atlan integration instead of the test
overview panel, and keep the existing Tags component (date and tags) intact;
ensure the original test-overview content remains only in the "A better way to
triage test and model failures" section to remove the duplication.
docs/cloud/integrations/alerts/linear.mdx-7-7 (1)

7-7: ⚠️ Potential issue | 🟠 Major

Add alt text to all <img> tags on this page for accessibility.

The following image tags are missing alt attributes: Line 7, Lines 16–19, Line 27, and Line 31. Each should include descriptive alt text.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/integrations/alerts/linear.mdx` at line 7, Several <img> tags in
the document are missing alt attributes; locate each <img> element (e.g., the
one with src "linear_create_ticket_sinqxy.png" and the other image tags
referenced on the page) and add a descriptive alt attribute to each (alt="...")
that succinctly describes the image content for screen readers—do not leave alt
empty unless the image is purely decorative, and ensure the text is brief and
informative.
docs/cloud/integrations/alerts/servicenow.mdx-9-12 (1)

9-12: ⚠️ Potential issue | 🟠 Major

Add descriptive alt attributes to all 13 screenshots.

Every <img> tag in this file lacks an alt attribute, which is an accessibility gap. Users relying on screen readers cannot understand what the screenshots depict. Add meaningful alt text to lines: 9-12, 21-24, 31-34, 44-47, 60-63, 70-73, 84-87, 99-102, 108-111, 121-124, 132-135, 142-145, and 163-166.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/integrations/alerts/servicenow.mdx` around lines 9 - 12, Each
<img> element in the Servicenow docs is missing an alt attribute; update all 13
<img> tags to include meaningful, concise alt text describing what each
screenshot shows (e.g., for the image with src
"servicenow_create_ticket_ztpeaw.png" add alt="ServiceNow: Create incident
ticket form with priority and description fields"), and do the same for the
other image src values so screen readers can convey the content; ensure alt text
is brief, specific, and reflects the visible UI/state in each screenshot.
docs/cloud/integrations/alerts/jira.mdx-7-7 (1)

7-7: ⚠️ Potential issue | 🟠 Major

Add alt text to images for accessibility.

The images at lines 7, 18, 19, 20, 21, 32, and 34 lack alt attributes, affecting screen-reader usability and WCAG compliance.

Suggested fix pattern
-<img src="https://res.cloudinary.com/dvmtceykh/image/upload/v1739794592/create_ticket_rxdrx4.png" />
+<img src="https://res.cloudinary.com/dvmtceykh/image/upload/v1739794592/create_ticket_rxdrx4.png" alt="Create Jira ticket button on an incident page" />
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/integrations/alerts/jira.mdx` at line 7, Several <img> tags in
this document are missing alt attributes, harming accessibility; update each
<img> element (for example the one with src "create_ticket_rxdrx4.png" and the
other images noted in the review) to include concise, descriptive alt text that
conveys the image purpose (or use alt="" for purely decorative images), ensuring
the alt strings describe the screenshot content and its role in the Jira alert
integration docs; modify the img tags directly in the JSX/MDX where the src
attributes appear (e.g., the <img src="...create_ticket_rxdrx4.png" /> tag) to
add appropriate alt="..." values.
docs/cloud/features/gpg-signed-commits.mdx-95-95 (1)

95-95: ⚠️ Potential issue | 🟠 Major

Update the GPG key expiration recommendation.

The recommendation to set expiration dates to "90 days" is significantly shorter than industry best practices. Standard guidance recommends 1–2 years for GPG commit-signing keys, with periodic renewal rather than long-lived non-expiring keys. Either update the recommendation to align with these standards or provide context explaining why a 90-day expiration is required for Elementary's use case.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/features/gpg-signed-commits.mdx` at line 95, Update the
recommendation text "Set expiration dates (90 days recommended)" to align with
industry practice by either changing it to "Set expiration dates (1–2 years
recommended)" or keep the 90-day value but add a brief justification explaining
why Elementary requires a 90-day expiration; edit the string in the GPG
commit-signing guidance (the text "Set expiration dates (90 days recommended)")
so the page reflects the chosen approach.
docs/Dockerfile-1-1 (1)

1-1: ⚠️ Potential issue | 🟠 Major

Upgrade to latest Node 20 LTS version — Node 20.3.0 contains critical security vulnerabilities.

Node 20.3.0 (released June 2023) was patched just 12 days later due to multiple high-severity vulnerabilities, including:

  • CVE-2023-30581: Policy mechanism bypass allowing unauthorized requires
  • CVE-2023-30584: Path traversal in the experimental permission model
  • CVE-2023-30587: Permission model bypass via the Node.js inspector

The latest Node 20 LTS is v20.20.2. Use node:20-alpine or update to the latest LTS version.

Suggested fix
-FROM node:20.3.0
+FROM node:20-alpine

Or pin to the latest Node 20 LTS: node:20.20.2

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Dockerfile` at line 1, Update the Dockerfile base image to a secure Node
20 LTS by replacing the current FROM node:20.3.0 with a modern LTS tag (for
example FROM node:20-alpine or FROM node:20.20.2); edit the Dockerfile's FROM
line so the image uses the latest Node 20 LTS instead of the vulnerable
node:20.3.0.
docs/data-tests/schema-tests/schema-changes-from-baseline.mdx-105-108 (1)

105-108: ⚠️ Potential issue | 🟠 Major

Fix invalid YAML in the Sources example test config.

The current YAML fails to parse with error "mapping values are not allowed here" because config: is indented as a sibling to the scalar list item elementary.schema_changes_from_baseline. Users copying this example will get a parsing error. Convert the test name to a mapping key by adding a colon:

🛠️ YAML fix
         data_tests:
-          - elementary.schema_changes_from_baseline
-              config:
-                tags: ["elementary"]
+          - elementary.schema_changes_from_baseline:
+              config:
+                tags: ["elementary"]
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/schema-tests/schema-changes-from-baseline.mdx` around lines
105 - 108, The YAML example under data_tests is invalid because
`elementary.schema_changes_from_baseline` is written as a scalar list item while
`config:` is indented as if it were a mapping for that item; change the test
entry to a mapping key by adding a colon so the test name becomes a key (e.g.,
`elementary.schema_changes_from_baseline:`) and then indent `config:` and its
children under that key so `config` is nested correctly under the
`elementary.schema_changes_from_baseline` mapping.
docs/cloud/features/performance-monitoring/performance-monitoring.mdx-21-29 (1)

21-29: ⚠️ Potential issue | 🟠 Major

Add title to iframe for accessibility.

Line [28] uses alt on <iframe>, but iframe accessibility relies on a descriptive title.

Proposed fix
 <iframe
 width="700"
 height="400"
 src="https://res.cloudinary.com/diuctyblm/video/upload/v1719746949/9_-_Performance_-_white_wurwra.mp4"
 frameborder="0"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
 allowfullscreen
-alt="Elementary Models Duration tab"
+title="Elementary Models Duration tab walkthrough video"
 >
 </iframe>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/features/performance-monitoring/performance-monitoring.mdx` around
lines 21 - 29, The iframe element currently uses an invalid alt attribute for
accessibility; replace or supplement it by adding a descriptive title attribute
on the <iframe> (e.g., title="Elementary Models Duration tab") so screen readers
can identify the embedded content; update the iframe tag in
performance-monitoring.mdx to include the title attribute alongside existing
attributes and remove or keep alt if desired (alt is ignored for iframes) to
satisfy accessibility requirements.
docs/cloud/features/multi-env.mdx-16-18 (1)

16-18: ⚠️ Potential issue | 🟠 Major

Add alt text to screenshots for accessibility.

Both images are missing alt, which makes this content inaccessible to screen-reader users.

Suggested edit
     <img
       src="https://res.cloudinary.com/do5hrgokq/image/upload/v1763375225/Screenshot_2025-11-17_at_12.24.03_yrt9co.png"
+      alt="Create environment flow in Elementary UI"
     />
...
     <img
       src="https://res.cloudinary.com/dvmtceykh/image/upload/v1768320449/eb197aa5-f814-4e64-8a98-223f283192ec.png"
+      alt="Environment content settings showing multiple dbt projects"
     />

Also applies to: 67-69

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/features/multi-env.mdx` around lines 16 - 18, Add descriptive alt
text to the image elements (the <img> tags with src
"https://res.cloudinary.com/do5hrgokq/image/upload/v1763375225/Screenshot_2025-11-17_at_12.24.03_yrt9co.png"
and the other image around lines 67-69) so screen readers can convey the
content; update each <img> to include an appropriate alt attribute (brief,
descriptive text of the screenshot) and ensure it accurately reflects the visual
content.
docs/cloud/best-practices/governance-for-observability.mdx-51-54 (1)

51-54: ⚠️ Potential issue | 🟠 Major

Remove the extra colon in owner fields—owner: :"..." is invalid YAML syntax.

Lines 51 and 117 both contain owner: :"@..." which has an extraneous : before the quoted string. This syntax is invalid and will cause YAML parsing errors.

Suggested fixes
-        owner: :"@analytics.engineer"
+        owner: "@analytics.engineer"
-        owner: :"@data.engineer"
+        owner: "@data.engineer"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/best-practices/governance-for-observability.mdx` around lines 51 -
54, The owner fields contain an extra colon before the quoted handle (e.g.,
`owner: :"@analytics.engineer"`); locate the owner entries in the document (both
occurrences noted) and remove the stray colon so the YAML uses valid syntax like
`owner: "@analytics.engineer"` (ensure all `owner: :"...` instances are changed
to `owner: "..."`).
docs/cloud/best-practices/governance-for-observability.mdx-20-27 (1)

20-27: ⚠️ Potential issue | 🟠 Major

YAML example uses invalid mixed tab and space indentation.

The snippet fails YAML validation because it mixes tabs and spaces. YAML strictly forbids tab characters for indentation. This will cause parse errors when copied.

Suggested edit
 models:
-	analytics:
-    marketing:
-	    +tags: marketing
-	    public:
-		    +tags: marketing-public
+  analytics:
+    marketing:
+      +tags: marketing
+      public:
+        +tags: marketing-public
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/best-practices/governance-for-observability.mdx` around lines 20 -
27, The YAML snippet under the models -> analytics -> marketing -> public block
uses tab characters for indentation (mixing tabs and spaces) which YAML forbids;
fix it by replacing all tab characters with consistent spaces (choose 2 or 4
spaces) and ensure the nested keys marketing and public and their tag entries
(+tags: marketing, +tags: marketing-public) are indented uniformly so the
hierarchy is clear and valid YAML; verify there are no stray diff markers
(leading '+' characters) left in the final YAML.
docs/data-tests/volume-threshold.mdx-38-41 (1)

38-41: ⚠️ Potential issue | 🟠 Major

Config snippet uses incorrect YAML list marker (-- instead of -).

This example uses double dashes which is invalid YAML syntax. Users copying this into their schema.yml will encounter errors. Other data-tests documentation in the repository uses the correct single-dash syntax.

Suggested edit
 data_tests:
-    &nbsp;&nbsp;-- elementary.volume_threshold:
+    &nbsp;&nbsp;- elementary.volume_threshold:
       &nbsp;&nbsp;&nbsp;&nbsp;arguments:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/volume-threshold.mdx` around lines 38 - 41, The YAML snippet
under data_tests is using an invalid list marker ("--") for the test key; update
the example so the test name uses a single dash (e.g., change "—
elementary.volume_threshold:" to "- elementary.volume_threshold:") and ensure
the nested arguments entry with timestamp_column remains correctly indented;
reference the data_tests block and the elementary.volume_threshold example and
adjust the list marker accordingly so the example is valid YAML.
docs/data-tests/anomaly-detection-configuration/update_timestamp_column.mdx-30-35 (1)

30-35: ⚠️ Potential issue | 🟠 Major

Test name in example is incorrect.

The documentation describes this as configuration for the event_freshness_anomalies test (lines 13 and 22), but the YAML example uses elementary.event_timestamp_column as the test name. The correct test name is elementary.event_freshness_anomalies, as shown in the main test documentation.

Suggested fix
 models:
   - name: this_is_a_model
     data_tests:
-      - elementary.event_timestamp_column:
+      - elementary.event_freshness_anomalies:
           arguments:
             event_timestamp_column: "event_timestamp"
             update_timestamp_column: "created_at"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/anomaly-detection-configuration/update_timestamp_column.mdx`
around lines 30 - 35, The YAML example uses the wrong test name; update the test
key from "elementary.event_timestamp_column" to
"elementary.event_freshness_anomalies" in the example so it matches the
surrounding documentation and the main test docs; locate the example block and
replace the test identifier while keeping the existing arguments
(event_timestamp_column and update_timestamp_column) unchanged.
docs/cloud/integrations/alerts/opsgenie.mdx-7-7 (1)

7-7: ⚠️ Potential issue | 🟠 Major

Fix typo and use absolute internal links for consistency.

Line 7 has a typo: "Opsgenei" should be "Opsgenie". Additionally, use /cloud/... (with leading slash) instead of cloud/... for internal links to match the documentation's routing convention used elsewhere.

Lines 7 and 69 require corrections:

Proposed fix
-It is recommended to create [alert rules](cloud/features/alerts-and-incidents/alert-rules) to filter and select the alerts that will create incidents in Opsgenei.
+It is recommended to create [alert rules](/cloud/features/alerts-and-incidents/alert-rules) to filter and select the alerts that will create incidents in Opsgenie.

-4. `Opsgenie` will now be available as a destination on the [`alert rules`](cloud/features/alerts-and-incidents/alert-rules) page. You can add rules to create Opsgenie incidents out of alerts who match your rule. 
+4. `Opsgenie` will now be available as a destination on the [`alert rules`](/cloud/features/alerts-and-incidents/alert-rules) page. You can add rules to create Opsgenie incidents out of alerts who match your rule. 
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/integrations/alerts/opsgenie.mdx` at line 7, Fix the typo
"Opsgenei" -> "Opsgenie" in the sentence "It is recommended to create [alert
rules](cloud/features/alerts-and-incidents/alert-rules) to filter and select the
alerts that will create incidents in Opsgenei." and update the internal link
target to use an absolute path by changing
"cloud/features/alerts-and-incidents/alert-rules" to
"/cloud/features/alerts-and-incidents/alert-rules"; apply the same absolute-path
link change for the other internal link referenced at line 69 (replace any
leading "cloud/..." with "/cloud/...") so all internal docs links use the
leading slash and the product name is spelled correctly.
docs/cloud/integrations/alerts/slack.mdx-8-8 (1)

8-8: ⚠️ Potential issue | 🟠 Major

Fix internal route links to be absolute (/cloud/...).

Lines 8 and 50 use relative cloud/features/... paths instead of absolute paths. This deviates from the documentation's convention of using /cloud/... for all internal links and may cause routing issues in nested documentation pages.

Proposed fix
-You can also create [alert rules](cloud/features/alerts-and-incidents/alert-rules) to distribute alerts to different channels and destinations.
+You can also create [alert rules](/cloud/features/alerts-and-incidents/alert-rules) to distribute alerts to different channels and destinations.

-The default channel you select will automatically add a default [alert rule](cloud/features/alerts-and-incidents/alert-rules)
+The default channel you select will automatically add a default [alert rule](/cloud/features/alerts-and-incidents/alert-rules)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/integrations/alerts/slack.mdx` at line 8, The link
"cloud/features/alerts-and-incidents/alert-rules" (and the other relative link
on line 50) uses a relative path; update these internal route links to be
absolute by prefixing them with "/cloud/" (e.g., change
"cloud/features/alerts-and-incidents/alert-rules" to
"/cloud/features/alerts-and-incidents/alert-rules") so all internal
documentation links follow the "/cloud/..." convention and avoid routing issues
in nested pages.
docs/key-features.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟠 Major

Use absolute internal routes for all Card links in this file.

The 7 href attributes in docs/key-features.mdx lack leading slashes, creating relative URLs that can resolve incorrectly depending on current page depth. All other Card components across the docs consistently use absolute paths.

Suggested fix
-    href="cloud/features/data-tests"
+    href="/cloud/features/data-tests"

Apply the same pattern to lines 28, 36, 45, 52, 60, and 70.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/key-features.mdx` at line 12, Several Card components in
docs/key-features.mdx use relative href values (e.g.,
href="cloud/features/data-tests") which can produce incorrect links; update each
Card's href attribute (all occurrences of href in that file) to use absolute
internal routes by prefixing with a leading slash (e.g.,
href="/cloud/features/data-tests") so they match the other Card components and
resolve correctly.
docs/cloud/integrations/alerts/pagerduty.mdx-7-7 (1)

7-7: ⚠️ Potential issue | 🟠 Major

Fix relative links to follow the documentation convention—use absolute paths with leading /.

Both alert rules links on lines 7 and 53 use cloud/... without a leading /, inconsistent with the established pattern throughout the codebase which uses /cloud/.... This pattern also appears in other alert integration files (slack.mdx, ms-teams.mdx, opsgenie.mdx). Update both instances to use absolute paths.

Suggested fix
-It is recommended to create [alert rules](cloud/features/alerts-and-incidents/alert-rules) to filter and select the alerts that will create incidents in PagerDuty.
+It is recommended to create [alert rules](/cloud/features/alerts-and-incidents/alert-rules) to filter and select the alerts that will create incidents in PagerDuty.
-4. `PagerDuty` will now be available as a destination on the [`alert rules`](cloud/features/alerts-and-incidents/alert-rules) page. You can add rules to create PagerDuty incidents out of alerts who match your rule.
+4. `PagerDuty` will now be available as a destination on the [`alert rules`](/cloud/features/alerts-and-incidents/alert-rules) page. You can add rules to create PagerDuty incidents out of alerts who match your rule.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/integrations/alerts/pagerduty.mdx` at line 7, In
docs/cloud/integrations/alerts/pagerduty.mdx there are two relative links with
the anchor text "alert rules" pointing to
cloud/features/alerts-and-incidents/alert-rules; update both occurrences to use
the absolute path /cloud/features/alerts-and-incidents/alert-rules so they
follow the repository convention (also mirror the same change pattern used in
slack.mdx, ms-teams.mdx, and opsgenie.mdx if needed).
docs/data-tests/anomaly-detection-configuration/exclude_regexp.mdx-24-27 (1)

24-27: ⚠️ Potential issue | 🟠 Major

Use the documented test name in the YAML example.

Line [25] uses elementary.column_anomalies, but this page documents exclude_regexp for all_columns_anomalies. This example currently points readers to the wrong test config.

Proposed fix
 models:
   - name: this_is_a_model
     data_tests:
-      - elementary.column_anomalies:
+      - elementary.all_columns_anomalies:
           arguments:
             exclude_regexp: ".*SDC$"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/anomaly-detection-configuration/exclude_regexp.mdx` around
lines 24 - 27, The YAML example uses the wrong test name; replace the test key
"elementary.column_anomalies" with the documented
"elementary.all_columns_anomalies" so the example config matches the page and
the documented "exclude_regexp" argument applies to the correct test (update the
block containing the "exclude_regexp" field to use
"elementary.all_columns_anomalies").
docs/data-tests/anomaly-detection-configuration/event_timestamp_column.mdx-30-34 (1)

30-34: ⚠️ Potential issue | 🟠 Major

Use the correct test identifier in the example.

Line [31] currently uses elementary.event_timestamp_column, but the page describes configuring event_freshness_anomalies. This can mislead users into invalid test YAML.

Proposed fix
 models:
   - name: this_is_a_model
     data_tests:
-      - elementary.event_timestamp_column:
+      - elementary.event_freshness_anomalies:
           arguments:
             event_timestamp_column: "event_timestamp"
             update_timestamp_column: "created_at"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/anomaly-detection-configuration/event_timestamp_column.mdx`
around lines 30 - 34, The example uses the wrong test identifier: replace the
data_tests entry key "elementary.event_timestamp_column" with the correct test
identifier "elementary.event_freshness_anomalies" so the YAML reflects the page
content; keep the surrounding structure (data_tests -> arguments ->
event_timestamp_column and update_timestamp_column) unchanged so the arguments
(event_timestamp_column: "event_timestamp", update_timestamp_column:
"created_at") are passed to elementary.event_freshness_anomalies.
docs/cloud/features/data-tests/schema-validation-test.mdx-8-29 (1)

8-29: ⚠️ Potential issue | 🟠 Major

Fix Card href paths to use absolute paths.

The Card components use relative hrefs like data-tests/schema-tests/schema-changes, which are inconsistent with the documentation pattern. Similar Card components throughout the docs consistently use absolute paths (e.g., /cloud/features/data-tests/dbt-tests). From the current file location, these relative paths would resolve incorrectly to /cloud/features/data-tests/data-tests/schema-tests/... instead of the intended /data-tests/schema-tests/....

Update all four Card hrefs to use absolute paths:

Suggested diffs
-<Card title="Schema changes" href="data-tests/schema-tests/schema-changes">
+<Card title="Schema changes" href="/data-tests/schema-tests/schema-changes">
-href="data-tests/schema-tests/schema-changes-from-baseline"
+href="/data-tests/schema-tests/schema-changes-from-baseline"
-<Card title="JSON schema" href="data-tests/schema-tests/json-schema">
+<Card title="JSON schema" href="/data-tests/schema-tests/json-schema">
-<Card title="Exposure schema" href="data-tests/schema-tests/exposure-tests">
+<Card title="Exposure schema" href="/data-tests/schema-tests/exposure-tests">
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/features/data-tests/schema-validation-test.mdx` around lines 8 -
29, Update the Card hrefs to use absolute paths by prepending a leading slash to
each href string so they resolve correctly; specifically change the href values
in the Card elements with titles "Schema changes", "Schema changes from
baseline", "JSON schema", and "Exposure schema" from
"data-tests/schema-tests/..." (and
"data-tests/schema-tests/schema-changes-from-baseline") to
"/data-tests/schema-tests/..." (and
"/data-tests/schema-tests/schema-changes-from-baseline") respectively.
docs/data-tests/anomaly-detection-tests/event-freshness-anomalies.mdx-34-37 (1)

34-37: ⚠️ Potential issue | 🟠 Major

Fix invalid YAML bullet in rendered config example.

Line 35 currently renders -- elementary.event_freshness_anomalies:; this should be a single list marker (-). As-is, users copying the snippet can end up with invalid YAML.

🐛 Suggested fix
-  data_tests:
-    &nbsp;&nbsp;-- elementary.event_freshness_anomalies:
+  data_tests:
+    &nbsp;&nbsp;- elementary.event_freshness_anomalies:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/anomaly-detection-tests/event-freshness-anomalies.mdx` around
lines 34 - 37, The YAML example contains an invalid bullet marker using two
hyphens; replace the incorrect list marker `--
elementary.event_freshness_anomalies:` with a single-dash list marker `-
elementary.event_freshness_anomalies:` so the rendered snippet becomes valid
YAML and can be copied without error.
docs/data-tests/add-elementary-tests.mdx-164-167 (1)

164-167: ⚠️ Potential issue | 🟠 Major

Correct invalid YAML/dbt syntax in data_tests example.

Lines 164-167 are missing the list marker and mapping colon, so the snippet is not valid YAML and won’t run as shown.

Suggested fix
-    data_tests:
-        elementary.volume_anomalies
-          config:
-            tags: ['elementary']
+    data_tests:
+      - elementary.volume_anomalies:
+          config:
+            tags: ['elementary']
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/add-elementary-tests.mdx` around lines 164 - 167, The YAML
snippet under data_tests is invalid because the entry for
elementary.volume_anomalies is missing the list item marker and mapping colon;
update the block so that data_tests contains a list entry for
elementary.volume_anomalies (use a leading dash) and make
elementary.volume_anomalies a mapping (add the trailing colon) so that its
nested config -> tags mapping is valid; locate the snippet with the symbols
data_tests, elementary.volume_anomalies, config, and tags and adjust those lines
accordingly.
docs/data-tests/ai-data-tests/ai_data_validations.mdx-120-128 (1)

120-128: ⚠️ Potential issue | 🟠 Major

Revise example to single-column validation—ai_data_validation cannot access other columns.

The expectation prompt references suspension_reason (another column), but elementary.ai_data_validation is scoped to the single column it's attached to and receives only that column's values. The test cannot reference or validate against other columns in the row.

Either revise the example to show a valid single-column validation, or document that cross-column validations require creating a derived column (e.g., concatenating fields) and running the test on that instead.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/ai-data-tests/ai_data_validations.mdx` around lines 120 -
128, The example uses elementary.ai_data_validation on account_status but the
expectation_prompt references another column (suspension_reason), which is
invalid because ai_data_validation is scoped to the single column; update the
example so the expectation_prompt only refers to the account_status values
(e.g., assert allowed values and format) or explain the alternative of creating
a derived column (e.g., concatenating account_status and suspension_reason) and
running elementary.ai_data_validation against that derived column instead;
modify the block containing ai_data_validation, expectation_prompt,
account_status and any documentation text to reflect the single-column
constraint and remove direct references to suspension_reason.
docs/cloud/guides/set-up-elementary-checklist.md-18-73 (1)

18-73: ⚠️ Potential issue | 🟠 Major

Checklist items are not in Markdown task-list syntax.

Most entries won’t render as actual checkboxes because they use [ ] in plain text instead of - [ ] list items.

Suggested pattern fix
-* **Code as the source of truth** [ ] Elementary keeps your code as the system of record.
+- [ ] **Code as the source of truth** Elementary keeps your code as the system of record.

-[ ] [Create Elementary cloud account](/cloud/quickstart) (quick-start guide)
+- [ ] [Create Elementary cloud account](/cloud/quickstart) (quick-start guide)

Apply this pattern consistently across the checklist sections.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/guides/set-up-elementary-checklist.md` around lines 18 - 73, The
checklist items use plain "[ ]" and "*" leading markers so they won't render as
Markdown task lists; update each checklist entry under headings like "Technical
Setup", "Alerts & Incidents", "AI Agents", "Advanced Setup", and "Security and
permissions" by converting lines such as "* **Code as the source of truth** [ ]
..." and standalone "[ ] Connect messaging app..." into proper Markdown
task-list items (prefix with "- " before the "[ ]" checkbox and keep the
existing text/links/formatting intact) so they render as interactive checkboxes
consistently across the document.
docs/cloud/ai-agents/catalog-agent.mdx-20-24 (1)

20-24: 🛠️ Refactor suggestion | 🟠 Major

Use JSX-compatible iframe attribute casing per Mintlify React-based rendering.

This project uses Mintlify, which renders MDX as React/JSX. React DOM attributes must use camelCase (frameBorder, allowFullScreen) rather than lowercase HTML (frameborder, allowfullscreen). This pattern affects 30+ files across the codebase and should be systematically corrected.

Suggested fix
-      frameborder="0"
+      frameBorder="0"
       webkitAllowFullScreen
       mozAllowFullScreen
-      allowfullscreen
+      allowFullScreen
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/ai-agents/catalog-agent.mdx` around lines 20 - 24, The iframe uses
HTML attribute casing that breaks React/JSX rendering (frameborder,
allowfullscreen); update the JSX attributes in this MDX (and other affected
files) to React camelCase equivalents—replace frameborder with frameBorder and
allowfullscreen with allowFullScreen (leave or ensure vendor-prefixed attributes
like webkitAllowFullScreen and mozAllowFullScreen remain camelCase) in the
iframe element and apply the same systematic replacement across the 30+ files.
docs/cloud/integrations/alerts/ms-teams.mdx-8-8 (1)

8-8: ⚠️ Potential issue | 🟠 Major

Fix internal link paths to be absolute.

[alert rules](cloud/features/...) is a relative path and is likely to break from this page location. Use /cloud/... links.

Suggested fix
-The alerts include rich context, and you can create [alert rules](cloud/features/alerts-and-incidents/alert-rules) to distribute alerts to different channels and destinations.
+The alerts include rich context, and you can create [alert rules](/cloud/features/alerts-and-incidents/alert-rules) to distribute alerts to different channels and destinations.
...
-  rule](cloud/features/alerts-and-incidents/alert-rules) to sends all failures to
+  rule](/cloud/features/alerts-and-incidents/alert-rules) to send all failures to

Also applies to: 111-112

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/integrations/alerts/ms-teams.mdx` at line 8, Update the relative
markdown links that point to "cloud/features/alerts-and-incidents/alert-rules"
so they use absolute paths (prepend a leading slash) — replace instances like
[alert rules](cloud/features/alerts-and-incidents/alert-rules) with [alert
rules](/cloud/features/alerts-and-incidents/alert-rules) in the ms-teams.mdx
content (also fix the same pattern found around the other occurrences referenced
on lines 111-112).
docs/data-tests/dbt/singular-tests.mdx-31-36 (1)

31-36: ⚠️ Potential issue | 🟠 Major

Use explicit JOIN conditions in both SQL examples.

Both snippets show join without on/using, which is misleading and may fail for users copying these examples.

Suggested fix pattern
 select * 
 from {{ ref('orders') }} 
-join {{ ref('payments') }} 
-where status is null
+join {{ ref('payments') }} on {{ ref('orders') }}.order_id = {{ ref('payments') }}.order_id
+where {{ ref('orders') }}.status is null

Also applies to: 56-60

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/dbt/singular-tests.mdx` around lines 31 - 36, The examples
use "join" without an explicit join condition which is misleading; update both
SQL snippets that reference ref('orders') and ref('payments') to use explicit
join conditions by adding table aliases (e.g., orders AS o, payments AS p) and a
clear ON clause (for example ON o.id = p.order_id) or a USING(...) clause if
appropriate; ensure the ref(...) calls are aliased consistently in the SELECT
and join condition so the examples are valid and copy-paste runnable.
docs/cloud/integrations/log-streaming/splunk.mdx-53-54 (1)

53-54: ⚠️ Potential issue | 🟠 Major

Add alt text to screenshots for accessibility.

Both images are missing alt, which reduces accessibility and documentation quality.

Suggested fix
     <img
       src="https://res.cloudinary.com/dvmtceykh/image/upload/v1768306580/image_30_rtpr1b.png"
+      alt="Splunk log streaming configuration modal in Elementary Cloud"
     />
...
     <img
       height ="400"
       width="400"
       src="https://res.cloudinary.com/dvmtceykh/image/upload/v1768313492/image_33_vdtuz1.png"
+      alt="Splunk integration logs view in Elementary Cloud"
     />

Also applies to: 129-133

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/integrations/log-streaming/splunk.mdx` around lines 53 - 54, The
screenshots are missing alt text; update the <img> tags that reference the
images (e.g., the tag with
src="https://res.cloudinary.com/dvmtceykh/image/upload/v1768306580/image_30_rtpr1b.png"
and the other image at lines ~129-133) to include meaningful alt attributes
describing the screenshot content (e.g., alt="Splunk log streaming configuration
screenshot" or similar concise descriptions) so both images are accessible and
informative for screen readers.
docs/cloud/cloud-vs-oss.mdx-24-37 (1)

24-37: ⚠️ Potential issue | 🟠 Major

Add an accessible title to the embedded iframe.

The video iframe is missing a title, which hurts screen-reader usability.

Suggested fix
     <iframe
+      title="Elementary OSS vs Cloud overview video"
       src="https://www.loom.com/embed/01c6e1ae1ec045f2a594aa05ac56600f"
       frameborder="0"
       webkitAllowFullScreen
       mozAllowFullScreen
       allowfullscreen
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/cloud-vs-oss.mdx` around lines 24 - 37, The embedded iframe is
missing an accessible title; update the iframe element (the <iframe> in the
diff) to include a descriptive title attribute (e.g., title="Loom: Cloud vs OSS
overview" or similar) so screen readers can identify the content; ensure the
title is meaningful and not empty, or alternatively add an appropriate
aria-label if a title cannot be used.
docs/cloud/features/alerts-and-incidents/alert-rules.mdx-9-9 (1)

9-9: ⚠️ Potential issue | 🟠 Major

Fix internal docs link path to avoid relative-route breakage.

Line 9 uses cloud/... (no leading slash), which may resolve to the wrong URL from nested pages.

🔗 Proposed fix
-... For all [supported tools](cloud/features/alerts-and-incidents/alerts-and-incidents-overview#supported-alert-integrations), ...
+... For all [supported tools](/cloud/features/alerts-and-incidents/alerts-and-incidents-overview#supported-alert-integrations), ...
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/features/alerts-and-incidents/alert-rules.mdx` at line 9, The
internal docs link in the sentence referencing supported tools uses a relative
path
"cloud/features/alerts-and-incidents/alerts-and-incidents-overview#supported-alert-integrations"
which can break from nested pages; update the link target in
docs/cloud/features/alerts-and-incidents/alert-rules.mdx (the [supported tools]
link) to use an absolute site path by adding a leading slash so it becomes
"/cloud/features/alerts-and-incidents/alerts-and-incidents-overview#supported-alert-integrations".
docs/oss/quickstart/quickstart-report.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟠 Major

Fix internal link to use absolute docs path.

Line 12 uses cloud/... without a leading slash, which can break routing.

🔗 Proposed fix
-**Elementary [data observability report](cloud/features/collaboration-and-communication/data-observability-dashboard) ...
+**Elementary [data observability report](/cloud/features/collaboration-and-communication/data-observability-dashboard) ...
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/oss/quickstart/quickstart-report.mdx` at line 12, The internal markdown
link target
"cloud/features/collaboration-and-communication/data-observability-dashboard"
used in the "data observability report" sentence is missing a leading slash and
can break routing; update that link to use an absolute docs path by prefixing it
with "/" (i.e. change "cloud/..." to "/cloud/...") so the link reliably resolves
across the site.
docs/cloud/features/data-governance/manage-metadata.mdx-64-64 (1)

64-64: ⚠️ Potential issue | 🟠 Major

Add alt text to images for accessibility.

Both images are missing alt attributes. Please add meaningful alt text so screen-reader users can understand the visuals.

Also applies to: 70-70

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/features/data-governance/manage-metadata.mdx` at line 64, The two
image elements using <img
src="https://res.cloudinary.com/do5hrgokq/image/upload/v1751562224/Upstream_Metadata_ubuvjb.gif"/>
(and the other image referenced on the same page) are missing alt attributes;
update both <img> tags in manage-metadata.mdx to include meaningful alt text
(e.g., alt="Upstream metadata flow animation" or an appropriate descriptive
phrase for each image) to improve accessibility for screen-reader users.
docs/cloud/features/data-tests/test-coverage-screen.mdx-13-13 (1)

13-13: ⚠️ Potential issue | 🟠 Major

Fix image alt text quality and completeness.

Line 13 alt text appears unrelated to the screenshot, and the second image has no alt text. Please provide accurate alt text for both images.

Also applies to: 66-67

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/features/data-tests/test-coverage-screen.mdx` at line 13, Update
the two image alt attributes to accurately describe their respective
screenshots: replace the unrelated alt="Slack alert format" with a concise,
descriptive phrase matching the first screenshot (e.g., "Slack alert showing
failed data test notification with channel, message, and details"), and add a
meaningful alt attribute to the second image (e.g., "Test coverage screen
displaying coverage percentage, file list, and uncovered lines") so both <img>
tags have clear, relevant alt text; edit the alt attributes directly in the
image elements in this document.
docs/data-tests/data-freshness-sla.mdx-39-41 (1)

39-41: ⚠️ Potential issue | 🟠 Major

Correct YAML list syntax in documentation examples (---).

The config snippet uses -- elementary.data_freshness_sla: which is invalid YAML list syntax. List items must start with a single dash -, not --. This issue is systematic across multiple data-tests documentation files; users copying these examples would encounter syntax errors.

Suggested fix
-    &nbsp;&nbsp;-- elementary.data_freshness_sla:
+    &nbsp;&nbsp;- elementary.data_freshness_sla:

Apply the same fix to: volume-threshold.mdx, execution-sla.mdx, and all anomaly detection test documentation files.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/data-freshness-sla.mdx` around lines 39 - 41, Replace the
invalid YAML list marker `--` with a single dash `-` in the documentation
examples so list items are valid YAML; specifically update occurrences like `--
elementary.data_freshness_sla:` to `- elementary.data_freshness_sla:` in
docs/data-tests/data-freshness-sla.mdx and apply the same change to the other
affected docs (volume-threshold.mdx, execution-sla.mdx and the anomaly detection
test files) to ensure all example YAML snippets use `-` as the list prefix.
docs/cloud/guides/start-using-elementary-checklist.md-11-14 (1)

11-14: ⚠️ Potential issue | 🟠 Major

Fix checklist syntax to use Markdown task list format for proper rendering in Mint.

All checklist items throughout this file use bare [ ] without list markers. Mint requires the standard Markdown task list format - [ ] for checkboxes to render correctly. Update all instances (lines 11-14, 20-23, 29-32, 37-40, 45-47, 52-53, 59-62, 69-71, 77-79) to include the dash prefix.

Suggested fix pattern
-[ ] In the [Catalog](/cloud/features/collaboration-and-communication/catalog), identify and mark three [critical assets](/cloud/features/data-governance/critical_assets)
+- [ ] In the [Catalog](/cloud/features/collaboration-and-communication/catalog), identify and mark three [critical assets](/cloud/features/data-governance/critical_assets)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/guides/start-using-elementary-checklist.md` around lines 11 - 14,
The checklist items use bare "[ ]" tokens which Mint won't render as task lists;
update every checklist line (e.g., the four items shown referencing Catalog,
descriptions/tags/owners, Governance AI agent, and column-level lineage) to the
Markdown task-list format by prefixing each with a dash so "[ ]" becomes "- [ ]"
(and similarly "[x]" -> "- [x]" if present); apply this change across all
indicated checklist regions in the document so every checkbox line in the file
uses the "- [ ]" prefix.
docs/cloud/features/anomaly-detection/monitors-configuration.mdx-39-47 (1)

39-47: ⚠️ Potential issue | 🟠 Major

Fix iframe accessibility attributes.

Both embedded iframes are missing a title (required for assistive tech), and alt on iframe is not the right accessibility mechanism.

Suggested edit
 <iframe
+title="Edit anomaly monitor settings"
 width="700"
 height="400"
 src="https://res.cloudinary.com/dvmtceykh/video/upload/v1740599803/edit_volume_anomalies_gz7vc4.mp4"
 frameborder="0"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
 allowfullscreen
-alt="Anomaly settings simulator"
 ></iframe>
...
 <iframe
+title="Delete anomaly test from UI"
 width="600"
 height="400"
 src="https://res.cloudinary.com/dvmtceykh/video/upload/v1740599911/delete_test_zrbk94.mp4"
 frameborder="0"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
 allowfullscreen
-alt="Disable test"
 ></iframe>

Also applies to: 77-85

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/features/anomaly-detection/monitors-configuration.mdx` around
lines 39 - 47, The embedded <iframe> elements in the anomaly-detection docs lack
the required accessible title and incorrectly use an alt attribute; update both
iframe instances (the <iframe> tags shown around the video embeds) by removing
the non-standard alt attribute and adding a descriptive title attribute (or
aria-label if a longer description is needed) that explains the embedded content
(e.g., "Anomaly settings simulator video"); ensure the title text is concise and
meaningful for assistive technology.
docs/cloud/what-is-elementary.mdx-34-36 (1)

34-36: ⚠️ Potential issue | 🟠 Major

Remove the empty heading marker.

Line 34 has a standalone ### with no title, which produces a malformed heading node.

Suggested edit
-### 
-
 Elementary CLI help teams adopt foundational data observability within dbt. It centralizes metadata and test results to a self-hosted report, and provides a starting point for alerts and monitoring. It’s a great way to introduce reliability into engineering workflows.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/what-is-elementary.mdx` around lines 34 - 36, Remove the stray
empty heading marker "###" at the start of the paragraph in
docs/cloud/what-is-elementary.mdx (the standalone heading on line 34) so the
content begins directly with the paragraph about the Elementary CLI; ensure no
other orphan heading markers remain in that section to prevent malformed heading
nodes.
docs/cloud/features/data-tests/data-tests-overview.mdx-38-45 (1)

38-45: ⚠️ Potential issue | 🟠 Major

Add an accessible title to the embedded video iframe.

The iframe on Line 38 has no title, which hurts screen-reader navigation.

Suggested edit
 <iframe
+title="Create new tests from the UI"
 width="700"
 height="400"
 src="https://res.cloudinary.com/dvmtceykh/video/upload/v1739805266/create_test_bxfssr.mp4"
 frameborder="0"
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
 allowfullscreen
 ></iframe>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cloud/features/data-tests/data-tests-overview.mdx` around lines 38 - 45,
The embedded iframe element lacks an accessible title attribute; update the
<iframe> in the data-tests-overview.mdx to include a descriptive title (e.g.,
"Demo video: Creating a data test" or similar) by adding a title="..." attribute
on the iframe tag so screen readers can identify the content.
docs/data-tests/anomaly-detection-tests/column-anomalies.mdx-111-114 (1)

111-114: ⚠️ Potential issue | 🟠 Major

Fix the users example YAML.

This block is invalid YAML: elementary.volume_anomalies is missing both the list dash and the trailing colon, so users copying it into schema.yml will get a parse error.

Suggested fix
     ## if no timestamp is configured, elementary will monitor without time filtering
     data_tests:
-        elementary.volume_anomalies
-          config:
-            tags: ['elementary']
+      - elementary.volume_anomalies:
+          config:
+            tags: ['elementary']
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/anomaly-detection-tests/column-anomalies.mdx` around lines
111 - 114, The example YAML under data_tests is invalid because
"elementary.volume_anomalies" is missing the list dash and trailing colon;
update the users example so the test entry is a proper YAML mapping (e.g., make
"elementary.volume_anomalies" a list item and add a colon) and keep the nested
config and tags keys (look for the data_tests block and the element
"elementary.volume_anomalies" and adjust it to be "-
elementary.volume_anomalies:" with the existing "config:" and "tags:" nested
beneath it).
docs/oss/quickstart/stay-updated.mdx-21-41 (1)

21-41: ⚠️ Potential issue | 🟠 Major

Mirror the safer response parsing from docs/kapa-widget.js.

This form only checks res.ok, but docs/kapa-widget.js already accounts for HubSpot returning 200 OK with an errors array in the response body. Without parsing the body, blocked or invalid submissions can still show a success state to the user.

Suggested fix
       const res = await fetch(
         `https://api.hsforms.com/submissions/v3/integration/submit/${HUBSPOT_PORTAL_ID}/${HUBSPOT_FORM_ID}`,
         {
           method: 'POST',
           headers: { 'Content-Type': 'application/json' },
           body: JSON.stringify({
             fields: [{ name: 'email', value: email }],
             context: {
               pageUri: typeof window !== 'undefined' ? window.location.href : '',
               pageName: 'Elementary Docs - Stay Updated',
             },
           }),
         }
       );
-      if (res.ok) {
+      const text = await res.text();
+      let body = null;
+      try {
+        body = text ? JSON.parse(text) : null;
+      } catch (e) {}
+
+      if (res.ok && !(body && Array.isArray(body.errors) && body.errors.length)) {
         setStatus('success');
         setEmail('');
       } else {
         setStatus('error');
       }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/oss/quickstart/stay-updated.mdx` around lines 21 - 41, The current
submission code only checks res.ok and may treat HubSpot responses with a 200
and an errors array as success; modify the submit logic that calls fetch (the
block that sets setStatus('success') / setStatus('error') and resets setEmail)
to await res.json() when res.ok and inspect the parsed body for an errors array
or other error indicators (mirror the pattern from docs/kapa-widget.js), and
only call setStatus('success') and clear setEmail when the parsed response has
no errors; otherwise call setStatus('error') and handle/log the returned error
details.
docs/kapa-widget.js-109-112 (1)

109-112: ⚠️ Potential issue | 🟠 Major

Sanitize the docs URL before sending to HubSpot.

window.location.href includes query strings and fragments, which can expose invite tokens, email parameters, and UTM tracking data to a third-party endpoint. Use window.location.origin + window.location.pathname instead.

This pattern appears in two places:

  • docs/kapa-widget.js (lines 114-117)
  • docs/snippets/kapa-support.jsx (lines 115-116)

Both need the same fix.

Suggested fix
         context: {
-          pageUri: window.location.href,
+          pageUri: window.location.origin + window.location.pathname,
           pageName: 'Elementary Docs - Ask Elementary AI',
         },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/kapa-widget.js` around lines 109 - 112, The pageUri property is using
window.location.href which leaks query strings and fragments; update the
assignment where context.pageUri is set (and the equivalent occurrence in the
kapa-support snippet) to construct a sanitized URL using window.location.origin
+ window.location.pathname instead of window.location.href so queries/fragments
(UTM, tokens) are not sent to HubSpot.

disable_dbt_artifacts_autoupload: true
```

2. Make sure to run `dbt run --select edr.dbt_artifacts` upon merging PRs.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify all documented dbt_artifacts selector variants and unify them.
rg -n "dbt run --select .*dbt_artifacts|disable_dbt_artifacts_autoupload" docs/data-tests/dbt

Repository: elementary-data/elementary

Length of output: 602


🏁 Script executed:

sed -n '100,110p' docs/data-tests/dbt/on-run-end_hooks.mdx

Repository: elementary-data/elementary

Length of output: 367


🏁 Script executed:

rg -n "edr.dbt_artifacts|elementary.edr.dbt_artifacts" --type mdx --type yml --type yaml docs/

Repository: elementary-data/elementary

Length of output: 97


🏁 Script executed:

find . -name "*.yml" -o -name "*.yaml" | xargs rg -l "dbt_artifacts" 2>/dev/null | head -10

Repository: elementary-data/elementary

Length of output: 109


🏁 Script executed:

rg -n "dbt_artifacts" tests/e2e_dbt_project/dbt_project.yml -A 3 -B 3

Repository: elementary-data/elementary

Length of output: 332


🏁 Script executed:

rg -n "elementary" docs/data-tests/dbt/on-run-end_hooks.mdx | head -20

Repository: elementary-data/elementary

Length of output: 251


🏁 Script executed:

fd -t f "dbt_project.yml" -exec rg -l "selectors" {} \;

Repository: elementary-data/elementary

Length of output: 312


🏁 Script executed:

rg -n "edr.*dbt_artifacts" --type-list | head -5

Repository: elementary-data/elementary

Length of output: 459


🏁 Script executed:

find . -path ./node_modules -prune -o -name "*.yml" -print | xargs grep -l "edr:" 2>/dev/null | head -10

Repository: elementary-data/elementary

Length of output: 52


🏁 Script executed:

find . -name "selectors.yml" -o -name "selectors.yaml"

Repository: elementary-data/elementary

Length of output: 117


🏁 Script executed:

rg -n "package:" dbt_project.yml | head -5

Repository: elementary-data/elementary

Length of output: 125


🏁 Script executed:

rg -n "models:" dbt_project.yml | head -20

Repository: elementary-data/elementary

Length of output: 125


🏁 Script executed:

fd "dbt_project.yml" -x cat {} \; | head -100

Repository: elementary-data/elementary

Length of output: 2862


🏁 Script executed:

cat ./tests/tests_with_db/dbt_project/selectors.yml

Repository: elementary-data/elementary

Length of output: 150


🏁 Script executed:

rg -n "dbt_artifacts" ./tests/tests_with_db/dbt_project/selectors.yml -A 2 -B 2

Repository: elementary-data/elementary

Length of output: 52


🏁 Script executed:

rg -n "\.edr\.|elementary\.edr\." docs/ --type txt | head -20

Repository: elementary-data/elementary

Length of output: 52


🏁 Script executed:

find . -name "manifest.json" -o -name "catalog.json" 2>/dev/null

Repository: elementary-data/elementary

Length of output: 52


🏁 Script executed:

rg -n "package:" . -A 5 --max-count 5 | head -50

Repository: elementary-data/elementary

Length of output: 4013


🏁 Script executed:

rg -n "edr" elementary/ --type yml --type yaml | head -20

Repository: elementary-data/elementary

Length of output: 97


🏁 Script executed:

cat elementary/monitor/dbt_project/dbt_project.yml | head -100

Repository: elementary-data/elementary

Length of output: 1605


🏁 Script executed:

find elementary -name "dbt_project.yml" -exec cat {} \; | grep -A 10 "models:"

Repository: elementary-data/elementary

Length of output: 397


🏁 Script executed:

find elementary -type f \( -name "*.sql" -o -name "*.yaml" \) | xargs grep -l "dbt_artifacts" 2>/dev/null | head -10

Repository: elementary-data/elementary

Length of output: 427


🏁 Script executed:

rg -n "dbt_artifacts" elementary/ | head -20

Repository: elementary-data/elementary

Length of output: 1795


🏁 Script executed:

rg -n "name: dbt_artifacts|alias: dbt_artifacts" .

Repository: elementary-data/elementary

Length of output: 52


🏁 Script executed:

find . -path ./node_modules -prune -o -type f -name "*.sql" -print | xargs grep -l "^-- config:" 2>/dev/null | xargs grep -l "dbt_artifacts" | head -10

Repository: elementary-data/elementary

Length of output: 52


🏁 Script executed:

find elementary -type f -name "*dbt_artifacts*"

Repository: elementary-data/elementary

Length of output: 52


🏁 Script executed:

rg -n "create.*dbt_artifacts|select.*dbt_artifacts" elementary/ --type sql | head -20

Repository: elementary-data/elementary

Length of output: 594


🏁 Script executed:

find . -type d -name "elementary" -o -name "edr" | head -10

Repository: elementary-data/elementary

Length of output: 82


🏁 Script executed:

find elementary -type d -name "models" -o -type d -name "edr"

Repository: elementary-data/elementary

Length of output: 172


🏁 Script executed:

ls -la elementary/models/

Repository: elementary-data/elementary

Length of output: 135


🏁 Script executed:

find elementary/models -type f -name "*.sql" | xargs grep -l "dbt_artifacts" 2>/dev/null | head -10

Repository: elementary-data/elementary

Length of output: 122


🏁 Script executed:

find elementary/monitor/dbt_project/models -type f -name "*.sql" | head -30

Repository: elementary-data/elementary

Length of output: 670


🏁 Script executed:

find elementary/monitor/dbt_project/models -type f -name "*dbt_artifact*"

Repository: elementary-data/elementary

Length of output: 52


🏁 Script executed:

ls -la elementary/monitor/dbt_project/models/

Repository: elementary-data/elementary

Length of output: 567


🏁 Script executed:

rg -n "edr\.dbt_artifacts|elementary\.edr\.dbt_artifacts" docs/

Repository: elementary-data/elementary

Length of output: 630


🏁 Script executed:

rg -n "dbt run --select" docs/ | head -30

Repository: elementary-data/elementary

Length of output: 3336


🏁 Script executed:

cat docs/data-tests/dbt/on-run-end_hooks.mdx | head -120

Repository: elementary-data/elementary

Length of output: 4823


🏁 Script executed:

cat docs/snippets/guides/reduce-on-run-end-time.mdx | grep -A 5 -B 5 "elementary.edr.dbt_artifacts"

Repository: elementary-data/elementary

Length of output: 526


🏁 Script executed:

rg -n "edr\.dbt_artifacts" docs/ -c | sort | uniq -c

Repository: elementary-data/elementary

Length of output: 218


Unify dbt_artifacts selector syntax to use full package namespace.

An inconsistency exists: Line 73 uses dbt run --select edr.dbt_artifacts while lines 103–105 use dbt run --select elementary.edr.dbt_artifacts. The guide documentation (reduce-on-run-end-time.mdx) consistently uses the full form elementary.edr.dbt_artifacts, which appears to be the canonical selector. Line 73 should be updated to match.

Also fix the grammar error at line 104: "your run" should be "you run".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/data-tests/dbt/on-run-end_hooks.mdx` at line 73, Update the selector on
the mentioned line to use the canonical full package namespace by replacing "dbt
run --select edr.dbt_artifacts" with "dbt run --select
elementary.edr.dbt_artifacts" so it matches the rest of the doc, and correct the
grammar at the later occurrence by changing "your run" to "you run" to fix the
sentence in the same section; search for the strings "edr.dbt_artifacts" and
"elementary.edr.dbt_artifacts" to locate the occurrences and update them
accordingly.

Comment on lines +29 to +32
```python
import elementary_python_sdk
print(elementary_python_sdk.__version__)
```
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if elementary-python-sdk exists on PyPI
curl -s "https://pypi.org/pypi/elementary-python-sdk/json" | jq '.info.name, .info.version' 2>/dev/null || echo "Package not found on PyPI"

Repository: elementary-data/elementary

Length of output: 79


🏁 Script executed:

# Get the full PyPI API response to see the actual structure
curl -s "https://pypi.org/pypi/elementary-python-sdk/json" | head -100

Repository: elementary-data/elementary

Length of output: 94


🏁 Script executed:

# Check repository root for package definition files
git ls-files | grep -E "(setup\.py|pyproject\.toml|__init__\.py|setup\.cfg)" | head -20

Repository: elementary-data/elementary

Length of output: 802


🏁 Script executed:

# Search for elementary_python_sdk package definition in repository
fd -t f "setup.py|pyproject.toml"

Repository: elementary-data/elementary

Length of output: 84


🏁 Script executed:

# Read pyproject.toml to find actual package name and version
cat pyproject.toml | head -50

Repository: elementary-data/elementary

Length of output: 1725


🏁 Script executed:

# Check if __version__ is defined in elementary/__init__.py
cat -n elementary/__init__.py

Repository: elementary-data/elementary

Length of output: 52


🏁 Script executed:

# Check if elementary-data exists on PyPI and get its version
curl -s "https://pypi.org/pypi/elementary-data/json" | jq '.info.name, .info.version'

Repository: elementary-data/elementary

Length of output: 96


🏁 Script executed:

# Read elementary/__init__.py with explicit output
cat elementary/__init__.py

Repository: elementary-data/elementary

Length of output: 52


🏁 Script executed:

# Check if __version__ exists anywhere in the elementary package
rg "__version__" elementary/

Repository: elementary-data/elementary

Length of output: 161


🏁 Script executed:

# Check if there's a version module or __version__ definition in elementary package
find elementary -type f -name "*.py" | xargs grep -l "^__version__"

Repository: elementary-data/elementary

Length of output: 54


🏁 Script executed:

# Check the directory structure to understand the actual import
ls -la elementary/ | head -20

Repository: elementary-data/elementary

Length of output: 878


Fix the package import and remove the non-existent version check.

The documentation references a non-existent package elementary_python_sdk. The actual package on PyPI is elementary-data, imported as elementary. Additionally, the elementary package does not export a __version__ attribute.

Update the code snippet to either import elementary directly or use an alternative method to display version information (e.g., using importlib.metadata).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/python-sdk/installation.mdx` around lines 29 - 32, Replace the incorrect
import of elementray_python_sdk and the nonexistent __version__ access: import
the real PyPI package as "elementary" (i.e., use import elementary) and, if you
need to show the package version, use importlib.metadata (e.g.,
importlib.metadata.version("elementary")) instead of accessing
elementary.__version__; update the code snippet accordingly to import elementary
and retrieve the version via importlib.metadata.version("elementary") or simply
show importing elementary only.

Co-Authored-By: Yosef Arbiv <yosef.arbiv@gmail.com>
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

Thanks for the thorough review. Important context: this PR is a sync of the existing docs branch content to master — it copies the docs/ directory as-is from the docs branch. The issues flagged here are all pre-existing in the docs branch and not regressions introduced by this PR.

I've fixed the --profiles-dir bug in troubleshooting.mdx since it's a concrete usability issue (em dash → regular dash, file path → directory path, HOME_DIR~). The remaining findings (alt text, relative links, YAML examples, iframe attributes, etc.) are pre-existing and should be addressed in separate follow-up PRs on the docs branch.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/oss/general/troubleshooting.mdx`:
- Line 54: Fix the typo in the troubleshooting heading sentence: change the text
"reach our to the elementary team" to "reach out to the elementary team" in the
string "**5. Still not working? Collect the following logs and reach our to the
elementary team at [`#community-support`](https://elementary-data.com/community)
on Slack**" so the sentence reads correctly.
- Around line 179-191: Fix the inconsistent indentation and fencing for the two
code blocks showing dbt materializations: replace the mismatched fences and
indentation with properly aligned fenced code blocks (use ```sql) around each
materialization block for Snowflake and default, ensuring the opening tag,
content lines, and the `{% endmaterialization %}` lines are vertically aligned;
update the blocks that call elementary.materialization_test_snowflake() and
elementary.materialization_test_default() so they appear inside their respective
```sql fences with consistent two-space indentation for the template lines.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 59978624-85b8-480c-a588-f41b569daed0

📥 Commits

Reviewing files that changed from the base of the PR and between 251aa10 and d7ef7c0.

📒 Files selected for processing (1)
  • docs/oss/general/troubleshooting.mdx

Co-Authored-By: Yosef Arbiv <yosef.arbiv@gmail.com>
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.

1 participant