Skip to content

docs(kanvas): relationship evaluation engine selection & diagnostics#1050

Open
leecalcote wants to merge 1 commit into
masterfrom
docs-kanvas-relationship-evaluation-engine
Open

docs(kanvas): relationship evaluation engine selection & diagnostics#1050
leecalcote wants to merge 1 commit into
masterfrom
docs-kanvas-relationship-evaluation-engine

Conversation

@leecalcote
Copy link
Copy Markdown
Member

Summary

Adds a new Kanvas Designer documentation page: Relationship Evaluation Engine (content/en/kanvas/designer/relationship-evaluation/index.md).

The page documents the just-shipped relationship-evaluation engine selection feature for end users:

  • How relationships are evaluated — the two interchangeable engines (Meshery server vs. client-side WASM running in a browser worker), and that they produce identical results (choice affects performance, not correctness).
  • Changing the preference — the Relationship Evaluation Engine setting (Designer ▸ Settings) and what each value does: Automatic (recommended, one-time health check), Meshery server, Client-side (WASM); selected once per session.
  • Editing is never blocked — evaluation runs alongside work and never blocks editing/saving.
  • Reading the relationship indicator — the evaluating / evaluated / error states, last-successful-results persistence, runtime self-heal/fallback from WASM to server, and what the one-time non-blocking notifications mean.
  • Diagnosing failing or unexpected results — enabling the debugger preference, what the Relationship Evaluation Diagnostics view shows (active engine + why, contract/version, last error, fallback count, latency), forcing the server engine, re-triggering evaluation, and when/how to file a bug (with the exact diagnostics info to include).

Conventions followed

  • Placed as a Designer leaf-bundle subpage (<dir>/index.md) matching siblings like understanding-edges, interpreting-component-badges.
  • Frontmatter (title, description, weight, categories, tags, aliases) matches sibling pages; weight: 11 orders it after existing Designer pages.
  • Nav is auto-generated by Docsy from the section tree + weight (no manual nav file in this repo) — verified the page appears in the built Designer section navigation.
  • Cross-links to existing /kanvas/concepts/relationships/ and /kanvas/getting-started/creating-relationships/ pages; no fabricated screenshots (none required by the section's convention here).

Validation

  • prettier --check passes (repo .prettierrc, proseWrap: always).
  • hugo full build succeeds with no errors; page renders, shortcodes expand, internal links and in-page anchors resolve.

Related

Documents the feature shipped in layer5labs/meshery-extensions#4247.

Add a Designer user-doc page covering the relationship-evaluation engine
choice (Automatic / Meshery server / Client-side WASM), the relationship
indicator states (evaluating / evaluated / error), the one-time
non-blocking notifications, and a task-oriented section for diagnosing
failing or unexpected relationship results using the Relationship
Evaluation Diagnostics view.

Documents the layer5labs/meshery-extensions#4247 feature.

Signed-off-by: Yi Nuo <218099172+yi-nuo426@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new documentation page for the Kanvas Relationship Evaluation Engine, detailing the differences between the Meshery server and client-side WASM engines, how to configure preferences, and how to interpret relationship indicator states. The review feedback suggests enhancing the troubleshooting section by specifying the exact UI location of the Diagnostics view and using more precise terminology for the Relationships section to improve consistency and discoverability.


1. In Kanvas Designer, open **Settings**.
2. Enable the **debugger** preference.
3. Open the **Relationship Evaluation Diagnostics** view.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

It would be helpful to specify the exact location where the Relationship Evaluation Diagnostics view appears once the debugger preference is enabled (e.g., if it appears as a new tab in the bottom panel or a specific menu item). This improves the discoverability of the troubleshooting tool.


Evaluation re-runs automatically whenever you change the design — for example,
by adding, removing, or reconfiguring a component, or by toggling a relationship
kind on or off from the relationships section of the design. Making any such
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Consider using the specific UI name for the relationships section (e.g., Relationships section or Relationships Layers Panel) to be consistent with other documentation and help users locate the toggle more easily.

Suggested change
kind on or off from the relationships section of the design. Making any such
kind on or off from the **Relationships** section of the Designer. Making any such

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds end-user documentation for Kanvas Designer’s new “Relationship Evaluation Engine” selection feature, explaining how evaluation works, how to change the engine preference, how to interpret indicator states, and how to diagnose problems using the diagnostics view.

Changes:

  • Introduces a new Designer doc page describing the two evaluation engines (Meshery server vs client-side WASM) and their behavior.
  • Documents the engine selection preference (Automatic / Meshery server / Client-side WASM) and session-scoped selection.
  • Adds troubleshooting/diagnostics guidance, including fallback behavior and what to include when filing bugs.

Comment on lines +152 to +153
{{< alert type="info" title="Related reading" >}} For what relationships are and
the kinds Kanvas supports, see
Comment on lines +24 to +29
- **Meshery server** — the policy engine running inside your Meshery server. It
is always available and is the default.
- **Client-side (WASM)** — the same policy engine, compiled to WebAssembly and
run inside a background worker in your browser. Because it runs locally, there
are no round-trips to the server, so evaluation is typically faster. It is
available only when your Meshery server provides the WebAssembly artifact.
@github-actions
Copy link
Copy Markdown

🚀 Preview deployment: https://layer5io.github.io/docs/pr-preview/pr-1050/

Note: Preview may take a moment (GitHub Pages deployment in progress). Please wait and refresh. Track deployment here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants