Skip to content

chore: reduce release tooling dependencies - #1124

Merged
andreatnvidia merged 3 commits into
mainfrom
andreatnvidia/fix/release-tooling-deps
Oct 30, 2026
Merged

andreatnvidia merged 3 commits into
mainfrom
andreatnvidia/fix/release-tooling-deps

Conversation

@andreatnvidia

@andreatnvidia andreatnvidia commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Reduce notebook and structural-analysis dependencies for the upcoming release. Restore Graphify 0.4.23 and execute notebooks with nbclient, removing the Jupyter frontend and nbconvert stack from the workspace.

Related Issue

Follow-up to #1027 and #1093.

Changes

  • Restore the earlier Graphify dependency set while retaining its isolated installer, compatibility tests and versioned structural baselines.
  • Use Jupytext for conversion and nbclient for execution in cached and uncached notebook builds; preserve retries and failed-output cleanup.
  • Retain existing widget support for notebook progress output and compatibility with older build refs and tool overrides.
  • Save structural graphs atomically and keep Graphify updates aligned with the adapter's supported API.
  • Remove the nbconvert CSS bootstrap and regenerate the workspace lock and security constraints. Retain the other security floors and audits.
  • Document that browser-based Jupyter frontends can be installed separately.

Testing

  • Config, engine and interface suites: 4,999 passed, 11 skipped.
  • Graphify compatibility suite: 10 passed, including graph replacement and export failure handling.
  • Synthetic notebook execution through cached and uncached Make targets, cache reuse, failed-cell cleanup, retry recovery and Fern JSON/TS conversion.
  • Offline datasets mapping in a real notebook kernel, verifying progress output without missing-widget warnings.
  • Workspace dependency audit and OSV checks for the Graphify requirements; locked resolution and installed-package compatibility checks.
  • Ruff checks for the package/script paths and changed agent files; shell syntax and generated-constraints checks.
  • Confirmed the locked runtime dependency closure is unchanged and the workspace lock adds no package versions.
  • Live model-provider executions were not run.

Checklist

  • Follows commit message conventions.
  • Commits are signed off (DCO).
  • External-contributor issue requirement: N/A; maintainer change.
  • Architecture docs: N/A; developer setup documentation updated.

Restore the previous Graphify version and use nbclient for notebook
execution. Remove the Jupyter frontend and nbconvert dependency stack
while retaining security constraints, audits and isolated tooling setup.

Signed-off-by: Andre Manoel <amanoel@nvidia.com>
@andreatnvidia
andreatnvidia requested a review from a team as a code owner October 30, 2026 20:08
@github-actions

Copy link
Copy Markdown
Contributor

Fern preview: https://nvidia-preview-pr-1124.docs.buildwithfern.com/nemo/datadesigner

Fern previews include the docs-website version archive with PR changes synced into latest. Notebook tutorials are rendered without execution outputs in previews.

@greptile-apps

greptile-apps Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The changes since the last review appear safe to merge.

Summary

Reduces release-tool dependencies while keeping notebook execution and structural analysis.

  • Notebook builds convert with Jupytext and execute with nbclient.
  • Structural reports work with Graphify 0.4.23.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Source["Notebook Python source"] --> Jupytext["Jupytext conversion"]
  Jupytext --> Execution["nbclient execution"]
  Execution --> Notebook["Executed notebook"]
  Notebook --> Conversion["Fern conversion"]
  Conversion --> Output["Notebook JSON and TypeScript"]
Loading

Reviews (3) · Last reviewed commit: "ci: preserve Graphify security updates" · Reviewed by Greptile

@svcnvidia-nemo-ci svcnvidia-nemo-ci 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.

No confirmed Critical or Warning findings.

Reviewed all 14 changed files and directly affected paths, including Graphify baseline compatibility, notebook conversion/execution and failure cleanup, dependency/lock/constraint alignment, and consumers of the removed CSS tooling.

Validation was static source review only. No tests, notebook executions, dependency installations, or audits were run. Third-party CLI implementations were unavailable for direct inspection.

Note: formal approval is not available for this request, so this review is posted as a comment only.

Review generated by codex. This was a full review. Request a full review with /review reset=true.

nabinchha
nabinchha previously approved these changes Oct 30, 2026

@nabinchha nabinchha left a comment

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.

Thanks for putting this together, @andreatnvidia!

Summary

The implementation matches the stated goal: it reduces release tooling dependencies by restoring Graphify 0.4.23 and using Jupytext plus nbclient for notebook execution. The workspace lock removes 44 packages without adding packages or changing retained package versions.

Findings

No actionable findings in commit c593de234174f0d0d0fa6683e2c6e1e5a04db44e.

What Looks Good

  • Graphify compatibility tests cover baseline resets, graph replacement after source deletion, and baseline preservation on export failure.
  • Notebook retries remove failed outputs and update the cache only after successful execution.
  • Both Make pipelines preserve notebook working directories and save executed outputs; a second cached build reuses the notebook successfully.

Residual Risk

Validation included 10 Graphify tests, 4 notebook build tests, synthetic execution through both Make pipelines, cache reuse, Ruff lint/format checks, and shell syntax checks. Synthetic execution used nbclient 0.10.4 with independently installed notebook tools rather than the complete locked workspace. Full package suites, live model-provider notebooks, and dependency vulnerability audits were not rerun.

Verdict

Ship it — no confirmed issues found.


This review was generated by an AI assistant.

Keep existing widget support for notebook progress output, preserve saved
graphs on partial export failures, and hold Graphify at its supported API.
Retain compatibility with older notebook build refs and tool overrides.

Signed-off-by: Andre Manoel <amanoel@nvidia.com>
Limit the Graphify hold to routine version updates while the structural
adapter targets the 0.4 API.

Signed-off-by: Andre Manoel <amanoel@nvidia.com>
@nabinchha
nabinchha self-requested a review October 30, 2026 22:17
@andreatnvidia
andreatnvidia merged commit 4d31126 into main Oct 30, 2026
62 checks passed
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.

3 participants