Skip to content

docs(warehouse-native): convert mode diagrams to architecture-beta (FT-2119) - #285

Open
joalves wants to merge 7 commits into
docs/docusaurus-v3-upgradefrom
feat/FT-2119/architecture-beta-diagrams
Open

docs(warehouse-native): convert mode diagrams to architecture-beta (FT-2119)#285
joalves wants to merge 7 commits into
docs/docusaurus-v3-upgradefrom
feat/FT-2119/architecture-beta-diagrams

Conversation

@joalves

@joalves joalves commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Convert the Hybrid and Fully Warehouse Native mode diagrams in docs/web-console-docs/warehouse-native/modes.mdx from mermaid flowchart TB to native architecture-beta syntax, now that the Docusaurus 3 upgrade (chore(deps): upgrade Docusaurus 2.4.3 to 3.10.x (FT-2118) #284) unlocked mermaid 11.16.1's architecture-beta support
  • Register a generic (non-vendor-specific) @iconify-json/mdi icon pack via Docusaurus clientModules (no swizzling) so the diagrams get richer iconography than architecture-beta's built-in 5-icon set
  • Both diagrams were prototyped and validated in an isolated scratch page before touching the live page, then swapped in and the scratch page deleted

Stacking

This branch is stacked on docs/docusaurus-v3-upgrade (#284), which has not merged yet — this PR targets that branch, not development. Retarget to development once #284 merges.

Content-fidelity notes

Three specific bugs were caught by human reviewers in earlier iterations of these exact diagrams; this PR was built and reviewed with all three as hard constraints, each independently re-verified against the final live file:

  • Goals bypass filtering — WGOALS/GOALS connects directly to QUERY, never through FILTER
  • Privacy boundary stays explicit and asymmetric — ENGINEQUERY is two separate directional edges (query in, aggregate results out only), never one bidirectional edge (previously flagged on docs(warehouse-native): add mode architecture diagrams #282)
  • Symmetric endpoints — both diagrams end at a real "ABsmartly Cloud" engine node

architecture-beta has no edge-label or dashed-edge syntax, so the "exposures import" / "scheduled query" / "aggregate results only" annotations from the original flowchart were moved into an italic prose caption below each diagram instead.

Test plan

  • yarn build passes cleanly ([SUCCESS] Generated static files in "build"., zero new errors)
  • Both diagrams' edge topology independently re-derived from the final modes.mdx and matched against the original flowchart's edge list (9/9 Hybrid, 7/7 Fully)
  • No cloud-vendor-branded icons used; no swizzling of @docusaurus/theme-mermaid
  • Scratch validation page fully deleted, no dangling references
  • Visual verification in a real browser (light + dark mode, icon rendering, layout) — not possible in this environment (no browser access); recommend a manual check before merge

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (3)
  • master
  • ^release/\d{2}-\d{2}$
  • feature/team-ownership-model

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c5ad33f9-3c43-4a60-95c6-0d53d5b03219

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@netlify

netlify Bot commented Aug 8, 2026

Copy link
Copy Markdown

Deploy Preview for absmartly-docs ready!

Name Link
🔨 Latest commit cc08c86
🔍 Latest deploy log https://app.netlify.com/projects/absmartly-docs/deploys/6a77a57760f64d0009f252ce
😎 Deploy Preview https://deploy-preview-285--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.

joalves added 3 commits August 8, 2026 21:04
… architecture-beta diagrams

The mermaid init directive forced "theme": "base" with a hardcoded dark
navy primaryTextColor, which overrode Docusaurus's automatic per-colorMode
mermaid theme and made node labels nearly unreadable in dark mode (the
old flowchart diagrams got away with this because their nodes had solid
fill backgrounds; architecture-beta nodes render icon-only with no
background box). Also two service nodes rendered directly on top of each
other in both diagrams due to fcose's default layout, and adjacent group
headers visually collided.

Removed the theme override so Docusaurus's dark/default mermaid theme
takes over color, added architecture-beta layout tuning (padding,
nodeSeparation, idealEdgeLengthMultiplier, numIter, seed) for spacing,
and adjusted edge port routing on 4 edges to resolve node/group overlap.
Topology (which nodes connect to which) is unchanged.
…layout

The previous fix reduced overlap by hand-tuning individual edge ports,
but still left a scattered diagonal layout with a long crossing edge
(fcose's force-directed layout has no notion of "tidy grid" on its own).

architecture-beta has an explicit `align row {ids}` / `align column {ids}`
directive built for exactly this: declaring that a set of nodes share a
row or column, which architectureDb turns into hard alignment constraints
for the layout solver instead of leaving positioning to force simulation.
Restructured both diagrams as a 2-row grid (top row: SDK/sources, bottom
row: attributes/filter/query) with explicit align directives, which
eliminates the diagonal sprawl and produces mostly-straight edges.

Also bumped iconSize (80->100) so wrapped multi-line labels have more
width per line, fixing "Assignment ... data stored" clipping past its
group's bottom border, and trimmed the label itself slightly (the
"logic"/"metric" wording it dropped is already covered in the adjacent
prose paragraph, so no content is lost). Topology (which nodes connect
to which, and the direction of each edge) is unchanged.
…gonal sprawl

engine wasn't part of any align row/column constraint, so fcose placed
it wherever the force simulation happened to settle -- in practice, far
from query in an isolated corner, with the query<->engine edges
stretching diagonally across the full canvas.

Adding engine to the same align row as query (they're directly
connected) keeps it adjacent in the layout, collapsing both edges to
short, near-horizontal lines instead of long diagonals. Topology is
unchanged -- same two distinct directional edges between query and
engine, same edge directions.
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