feat(sglang): define sidecar executable contract - #11797
Closed
connorcarpenter15 wants to merge 1 commit into
Closed
connorcarpenter15 wants to merge 1 commit into
connorcarpenter15 wants to merge 1 commit into
Conversation
Signed-off-by: Connor Carpenter <connorc@nvidia.com>
Contributor
connorcarpenter15
marked this pull request as ready for review
July 16, 2026 21:36
Contributor
WalkthroughThe SGLang sidecar now parses its endpoint from CLI arguments, constructs the engine from parsed arguments, documents launcher supervision requirements, exposes updated help text, validates the executable contract, and routes sidecar changes to SGLang CI jobs. ChangesSGLang sidecar CLI integration
Estimated code review effort: 2 (Simple) | ~15 minutes 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Comment |
Contributor
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@lib/sglang-sidecar/src/main.rs`:
- Around line 6-9: In the module documentation comment, rephrase the sentence
around from_parsed_args so it clearly states that it builds the WorkerConfig
that run needs synchronously, preserving the surrounding bootstrap and
runtime-harness description.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: fa9183e0-95a8-4771-97c4-462f578755f0
📒 Files selected for processing (7)
.github/filters.yamllib/sglang-sidecar/Cargo.tomllib/sglang-sidecar/README.mdlib/sglang-sidecar/src/args.rslib/sglang-sidecar/src/engine.rslib/sglang-sidecar/src/main.rslib/sglang-sidecar/tests/executable.rs
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
dynamo-sglang-sidecarparse its process arguments explicitly before constructingSglangSidecarEngine.SglangSidecarEngine::from_parsed_argsso the executable has a clear parsed-CLI boundary.--sglang-endpointcontract.lib/sglang-sidecartrigger SGLang CI.Motivation
SGLang should be able to supervise Dynamo as a real child executable rather than importing an in-process Python module. The executable remains a thin composition of the native SGLang adapter and
dynamo_backend_common::run, while SGLang owns process startup and shutdown.python3 -m sglang.launch_server \ <args> \ --grpc-port 30001 \ --sidecar-executable dynamo-sglang-sidecarPackaging or bundling the executable is intentionally deferred.
Scope
This extracts the Rust executable portion of #11636. It does not include the Python entry-point changes or move
lib/sglang-sidecarintolib/backend; those are separate changes.Validation
cargo fmt --all -- --checkcargo metadata --no-deps --format-version 1git diff --checkThe focused local Cargo test progressed through the sidecar crate and its dependencies but could not finish because the workspace filesystem ran out of space; draft PR CI will provide the full build and test result.
Summary by CodeRabbit
New Features
--sglang-endpointcommand-line option.Documentation
Tests
Chores