docs(warehouse-native): add mode architecture diagrams - #282
Conversation
Visualize data boundaries and flows in Hybrid and Fully Warehouse Native modes.
|
Note Reviews pausedIt 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 Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughThe 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
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
✅ Deploy Preview for absmartly-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
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
📒 Files selected for processing (1)
docs/web-console-docs/warehouse-native/modes.mdx
… 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.
There was a problem hiding this comment.
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
⛔ Files ignored due to path filters (1)
static/img/warehouse-native/datasources-list.pngis excluded by!**/*.png
📒 Files selected for processing (3)
docs/web-console-docs/warehouse-native/get-started.mdxdocs/web-console-docs/warehouse-native/modes.mdxdocs/web-console-docs/warehouse-native/overview.mdx
…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.
|
Reopening to retrigger the Build check — GitHub Actions isn't dispatching for recent pushes despite Netlify/CodeRabbit reacting normally. |
…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.
Summary
modes.mdxas hand-authored inline SVG — real database/cloud/engine iconography and gradient-filled region boxes in ABsmartly brand colors, themed viacurrentColorso 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.)modes.mdx,overview.mdx, andget-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 thedatasources-list.pngscreenshot, which visibly labeled the internal default as "ClickHouse Default".Test plan
<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).currentColortheming work correctly.