You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Surface graph visuals in customer agent workflows - #154
Give users a graph view before model training.
Generated notebooks include an interactive graph cell, and SDK scripts save an SVG alongside run outputs.
Agents can use Markdown schemas when comparing graph choices during model iteration.
What Happens and Why
The existing skills omit the native graph viewer and incorrectly list it as unavailable.
The Fix
One shared capability covers notebook visuals, script exports, and requested diagrams without adding a required review or pause.
The router, SDK references, and host packages expose it through existing workflows.
See the change map.
Blast Radius
Changes affect customer skill guidance and packaging.
Unavailable previews report their error and let modeling continue with the original graph.
Verification
All 184 skill tests, 14 renderer tests, three host package builds, and documentation, public-reference, and secret checks pass.
Executed notebook, SVG, and Markdown examples cover display dispatch, file output, and continuation after preview failures; hosted notebook rendering was not exercised.
No actionable comments were generated in the recent review.
Walkthrough
The change adds a graph visualization skill for notebook previews, SDK exports, and schema inspection. The data science skill routes graph-related requests to it and adds previews and SVG exports to training workflows. Graph API references now include .visualize(). Capability packaging includes the new skill, and a test checks that capability skills are packaged. Host runtime documentation describes graph display and export behavior across notebook environments.
Merge Risk: Low · up to 65a07
This change adds graph preview and export guidance for notebooks and SDK scripts. The remaining issue is narrow: a generated script could overwrite an existing graph.svg in its working directory. It is bounded and does not block merging, but the example should point at a unique file in the confirmed run output directory.
Pre-merge checks: 2 · 1
Failed checks: 1 inconclusive
Check name
Status
Explanation
Resolution
Change Map Design Review
The required PR conversation comment starting with <!-- kumo-pr-change-map --> is not available. The supplied context summarizes a change map but does not provide its proposed design table or prose,…
Provide the complete maintained change-map conversation comment, including its observed failure, requested release requirement, existing-behavior evidence, proposed changes, verification plan, and stopping condition. Then reassess the desig…
Passed checks: 2 passed
Check name
Status
Explanation
Pr Size
The pull request changes 10 files. The count does not exceed the failure threshold of 40.
Public Resource Access
PASS. The only added external URL is https://github.com/NVIDIA/kumo-engine/pull/134 in agent-skills/skills/kumo-data-science/SKILL.md:16 and `agent-skills/skills/kumoai-reference/references/kumo_f…
Full details: Public Resource Access
Explanation
PASS. The only added external URL is https://github.com/NVIDIA/kumo-engine/pull/134 in agent-skills/skills/kumo-data-science/SKILL.md:16 and agent-skills/skills/kumoai-reference/references/kumo_finetuning_sdk.md:10; anonymous access returned HTTP 200. Added repository paths and package source locations resolve in the checkout, and the referenced source files are publicly readable from the NVIDIA GitHub repository. No added or modified reference is confirmed inaccessible.
Full details: Change Map Design Review
Explanation
The required PR conversation comment starting with <!-- kumo-pr-change-map --> is not available. The supplied context summarizes a change map but does not provide its proposed design table or prose, so necessity, abstraction-layer fit, behavior preservation, verification, and stopping-condition claims cannot be assessed against that comment.
Resolution
Provide the complete maintained change-map conversation comment, including its observed failure, requested release requirement, existing-behavior evidence, proposed changes, verification plan, and stopping condition. Then reassess the design against the repository diff.
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Tip
🎯 Customize your risk assessments
Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.
✅ Automatic approvals, with your rules
Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.
CodeRabbit Verify
Run CodeRabbit Verify to test the changes in this pull request.
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.
The requested workflow gives users a graph view in notebooks and an SVG from scripts, with Markdown inspection available during model iteration.
One shared skill replaces the missing visualization guidance; examples, package builds, and tests validate it without running models or deploying skills.
37-37: Minor · Data Integrity & Integration · Quick win
Write the graph export to a unique, confirmed run path.
Graph.visualize() overwrites an existing destination. Path('graph.svg').resolve() can therefore replace an existing user file when the script runs in a directory that already contains graph.svg. The fixed relative path also relies on the process current directory being the run's confirmed output directory, which this example does not establish. Use a unique filename under the confirmed output directory, or under the permitted scratch directory when the export is disposable.
204-204: Minor · Functional Correctness · Quick win
Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.
Handle exports outside the Workspace directory.
An export under /tmp, which this runtime permits for artifacts, does not appear in the Workspace file browser. Tell users to copy it into the Workspace directory or upload it to a stage before retrieval. (raw.githubusercontent.com)
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.
Hosted rendering.databricks-genie/runtime.md:283 and snowflake-coco/runtime.md:203 state rendering behavior we haven't verified on either host. Add > **Not verified:** notes like the rest of those files. For Snowflake, note the widget needs anywidget/ipywidgets and falls back to a static SVG without them.
Eval results: routing and codegen, base fa46bed vs head 86eccb1
Harness: kumo_skill_dev main @ eba83e0 with one local loader change: when the ref has kumo-graph-visualization/SKILL.md, add it to the codegen prompt. The router now tells every train notebook to take its cell from that file, and the loader's fixed file list would otherwise leave it out. Model: harness default (Cortex). Base and head were loaded through the same loader.
Intake / routing (90 cases, skill_v2_ga, with cards, Nemotron judge)
base
head
Correct behavior
80/90
82/90
Rubric met
43/90
43/90
No case regressed. Two improved: nov-sales-regression-complete-with-output and sainsburys-complete-formal went from ask_back to the expected proceed behavior.
No training request was routed to graph visualization instead of intake.
An earlier judge pass showed head at 74%. That was HTTP 429 rate limiting from running two judges at once; the affected rows were re-judged.
Probable regression: a primary key gets declared on an event table. It reproduces in 3 of 4 head runs and none on base. A likely cause is the new skill's push toward declared "key and time roles" (the viewer needs declared keys), but I haven't confirmed that. Worth a line saying the visual must not change graph construction (no keys added for the viewer's sake).
The script-only SVG export leaks into notebooks (16/38). The sentence "Include the SVG export … before training" follows "The user may ask for a script instead of a notebook", and the model applies it to notebooks too. Suggest wording such as "In a script (not a notebook), include the SVG export…". Harmless at runtime (try/except), but it writes files nobody asked for, e.g. /tmp/kumo-run/graph.svg.
Reuse the graph for the current task; graph changes follow `kumoai-reference/references/graph_construction.md`.
+The visual shows the graph exactly as built and never changes it: add no primary key, column, or edge for the viewer.+Tables without a primary key, such as event tables, display as they are.
...
Continue the workflow normally; pause for visual review only if the user asks.
+A notebook displays the graph only; it saves no SVG unless the user asks for a file.
## Generated SDK scripts
+This section applies to scripts only, never to notebooks.
Why the first line is accurate: render() only requires a primary key on edge destination tables, which Graph already enforces, so keyless event tables render fine.
Results
base fa46bed
head 86eccb1
head + change
Codegen spec match (38)
38/38
36/38
38/38
nov-sales-regression-known-context-with-output, no PK on event table (4 runs)
Do not reword the router line instead. I first also changed the router sentence to "A script, never a notebook, includes the SVG export…". Codegen was equally clean, but intake regressed: nov-missing-positive-interaction and videoamp-missing-positive-interaction asked back 0/3 times, against 7/8 and 8/8 on base and head combined. Keeping the router unchanged avoids that.
Not covered: the eval has no script-output cases, so the script SVG path is untested by the eval.
Finding 3, confirmed: no released build has Graph.visualize
Build
visualize
kumo-engine 1.0.0, the only PyPI version (tag kumo-engine-v1.0.0, 2026-10-17)
no; neither the method nor kumo/engine/_visualization.py exists
Fat bundles 20260917+d6d753e (staged) and 20261010+d9a703d (GPU eval)
no
Until a release includes #134, every notebook and script generated from this PR prints "Graph preview unavailable". It's harmless, but the feature won't be visible to anyone yet.
Addressed in 65a0711: both examples check for the API and report typed failures, and hosted rendering is marked unverified with Snowflake widget dependencies and static fallback documented. No released build includes #134 yet, so the version guidance distinguishes the historical baseline bundle from the source build required for visualization.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
documentationImprovements or additions to documentation
3 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Give users a graph view before model training.
Generated notebooks include an interactive graph cell, and SDK scripts save an SVG alongside run outputs.
Agents can use Markdown schemas when comparing graph choices during model iteration.
What Happens and Why
The existing skills omit the native graph viewer and incorrectly list it as unavailable.
The Fix
One shared capability covers notebook visuals, script exports, and requested diagrams without adding a required review or pause.
The router, SDK references, and host packages expose it through existing workflows.
See the change map.
Blast Radius
Changes affect customer skill guidance and packaging.
Unavailable previews report their error and let modeling continue with the original graph.
Verification
All 184 skill tests, 14 renderer tests, three host package builds, and documentation, public-reference, and secret checks pass.
Executed notebook, SVG, and Markdown examples cover display dispatch, file output, and continuation after preview failures; hosted notebook rendering was not exercised.