Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 20 additions & 7 deletions .github/codeowner-signoff-verify-prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -236,13 +236,26 @@ and read its `framework:`, `runner:`, and `image:` fields.
backed by vLLM/SGLang community maintainers). Name the offending image and the
missing justification when you FAIL. (Note: some entries write the registry
separator as `#`, e.g. `nvcr.io#nvidia/...`. Treat `#` as `/`.)
- (b) ENGINE-FIRST ORDERING: if this PR adds a config entry for a NON-vLLM/SGLang
framework (`framework:` of `trtllm`, `atom`, dynamo variants, etc., including images like
`rocm/atom*` and `nvcr.io...tensorrt-llm...`), check whether `inferencex-e2e/configs/*-master.yaml`
already contains a vLLM or SGLang entry for the same model (`model-prefix`) and SKU
(`runner`). If none exists and no exception is documented in the sign-off, FAIL.
vLLM/SGLang submissions must land before additional frameworks. Otherwise PASS with
the matching entry named.
- (b) ENGINE-FIRST ORDERING: the ordering rule separates open-source engines from
vendor-specific frameworks. Open-source engine entries are every vLLM or SGLang
deployment, whether served directly or through Dynamo or disaggregated serving:
`framework:` of `vllm`, `dynamo-vllm`, `sglang`, `sglang-disagg`, or `dynamo-sglang`.
Comment on lines +240 to +242

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.

🟡 (optional) A future llm-d vLLM master-config entry (framework: llmd-vllm, documented in inferencex-e2e/docs/configuration-procedures.md:220 as the master-entry name for llm-d recipes) will FAIL Check 6(b) as a vendor framework requiring a prior open-source engine entry, even though it is a plain vLLM deployment like dynamo-vllm. The new open-source engine list at line 242 only names vllm, dynamo-vllm, sglang, sglang-disagg, dynamo-sglang, so llmd-vllm falls into "every other engine" (line 244) by omission, wrongly blocking it the same way dynamo-sglang was wrongly blocked before this PR. Fix: enumerate every vLLM/SGLang deployment wrapper (including llmd-vllm) as open-source, or match by engine prefix (vllm*/sglang*) instead of a fixed list.

Why this was flagged

Trigger: a PR adds/updates a framework: llmd-vllm entry in inferencex-e2e/configs/*-master.yaml (the documented path per inferencex-e2e/docs/configuration-procedures.md:220, 'Add/update the llmd-vllm master entry'), with no prior vllm/sglang entry for the same model-prefix/runner. The verifier's Check 6(b) (lines 239-253 of .github/codeowner-signoff-verify-prompt.md) classifies anything not in the open-source list at line 242 as vendor-specific ('every other engine', line 244), so it FAILs this legitimate open-source vLLM deployment and demands a sign-off exception that doesn't apply. No other part of the prompt lists llmd-vllm as exempt. This is the same bug class the PR itself was written to fix for dynamo-sglang (#3629), left open for the llm-d deployment path.

Verification: Nit, latent gap, near pre-existing. The new Check 6(b) open-source engine list at .github/codeowner-signoff-verify-prompt.md:242 lists only vllm, dynamo-vllm, sglang, sglang-disagg, dynamo-sglang, and line 244 classifies "every other engine" as vendor-specific.

Dynamo is a deployment layer, not a separate engine, so these entries are never
subject to this ordering rule. Vendor-specific framework entries are every other
engine, including `framework:` of `trt`, `dynamo-trt`, `atom`, or `atom-disagg`, and
images like `rocm/atom*` and `nvcr.io...tensorrt-llm...`.
- If this PR adds a vendor-specific framework entry, check whether
`inferencex-e2e/configs/*-master.yaml` already contains an open-source engine entry
(any of the frameworks listed above) for the same model (`model-prefix`) and SKU
(`runner`). If none exists and the sign-off documents no exception, FAIL.
Open-source engine submissions must land before vendor-specific frameworks.
Otherwise PASS with the matching entry named.
- Valid exceptions are truly new or preview hardware (e.g. Rubin GPUs such as Vera
Rubin NVL72 and Rubin NVL8, or MI455X UALoE72) and new model architectures that
vLLM/SGLang do not fundamentally support yet.
- PASS if the PR adds only open-source engine entries. For example, a
`dynamo-sglang` entry does not need an existing `sglang` entry for the same model
and SKU.
- N/A if the PR changes no master-config entries (state that in one line).

## Check 7 — No submissions for deprecated models or scenarios
Expand Down