Repository navigation
[3/4] capture: remove legacy SGLang patch support - #1065
Merged
Merged
Conversation
jiapingW
requested review from
FlamingoPg,
FrankLeeeee,
shuaills and
sleepcoo
as code owners
November 1, 2026 10:33
This was referenced Nov 1, 2026
6 tasks
curnane-lab
pushed a commit
to curnane-lab/SpecForge
that referenced
this pull request
Nov 7, 2026
The pinned-SGLang install rework (sgl-project#1066) changed the unit-test environment (torch 2.13.0 -> 2.14.1, sglang from a git pin, --no-build-isolation) and broke the job in four places, none of which ran before the merge: - Trust the workspace in the persistent global git config after checkout. With setuptools-scm installed into the sf venv, building specforge with --no-build-isolation invokes git through setuptools-scm's file finder, and the self-hosted container rejects the workspace as dubious ownership. checkout@v4 only whitelists the path in its own temporary git config. - Build flash-attn 2.8.3 with C++20: torch 2.14's headers use std::strong_ordering, but FA's setup.py appends -std=c++17 last. Fetch the sdist from PyPI, patch the flag, build via setup.py bdist_wheel, and cache the wheel under the existing per-ABI build_key (uv caches neither sdist patches nor local directory builds). - test(arena): unwrap the stub server's list-wrapped spec_capture rows; test_mooncake_arena was not updated when _StubCaptureServer started mimicking the real plugin server (sgl-project#1065). - test: use --cuda-graph-bs-decode; the pinned SGLang split --cuda-graph-bs into decode/prefill flags, making the abbreviated form ambiguous. Update the CI dependency tests for the download/patch/build flow: the curl stub serves the PyPI JSON plus a tarball whose setup.py genuinely builds a wheel only after the -std patch is applied.
This was referenced Nov 7, 2026
cursor Bot
pushed a commit
to curnane-lab/SpecForge
that referenced
this pull request
Nov 7, 2026
sgl-project#1065 and sgl-project#1066 were opened against their stacked parents and retargeted to main once the parent merged. Changing the base fires only an edited event, which the default pull_request types omit, so unit-test never ran on either before merge and the broken pinned-SGLang toolchain reached main. Add edited to the trigger types and run the GPU jobs for it only when the base changed. Title and body edits also fire edited; give those runs their own concurrency group so they do not cancel or replace a running or queued test, and skip their jobs. Co-authored-by: curnane-lab <curnane-lab@users.noreply.github.com>
4 of 6 tasks
4 of 6 tasks
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.
Server capture still has two protocols and fallback paths after offline preparation moves to the plugin. Remove the source-patch backend so configuration accepts only
autoorplugin, automatic detection selects only the native plugin, and missing support fails with installation instructions.Delete the versioned patch files, application script, inventory and obsolete patch tests. Simplify launcher flags and the HTTP adapter to the plugin contract, and migrate online examples, platform guides and diagnostics. Most of the diff is deletion; review the schema, launcher and adapter first. The training dependency upgrade is isolated in part 4, so this layer keeps the existing SGLang CLI alias table.
Validation: full
pre-commit run --all-filespassed. H20 config, launcher, server adapter, multi-server and shell-wrapper regression: 214 passed. No runtime behavior changes beyond removing patch support are intended.Includes the shared CI dependency-test fix from #1063 via forward merges. All 8 CI dependency tests passed on Linux for this layer; the feature diff is unchanged.
Review and merge order:
Each PR compares against the previous layer. Shared follow-up fixes are merged forward without rewriting published history. After merging a predecessor, retarget the next PR to
main; if using squash merges, rebase the remaining stack before retargeting. The GPU workflow filters PRs targetingmain, so later layers receive that CI run when retargeted. Lint runs on every layer.This stack replaces #1062. Its combined feature changes match #1062 plus the lint fix; subsequent CI regression fixes are shared across the stack.