Skip to content

docs(warehouse-native): add mode architecture diagrams - #282

Draft
joalves wants to merge 8 commits into
masterfrom
docs/warehouse-native-mode-diagrams
Draft

docs(warehouse-native): add mode architecture diagrams#282
joalves wants to merge 8 commits into
masterfrom
docs/warehouse-native-mode-diagrams

Conversation

@joalves

@joalves joalves commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add Hybrid and Fully Warehouse Native architecture diagrams to modes.mdx as hand-authored inline SVG — real database/cloud/engine iconography and gradient-filled region boxes in ABsmartly brand colors, themed via currentColor so both light and dark mode work without duplicating markup. (Originally implemented as Mermaid diagrams, then upgraded to SVG after feedback that Mermaid 9.4.3's flat generic flowchart shapes read as "sloppy" — no visual/library upgrade was available without a Docusaurus major-version bump, which is being tracked separately.)
  • Correct the Hybrid mode description: warehouse-side exposure filtering and attribute enrichment are only available for goals sourced from the external warehouse — goals that stay managed by ABsmartly's default data source don't get this, since their exposures never leave it. The comparison table and diagrams reflect this per-goal distinction instead of implying Hybrid can't filter/enrich at all.
  • Remove references to ClickHouse as ABsmartly's internal/managed data source across modes.mdx, overview.mdx, and get-started.mdx — this is an implementation detail we don't want to advertise. ClickHouse mentions as a supported external customer warehouse are unchanged. Also removed the datasources-list.png screenshot, which visibly labeled the internal default as "ClickHouse Default".
  • Made the Fully-mode diagram's privacy boundary explicit (dashed "scheduled query in / aggregate results only out" instead of solid arrows implying raw data entering ABsmartly Cloud), fixed the Hybrid diagram to route goals around the filter/enrich step (only the exposure stream is filtered/enriched, never goals), and made both diagrams structurally symmetric (same "Query interface" hop, same "ABsmartly Cloud" endpoint) per review feedback.

Test plan

  • Dev server compiles the page with no MDX errors traceable to this change (confirmed via a real bug catch and fix: CommonMark's indented-code-block rule was silently swallowing indented <g> groups inside the SVG into literal code blocks — fixed by flattening all SVG source to zero indentation with no blank lines between sibling elements).
  • Verified via browser DOM inspection that all expected SVG elements (icons, text, gradients) are present and rendering — not just that the page returns 200.
  • Screenshotted both diagrams in light and dark theme to confirm styling, icon legibility, and currentColor theming work correctly.
  • Grepped published docs to confirm no remaining "managed ClickHouse" / "ClickHouse Default" disclosures.
  • All prior CodeRabbit review threads resolved.
  • Build check pending — GitHub Actions was affected by a platform-wide incident; will re-check status.

Note: the local Docusaurus build continues to report the repository's known pre-existing cytoscape Mermaid module-export error (from an unrelated diagram on the GCP BigQuery integration page), unrelated to this change.

Visualize data boundaries and flows in Hybrid and Fully Warehouse Native modes.
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The Warehouse Native documentation replaces managed ClickHouse references with generic default-data-source terminology. It documents ClickHouse as an external source. It expands Hybrid mode to cover per-goal source selection, exposure imports, filtering, and enrichment. It expands Fully mode to cover warehouse processing for every goal. It adds Mermaid diagrams and updates comparison and mode-selection guidance.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Poem

A rabbit hops through source and goal,
Hybrid and Fully make paths whole.
Warehouse filters, enriches, and sends,
Clear diagrams guide the trends.
The refreshed docs reach their role.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: adding architecture diagrams for Warehouse Native modes.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/warehouse-native-mode-diagrams

Comment @coderabbitai help to get the list of available commands.

@netlify

netlify Bot commented Aug 6, 2026

Copy link
Copy Markdown

Deploy Preview for absmartly-docs ready!

Name Link
🔨 Latest commit 7c2d63a
🔍 Latest deploy log https://app.netlify.com/projects/absmartly-docs/deploys/6a7720ee27675000098da61d
😎 Deploy Preview https://deploy-preview-282--absmartly-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/web-console-docs/warehouse-native/modes.mdx`:
- Line 85: Remove the `EXP --> GOALS` edge from the diagram so `GOALS` remains
an independent warehouse source. If the metric computation combines `EXP` and
`GOALS`, represent that relationship with a labelled warehouse-side query or
join node instead of a direct production flow.
- Around line 71-72: Update the Fully-mode diagram around the ENGINE node and
the EXP/GOALS connections to make the privacy boundary explicit: show scheduled
queries running in customer infrastructure and only aggregate results being sent
to ABsmartly Cloud, or revise the accompanying “no user-level data stored” text
to accurately reflect the actual flow. Apply the same correction to the
referenced connections on lines 86–87.
🪄 Autofix

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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5dbfd387-815a-4bea-9b22-2ecccede0f63

📥 Commits

Reviewing files that changed from the base of the PR and between 5f77e19 and 420e9a0.

📒 Files selected for processing (1)
  • docs/web-console-docs/warehouse-native/modes.mdx

Comment thread docs/web-console-docs/warehouse-native/modes.mdx Outdated
Comment thread docs/web-console-docs/warehouse-native/modes.mdx Outdated
… drop ClickHouse leaks

Restyle the Mermaid diagrams with brand colors instead of default styling, correct
the Hybrid mode description so filtering/enrichment is shown as available only for
goals sourced from the external warehouse (not for goals kept in ABsmartly's default
data source), and remove internal-implementation-detail mentions of ClickHouse as
ABsmartly's managed data source across the Warehouse Native docs.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/web-console-docs/warehouse-native/get-started.mdx`:
- Line 186: Update the completion guidance in the get-started flow to
distinguish the saved warehouse-default data source in Fully Warehouse Native
mode from the built-in ABsmartly-managed default. State that saving the
warehouse default completes the Fully mode setup and enables scheduled warehouse
queries, while the managed default requires no configuration; retain the
instruction to continue to Step 4 for external Hybrid mode data sources.
🪄 Autofix

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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fd738e74-2d7d-490f-a0c2-64558d916a7c

📥 Commits

Reviewing files that changed from the base of the PR and between 420e9a0 and e9266d5.

⛔ Files ignored due to path filters (1)
  • static/img/warehouse-native/datasources-list.png is excluded by !**/*.png
📒 Files selected for processing (3)
  • docs/web-console-docs/warehouse-native/get-started.mdx
  • docs/web-console-docs/warehouse-native/modes.mdx
  • docs/web-console-docs/warehouse-native/overview.mdx

Comment thread docs/web-console-docs/warehouse-native/get-started.mdx Outdated
joalves added 2 commits August 6, 2026 20:15
…diagram

Address CodeRabbit finding: solid arrows from warehouse tables into the
ABsmartly Cloud box could read as raw user-level data entering ABsmartly's
infrastructure, contradicting the "no user-level data stored" claim. Route
through a warehouse-side query interface with dashed edges labelled
"scheduled query" in and "aggregate results only" out.
…t completion paths

Address CodeRabbit finding: the "save the data source" guidance conflated the
built-in ABsmartly-managed default with a customer warehouse set as the Fully
mode default. Split into two explicit cases so the scheduled-query language
only applies to an actual customer warehouse.
@joalves

joalves commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator Author

Reopening to retrigger the Build check — GitHub Actions isn't dispatching for recent pushes despite Netlify/CodeRabbit reacting normally.

@joalves joalves closed this Aug 6, 2026
@joalves joalves reopened this Aug 6, 2026
joalves added 4 commits August 6, 2026 20:33
…ering

Warehouse-side filtering and enrichment operate on the exposure stream only —
goals are a separate table joined in during analysis, not filtered/enriched
themselves. The Hybrid diagram incorrectly routed WGOALS through the "Filter
and enrich" node; the Fully diagram already had this right (GOALS bypasses
filtering). Route WGOALS directly to results in both, consistent with the
page's own text.
Bring the Hybrid diagram in line with Fully's structure, per feedback:
- Add the "Query interface" node so the warehouse-side query hop is shown
  the same way in both diagrams, not just in Fully.
- Wrap the assignment/stats/governance node in its own "ABsmartly Cloud"
  box, ending Hybrid at the same real endpoint as Fully instead of a
  generic "Experiment results" node that didn't exist in the architecture.
- Label the default-source cylinder "Exposures (no filtering) and managed
  goals" instead of just "Exposures and managed goals", to make explicit
  that this data never gets the warehouse-side filter/enrich treatment.
Mermaid 9.4.3 (the version available on this Docusaurus 2.4.3 install) only
has generic flowchart shapes -- rectangles, rounded rectangles, cylinders --
with flat default styling, so every concept in the diagrams rendered as the
same plain white box regardless of whether it represented a database, a
cloud boundary, or a processing step. Direct feedback was that this read as
sloppy.

Replace both diagrams with hand-authored inline SVG using real iconography
(database cylinders with lids, a cloud shape, a gear/engine icon, a funnel
for filter/enrich, a terminal icon for the query interface, a shield for the
privacy note) and gradient-filled region boxes in the ABsmartly brand colors,
themed via currentColor so both light and dark mode work without duplicating
markup. Same information content and layout as the prior mermaid version --
this is a visual-quality change, not a content change.

Note: SVG source is written with zero indentation and no blank lines between
sibling elements. MDX v1 parses text indented 4+ spaces after a blank line as
a CommonMark indented code block even inside an HTML/SVG block -- with normal
indentation, several <g> groups were silently swallowed into literal
CodeBlockContainer elements instead of rendering as SVG, dropping visible
content from the diagrams. Flattening the source avoids the trap.
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