Skip to content

Preserve notebook workspace dependency context - #6

Merged
farhan-syah merged 3 commits into
mainfrom
workspace/notebook-dependency-context
Sep 30, 2026
Merged

farhan-syah merged 3 commits into
mainfrom
workspace/notebook-dependency-context

Conversation

@farhan-syah

@farhan-syah farhan-syah commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Workspace notebooks lose inherited dependencies when Venus generates isolated Cargo projects. Resolve notebook dependency context before generation so internal workspace crates remain available.

Closes #5.

What changed

  • crates/venus-core/src/compile/notebook_manifest/: Resolve package and workspace dependencies with correct path origins. Preserve aliases, sources, targets, optional features, and root patches.
  • crates/venus-core/src/compile/universe/ and production.rs: Share resolved dependency context across generated runtime and standalone projects. Refresh universe caches and loaded cell libraries after local dependency changes.
  • crates/venus/cli/src/executor/ and crates/venus-server/src/session/: Share manifest discovery and refresh context during reloads. Split oversized files by responsibility.
  • crates/venus-core/tests/workspace_dependencies.rs, crates/venus/cli/tests/workspace.rs, and crates/venus-server/src/session/tests.rs: Cover execution, standalone builds, source refresh, and manifest changes.
  • crates/venus-core/src/compile/cell/: Include source and dependency hashes in library filenames. Check refreshed values while retaining loaded libraries.
  • Generated Cargo manifests preserve native Windows paths. Path assertions use canonical paths across platforms.
  • docs/cells.md: Document workspace notebook dependencies and override behavior.

Checks

cargo fmt --all
cargo clippy --workspace --all-targets -- -D warnings
cargo +stable test --workspace --quiet
cargo doc -p venus-core --no-deps
  • CI: Windows, macOS, and Ubuntu tests pass. Formatting and Clippy pass.
  • Cargo.toml: 323 tests pass. Eighteen existing tests and doctests remain ignored.
  • crates/venus-core: Documentation builds with ten pre-existing rustdoc link warnings.

@farhan-syah
farhan-syah merged commit 5c0f904 into main Sep 30, 2026
4 checks passed
@farhan-syah
farhan-syah deleted the workspace/notebook-dependency-context branch September 30, 2026 07:44
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.

Notebooks as workspace members isn't quite there

1 participant