[Sync] Support request-scoped streaming aborts - #410
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a request-level abort mechanism for vLLM streaming rollouts, allowing individual active HTTP streams to be cancelled instead of aborting all in-flight requests on the server. It also adds a check to raise a RuntimeError if a streaming response ends without a terminal finish reason, along with corresponding unit tests. The review feedback highlights two critical issues where AttributeErrors could be raised when using custom generators that return lists of samples: first, in _run_request_abortable_generate when setting the abort status, and second, in the abort function when processing and updating metadata on nested sample groups. Both issues can be resolved by explicitly checking for and handling list types.
| async def _run_request_abortable_generate( | ||
| state: GenerateState, | ||
| sample: Sample, | ||
| generate_call: Awaitable[Sample | list[Sample]], | ||
| ) -> Sample | list[Sample]: | ||
| task = asyncio.current_task() | ||
| assert task is not None | ||
| state.cancellable_tasks.add(task) | ||
| try: | ||
| return await generate_call | ||
| except asyncio.CancelledError: | ||
| if task in state.cancellable_tasks: | ||
| raise | ||
| sample.status = Sample.Status.ABORTED | ||
| return sample | ||
| finally: | ||
| state.cancellable_tasks.discard(task) |
There was a problem hiding this comment.
In _run_request_abortable_generate, the sample parameter can be either a single Sample or a list[Sample] (e.g., when using custom generators that return multiple samples, such as multi-turn agent rollouts). If sample is a list, attempting to set sample.status = Sample.Status.ABORTED will raise an AttributeError. We should check if sample is a list and update the status of each sample accordingly.
async def _run_request_abortable_generate(
state: GenerateState,
sample: Sample | list[Sample],
generate_call: Awaitable[Sample | list[Sample]],
) -> Sample | list[Sample]:
task = asyncio.current_task()
assert task is not None
state.cancellable_tasks.add(task)
try:
return await generate_call
except asyncio.CancelledError:
if task in state.cancellable_tasks:
raise
if isinstance(sample, list):
for s in sample:
s.status = Sample.Status.ABORTED
else:
sample.status = Sample.Status.ABORTED
return sample
finally:
state.cancellable_tasks.discard(task)| group = task.result() | ||
| if not any(sample.status == Sample.Status.ABORTED and sample.response_length > 0 for sample in group): | ||
| continue | ||
| for sample in group: | ||
| if sample.response and "start_rollout_id" not in sample.metadata: | ||
| sample.metadata["start_rollout_id"] = rollout_id |
There was a problem hiding this comment.
In the abort function, group is obtained from task.result(), which can be a list[Sample | list[Sample]] when custom generators return multiple samples. If any item in group is a list, accessing sample.status, sample.response_length, sample.response, or sample.metadata directly will raise an AttributeError. We should flatten the group first to safely perform these checks and metadata updates.
group = task.result()
flat_group = []
for item in group:
if isinstance(item, list):
flat_group.extend(item)
else:
flat_group.append(item)
if not any(sample.status == Sample.Status.ABORTED and sample.response_length > 0 for sample in flat_group):
continue
for sample in flat_group:
if sample.response and \"start_rollout_id\" not in sample.metadata:
sample.metadata[\"start_rollout_id\"] = rollout_id7c839dd to
cf4de1f
Compare
|
Added the Vime translation of Slime #2334 release tooling in c852b3d.
Validated with the positive release check, a negative COPY-without-apply fixture, |
15b611f to
c852b3d
Compare
PR-by-PR omission re-auditScope: Slime Root cause: sync-ledger explicitly excluded #2334 release tooling together with build_conda and versioned SGLang patches. This was an overbroad exclusion, not a lost Git merge. The candidate now carries the two release-tool files; this follow-up restores the upstream date-format check. Existing feature-gap ledger items remain open and are not declared implemented by this audit. Method: enumerate every PR and changed path including renames/deletions; compare final translated upstream content with candidate; check missing additions against subsequent upstream edits and signed Vime overlays; verify deleted paths and Buildkite test registration. Literal differences alone are not omissions. Slime #2286SGLang older-version alias and router compatibility only; Vime retains its pinned vLLM API. No old-SGLang fallback copied. Upstream commit: Slime #2216Backend-neutral accelerator modules and call-site changes are present; environment names are translated. SGLang transport internals, NPU image patches and GitHub workflows retain platform-specific dispositions; CPU accelerator coverage is registered in Buildkite. Upstream commit: Slime #2294ring_flash_attn dependency removed; layer comparator moved into tests. Historical Vime alignment-test differences retained. Upstream commit: Slime #2296Eval-only optimizer/scheduler construction changes present in checkpoint/model code. Upstream commit: Slime #2114Raw PPO KL preservation, loss call sites and test_ppo_kl_metric.py present; test registered in Buildkite. Upstream commit: Slime #2085Teacher rollout temperature applied through the vLLM teacher-scoring contract. Upstream commit: Slime #2297Non-positive rollout-temperature validation and test present. Upstream commit: Slime #2298Observability moves, new rollout/train helpers and import rewrites present. Final profile_utils.py matches translated Slime; intermediate additions removed by later upstream commits are not omissions. vLLM metric field mappings retain documented engine gaps. Upstream commit: Slime #2312Stale delta+NCCL recommendation removed in both external-engine documents. Upstream commit: Slime #2316Obsolete Megatron memory patch and package removed; corresponding test updated. Upstream commit: Slime #2317Test cleanup and additions mapped to Buildkite CPU/utils/agent suites. No removed upstream test paths remain. Upstream commit: Slime #2318fanout_test_helpers moved to tests; runtime import/counter environment translated. Upstream commit: Slime #2320Dead branches and iterator base removed. Vime-specific IPC/NCCL and DSpark adapters preserved; no removed paths remain. Upstream commit: Slime #2321create_weight_updater extraction and test_update_weight_factory.py present; test registered in Buildkite. Upstream commit: Slime #2322rollout_validation module/tests removed; placement validation owned by engine_group after #2323. Upstream commit: Slime #2323deployment/disaggregation/engine_group split present. Router ports, vLLM worker lifecycle and PD wiring use existing Vime equivalents. Upstream commit: Slime #2326README reading paths updated. Existing Vime CONTRIBUTING ownership retained rather than importing Slime/Z.ai claims. Upstream commit: Slime #2327UE8M0 force flag, quantizer and converter changes present. Upstream commit: Slime #2330Documentation path/anchor/example fixes and test_docs_consistency.py present. Search-R1 remains excluded by user instruction; Buildkite docs and Docker README retain Vime policy. Upstream commit: Slime #2334Confirmed erroneous exclusion: release skill/checker omitted alongside engine-specific files. Both are now restored in #410. Restore upstream date-tag format validation as well. build_conda/NPU/versioned SGLang patches remain intentionally excluded; package/docs are already 0.3.2. Upstream commit: Slime #2272Request-scoped streaming cancellation and partial-sample behavior translated into existing vLLM rollout files/tests. SGLang cumulative-stream accumulator is protocol-specific and not copied. Upstream commit: Slime #2340Router-to-worker cancellation represented by closing the selected vLLM router request; existing #410 behavior evidence retained. Upstream commit: |
Slime 最近 100 PR 扩展漏项审计(2026-09-08)范围:Slime 方法:并行按训练/utils/plugins、agent/examples/docs、Docker/CI、rollout/engine 分域审计,检查历史变更在当前 tip 是否存活,后续删除是否已镜像,并对签名的引擎翻译/自有覆盖单独判定。路径清单是覆盖索引,不等于每个功能都做了 GPU E2E。 本轮发现的确定遗漏见下表‘补齐’项;测试与最终提交记录见 PR #410 更新。G4/G6/G7/G8 与 G5 剩余阶段指标仍在 feature-gap ledger,未在本轮冒充闭合。保留既有自有覆盖,不恢复用户排除的 retool/search-r1、build_conda、旧 SGLang/NPU patch 或改 Docker README。
|
Latest-200 audit inventory — catch-up
|
| # | PR / direct commit | Title | Historical changed paths | Evidence routes |
|---|---|---|---|---|
| 1 | #1916 (2091f7af) |
[docker] update torch memory saver (#1916) | 1 | docker-ci-scripts |
| 2 | #1919 (b8f59d2a) |
add critic wandb config (#1919) | 2 | training-utils |
| 3 | #1920 (f0bce74a) |
Move fully_async example to main codebase (#1920) | 9 | docker-ci-scripts; examples-agent; engine-weights; training-utils |
| 4 | #1921 (35e8767f) |
Add example for streaming output (#1921) | 4 | docker-ci-scripts; engine-weights; main-owner findings; training-utils |
| 5 | #1924 (1c810731) |
Reduce host memory with upgraded tms (#1924) | 6 | docker-ci-scripts; training-utils; engine-weights |
| 6 | #1926 (2f4bd0d8) |
Move micro-batch scheduling from training side to rollout side (#1926) | 12 | docker-ci-scripts; examples-agent; training-utils; engine-weights; main-owner findings |
| 7 | #1932 (d8841781) |
save host menmroy (#1932) | 1 | training-utils |
| 8 | #1930 (6961f597) |
Support training with variable global batch size (#1930) | 7 | training-utils; engine-weights; main-owner findings |
| 9 | #1938 (79989380) |
fix: guard sglang_speculative_algorithm read in --debug-train-only mode (#1938) | 1 | engine-weights; main-owner findings |
| 10 | #1933 (7405851f) |
[2/N] Support training with variable global batch size (#1933) | 18 | docker-ci-scripts; examples-agent; training-utils; engine-weights; main-owner findings |
| 11 | #1939 (ae818a37) |
add more cpu ci (#1939) | 9 | docker-ci-scripts; training-utils |
| 12 | #1940 (e51aaaba) |
run cpu test on main branch (#1940) | 2 | docker-ci-scripts |
| 13 | #1934 (e7134570) |
Add GPU placement validation before starting rollout engines (#1934) | 3 | engine-weights; main-owner findings; training-utils |
| 14 | #1941 (3b19068a) |
Add multi-sample test (#1941) | 5 | docker-ci-scripts; engine-weights; training-utils |
| 15 | #1942 (fda7075c) |
update docs (#1942) | 8 | examples-agent |
| 16 | #1943 (f3309c15) |
remove redundant file (#1943) | 2 | training-utils |
| 17 | #1944 (99229174) |
register validate_server_group_gpu_indices to ci (#1944) | 3 | docker-ci-scripts; training-utils |
| 18 | #1806 (987b3149) |
feat: delta weight sync (disk + nccl transports) (#1806) | 17 | docker-ci-scripts; engine-weights; examples-agent; training-utils |
| 19 | #1946 (38eb3626) |
Add backward compatibility to delta weight updation (#1946) | 3 | training-utils; engine-weights |
| 20 | #1945 (56740126) |
[docker] upgrade to sglang v0.5.12.post1 (#1945) | 8 | docker-ci-scripts; engine-weights; training-utils |
| 21 | #1949 (875ab40d) |
[docker] fix sglang pd prefill abort request (#1949) | 2 | docker-ci-scripts; engine-weights |
| 22 | #1923 (b6764131) |
[examples] add coding_agent_rl: agent-in-sandbox RL minimal demo (#1923) | 6 | examples-agent; docker-ci-scripts |
| 23 | #1956 (d84dad7b) |
Add slime/agent/ and move sandbox impl inside (#1956) | 6 | examples-agent; docker-ci-scripts |
| 24 | #1957 (e2391132) |
Minor refactor for coding agent rl logic and remove SWE_LIST_TRAJECTORY (#1957) | 3 | examples-agent; docker-ci-scripts |
| 25 | #1958 (223ef1f6) |
Move coding_agent_rl's helper function to sandbox.py (#1958) | 2 | examples-agent |
| 26 | #1952 (d3490718) |
disable param backup (#1952) | 4 | docker-ci-scripts; training-utils; engine-weights |
| 27 | #1953 (b5625a6e) |
[sglang_utils] flush_cache: log non-200 responses and back off before… (#1953) | 1 | engine-weights |
| 28 | #1960 (ad3b8744) |
Extract more util code from coding_agent_rl example (#1960) | 6 | examples-agent; docker-ci-scripts |
| 29 | #1961 (5007e32f) |
[docs] Add docs for agent rl (#1961) | 6 | examples-agent |
| 30 | #1959 (7ee0c14e) |
rollout: add forge_load to replay dumped rollouts with sglang alive (#1959) | 2 | engine-weights; training-utils |
| 31 | #1954 (82101244) |
[coding_agent_rl] middleware: shutdown_session drains in-flight handl… (#1954) | 2 | examples-agent |
| 32 | #1962 (39a77193) |
lint (#1962) | 1 | engine-weights |
| 33 | #1963 (afc323fb) |
Fix trajectory merging logic (#1963) | 9 | examples-agent; docker-ci-scripts; training-utils |
| 34 | #1965 (09c70450) |
Don't use sample.index as default rollout_id (#1965) | 1 | engine-weights; main-owner findings |
| 35 | #1947 (b5994e68) |
feat: add FlashQLA backend for Qwen GDN and skip selected comm memory checks (#1947) | 11 | docker-ci-scripts; examples-agent; training-utils |
| 36 | #1968 (a5770f84) |
[ci] add check for train_rollout_logprob_abs_diff (#1968) | 1 | training-utils |
| 37 | #1969 (def718c7) |
support --save-hf for raw mode (#1969) | 10 | docker-ci-scripts; training-utils; engine-weights |
| 38 | #1972 (aeb0a29e) |
[docker] fix mooncake offload in sglang v0.5.12 (#1972) | 2 | docker-ci-scripts; engine-weights |
| 39 | #1973 (4bb3136d) |
[docker] fix patch (#1973) | 1 | docker-ci-scripts; engine-weights |
| 40 | #1974 (c01b647a) |
[docs] Add finer explanation for re-tokenizationi issue (#1974) | 1 | examples-agent |
| 41 | #1977 (dbfcda96) |
[docker] fix GLM4.7 flash for sglang v0.5.12 (#1977) | 1 | docker-ci-scripts; engine-weights |
| 42 | #1978 (3c5d2033) |
[docker] Fix qwen3 30B + deepep with sglang 0.5.12 (#1978) | 1 | docker-ci-scripts; engine-weights |
| 43 | #1979 (acac6616) |
[agent] Add openai and anthropic adapters (#1979) | 16 | docker-ci-scripts; examples-agent; training-utils |
| 44 | #1980 (55d3e416) |
[Fix] Fix FLOPs accounting for non-MLA attention (#1980) | 1 | training-utils |
| 45 | #1981 (41c94f4b) |
[agent] extract Adapter class (#1981) | 10 | examples-agent; training-utils |
| 46 | #1982 (cc50ea51) |
[agent] Fix dropping overlong sample (#1982) | 5 | examples-agent; training-utils |
| 47 | #1983 (963a3526) |
[docker] fix GLM4.7 Flash in sglang v0.5.12 (#1983) | 2 | docker-ci-scripts; engine-weights |
| 48 | #1984 (a3c5462a) |
rename rollout_ids to group_ids (#1984) | 20 | examples-agent; training-utils; engine-weights; main-owner findings |
| 49 | #1985 (ac3c6d6c) |
[test] make tests shorter (#1985) | 29 | docker-ci-scripts; training-utils |
| 50 | #1986 (07782178) |
[docs] optimize readme (#1986) | 18 | examples-agent; training-utils |
| 51 | #1987 (988ac776) |
[ci] don't compare ref_logprob and logprob when R3 is on (#1987) | 1 | training-utils |
| 52 | #1988 (106ec33f) |
[docs] optimize docs (#1988) | 11 | examples-agent |
| 53 | #1989 (0975e42c) |
[docs] fix doc (#1989) | 2 | examples-agent root-doc addendum |
| 54 | #1990 (e40b8231) |
[ci] fix kl check on R3 (#1990) | 2 | training-utils |
| 55 | #1967 (05370bf9) |
Fix PYTHONBUFFERED typo to PYTHONUNBUFFERED=1 (#1967) | 48 | docker-ci-scripts; examples-agent; training-utils |
| 56 | #1991 (b4bff4ab) |
[ci] Add e2e test for delta weight update (#1991) | 5 | docker-ci-scripts; training-utils; engine-weights |
| 57 | #1950 (5f258746) |
fix: drop incorrect critic GPU add to rollout_num_gpus in colocate mode (#1950) | 1 | training-utils |
| 58 | #1929 (53cb7393) |
Feat/minimax m2.5 support (#1929) | 9 | docker-ci-scripts; training-utils |
| 59 | #1928 (d9d149dc) |
fix: avoid applying rollout temperature to critic values (#1928) | 2 | training-utils |
| 60 | #1992 (d527ba8b) |
cleanup (#1992) | 4 | docker-ci-scripts |
| 61 | #1993 (7a7aba4e) |
Patch sglang 0.5.12.post1 for delta sync (#1993) | 1 | docker-ci-scripts; engine-weights |
| 62 | #1975 (bf14dc21) |
[release] bump to v0.3.0 (#1975) | 10 | docker-ci-scripts; engine-weights; training-utils |
| 63 | #2001 (d3912f4e) |
[docs] Add step-by-step debug tutorial (#2001) | 2 | examples-agent |
| 64 | #1995 (d719f036) |
fix(multi-agent): preserve rollout logprobs (#1995) | 2 | examples-agent; docker-ci-scripts |
| 65 | #2013 (44d29ee5) |
Revert "rename rollout_ids to group_ids" (#2013) | 20 | examples-agent; training-utils; engine-weights; main-owner findings |
| 66 | #2016 (e1b9c90b) |
Fully support --rollout-external-engine-addrs (#2016) | 19 | examples-agent; docker-ci-scripts; training-utils; engine-weights; main-owner findings |
| 67 | #2020 (89fad404) |
Accelerate raw HF save with node writers (#2020) | 2 | training-utils |
| 68 | #2021 (a096428f) |
Support update_from_disk (#2021) | 18 | examples-agent; docker-ci-scripts; training-utils; engine-weights |
| 69 | #2022 (9c0751f1) |
Add docs for external servers (#2022) | 12 | examples-agent |
| 70 | #2017 (71c2679b) |
feat: add --balance-by-flops for FLOPs-balanced micro-batching (#2017) | 3 | training-utils |
| 71 | #2028 (1cfc60e4) |
remove abundant function (#2028) | 1 | training-utils |
| 72 | #2029 (8a5397e2) |
use balance_by_flops as balance data across mbs (#2029) | 3 | training-utils |
| 73 | #2030 (a73a1496) |
[examples]: add qwen3.5-9b model config and fully_async example (#2030) | 3 | examples-agent; docker-ci-scripts |
| 74 | #2024 (1de8347e) |
Log progress while waiting for placement group (#2024) | 1 | engine-weights |
| 75 | #2031 (2bfa5693) |
Allow only set rollout_id for prompt that return multiple responses (#2031) | 1 | engine-weights; main-owner findings |
| 76 | #2027 (10a8b108) |
Only upload per sample stats to wandb (#2027) | 15 | docker-ci-scripts; engine-weights; examples-agent; main-owner findings; training-utils |
| 77 | #2034 (564fd9c2) |
[docs] Add AgentCore RL Toolkit to ecosystem list (#2034) | 2 | examples-agent root-doc addendum |
| 78 | #2035 (8fc32230) |
Don't upload 'count' to wandb (#2035) | 1 | engine-weights; main-owner findings |
| 79 | #2041 (09e59f63) |
[docker] always re-register mooncake addr during offloading (#2041) | 2 | docker-ci-scripts; engine-weights |
| 80 | #2042 (c4a53fa3) |
[docker] update sgl-router (#2042) | 1 | docker-ci-scripts |
| 81 | #2046 (1dbad75c) |
Revert "[docker] always re-register mooncake addr during offloading" (#2046) | 2 | docker-ci-scripts; engine-weights |
| 82 | #2045 (74dd6551) |
docs: add vime to the ecosystem section in README (#2045) | 2 | examples-agent root-doc addendum |
| 83 | #2044 (1c4517cc) |
support rich image config for vlm (#2044) | 1 | training-utils |
| 84 | #2047 (39c50151) |
[docs] add Miles to slime ecosystem (#2047) | 1 | examples-agent root-doc addendum |
| 85 | #2050 (06aec613) |
Set RAY_USE_UVLOOP=0 for Ray actors (#2050) | 7 | engine-weights; training-utils; main-owner findings |
| 86 | #2055 (d4aa9c0d) |
[ci] clean up ci (#2055) | 6 | docker-ci-scripts; examples-agent; training-utils |
| 87 | #2056 (ee72ab5a) |
Use /v1/loads to re-abort server (#2056) | 2 | engine-weights |
| 88 | #2058 (74591435) |
[docs] update miles description and chinese version (#2058) | 2 | examples-agent root-doc addendum |
| 89 | #2057 (0efcab01) |
Allow zero-GPU rollout router startup (#2057) | 11 | examples-agent; training-utils; engine-weights; main-owner findings |
| 90 | #2070 (1b0415a2) |
[docker] expose sglang load inflight details (#2070) | 2 | docker-ci-scripts; engine-weights |
| 91 | #2036 (5d7296a7) |
fix(search-r1): stop generation at and (#2036) | 1 | examples-agent |
| 92 | #2072 (fec3da9b) |
[docker] upgrade sglang to v0.5.13 (#2072) | 4 | docker-ci-scripts; engine-weights; training-utils |
| 93 | #2080 (b7fd1abd) |
cleanup (#2080) | 1 | engine-weights; main-owner findings |
| 94 | #2081 (4c058f65) |
sync from internal and cleanup (#2081) | 4 | engine-weights; training-utils |
| 95 | #2067 (a1dddef1) |
[algo] Add CISPO advantage estimator (MiniMax-M1) (#2067) | 9 | docker-ci-scripts; examples-agent; training-utils; engine-weights; main-owner findings |
| 96 | #2082 (e46ca0a2) |
Overlapping data loading and sglang initialization (#2082) | 3 | engine-weights; main-owner findings; training-utils |
| 97 | #2086 (96cb409a) |
Add ci badge to readme (#2086) | 2 | examples-agent root-doc addendum |
| 98 | #2087 (23c6b0d3) |
Fix CI badge (#2087) | 2 | examples-agent root-doc addendum |
| 99 | #2088 (6269f20d) |
Add rollout_data_transport nixl (#2088) | 9 | training-utils; engine-weights; main-owner findings |
| 100 | #2093 (872504c1) |
Support GLM-5.2 (#2093) | 29 | examples-agent; docker-ci-scripts; training-utils |
| 101 | #2005 (243773cf) |
[coding-agent-rl] Refactor coding-agent RL: turn-node TrajectoryManager + pluggable harness layer (#2005) | 27 | docker-ci-scripts; examples-agent; training-utils |
| 102 | #2100 (77037513) |
Remove bshd support (#2100) | 11 | examples-agent; docker-ci-scripts; training-utils |
| 103 | #2096 (21b1b33d) |
docs: drop dangling Dr.GRPO custom-reducer example reference (#2096) | 3 | examples-agent; training-utils |
| 104 | #2102 (8f5e2151) |
Support top_p mask (#2102) | 19 | docker-ci-scripts; engine-weights; training-utils; main-owner findings |
| 105 | #2101 (5c47ffbe) |
fix(examples/tau-bench): use RunConfig.agent_strategy in TAU_CONFIGS (#2101) | 2 | examples-agent |
| 106 | #2107 (3fd7927f) |
Fix wrongly removed RouterArgs registry (#2107) | 1 | engine-weights |
| 107 | #2108 (b9b122c5) |
Extract append_response_tokens to Sample (#2108) | 11 | examples-agent; engine-weights; main-owner findings; training-utils |
| 108 | #2110 (d495f61c) |
Extract append_response_tokens to Sample (#2110) | 2 | training-utils |
| 109 | #2111 (112da2c4) |
[codex] Add Dressage to ecosystem README (#2111) | 1 | examples-agent root-doc addendum |
| 110 | #2118 (8f732538) |
sync from internal (#2118) | 18 | docker-ci-scripts; training-utils; engine-weights; main-owner findings |
| 111 | #2121 (e3049ac5) |
Fix bug on non-float reward (#2121) | 1 | engine-weights |
| 112 | #2124 (34a533ba) |
fix(agent) SWE coding-agent RL stability bugs (abort handling, session cleanup) (#2124) | 5 | examples-agent; docker-ci-scripts |
| 113 | #2125 (a897e1f4) |
feat(coding_agent_rl): select claude_code/codex harness+adapter pair via SWE_AGENT (#2125) | 2 | examples-agent; docker-ci-scripts |
| 114 | #2143 (122ac0c2) |
Fix parallel update_from_disk in megatron server (#2143) | 1 | training-utils |
| 115 | #2145 (df926b6a) |
[docker] fix top_p mask speed issue (#2145) | 2 | docker-ci-scripts; engine-weights |
| 116 | #2135 (e734ee75) |
feat(gemma4): add Gemma4 dense and MoE support (#2135) | 33 | examples-agent; docker-ci-scripts; training-utils |
| 117 | #2134 (96188292) |
fix: handle empty colocated weight buckets (#2134) | 4 | docker-ci-scripts; training-utils; engine-weights |
| 118 | #2144 (6a0ee158) |
perf: fuse PPO logprob entropy computation (#2144) | 6 | docker-ci-scripts; training-utils |
| 119 | #2106 (a2158f1d) |
feat(examples/strands_sglang): update to strands-sglang 0.4.2 (#2106) | 5 | examples-agent; docker-ci-scripts |
| 120 | #2152 (ca7a7eaf) |
Optimize memory usage for _VocabParallelLogProbEntropy (#2152) | 3 | training-utils |
| 121 | #2153 (fa3c990a) |
bugfix (#2153) | 1 | training-utils |
| 122 | #2158 (2b0c9459) |
Remove ctx.set_materialize_grads(False) which may cause issues (#2158) | 1 | training-utils |
| 123 | #2160 (58fbd73a) |
Fix CI (#2160) | 2 | training-utils |
| 124 | #2123 (6ad61127) |
Fix training stuck on all-gather cp (#2123) | 1 | training-utils |
| 125 | #2151 (f8609b8d) |
fix(update_weight): bracket IPv6 master address in tcp:// init_method (#2151) | 1 | training-utils; engine-weights |
| 126 | #2161 (46d13b19) |
feat(coding_agent_rl): env-selectable grading protocol + sandbox RPC robustness (#2161) | 13 | examples-agent; docker-ci-scripts; training-utils |
| 127 | #2167 (90c212b5) |
Always requires rollout_top_p_token_ids when rollout_top_p is not 1.0 (#2167) | 1 | engine-weights; main-owner findings |
| 128 | #2089 (af3d7fff) |
Disk-level delta weight sync (#2089) | 24 | docker-ci-scripts; engine-weights; examples-agent; training-utils; main-owner findings |
| 129 | #2169 (22cdc6e1) |
Merging profiling info into router (#2169) | 6 | docker-ci-scripts; engine-weights; main-owner findings; training-utils |
| 130 | direct 23464705 (23464705) |
Fix router | 1 | docker-ci-scripts |
| 131 | #2173 (1b73ddc1) |
[docker] Update SGLang patch for PD R3 routed experts (#2173) | 5 | docker-ci-scripts; engine-weights; training-utils |
| 132 | #2172 (a4b8c9c8) |
[docker] Update training side dependencies (#2172) | 2 | docker-ci-scripts |
| 133 | #2175 (5c530c15) |
Fix R3 for allgather_cp (#2175) | 2 | training-utils |
| 134 | #2178 (e848052a) |
[docker] Update dependencies (#2178) | 2 | docker-ci-scripts |
| 135 | #2180 (c7487788) |
Add --release-train (#2180) | 17 | docker-ci-scripts; engine-weights; training-utils |
| 136 | direct 8cc298b7 (8cc298b7) |
[docker] fix dockerfile | 1 | docker-ci-scripts |
| 137 | direct 1168380a (1168380a) |
[docker] fix sglang patch | 1 | docker-ci-scripts; engine-weights |
| 138 | direct 53a87b0a (53a87b0a) |
[docker] fix patch | 2 | docker-ci-scripts; engine-weights |
| 139 | #2183 (2d909df5) |
cleanup (#2183) | 9 | training-utils; engine-weights; main-owner findings |
| 140 | #2184 (f27ef35c) |
sync source_names (#2184) | 5 | examples-agent; training-utils; engine-weights; main-owner findings |
| 141 | #2181 (474861aa) |
[3/n] Disaggregated rollout: engine-side /pull_weights (#2181) | 22 | docker-ci-scripts; engine-weights; examples-agent; training-utils; main-owner findings |
| 142 | #2185 (680824dd) |
Support routed_experts_start_len (#2185) | 2 | training-utils |
| 143 | #2208 (fb42ae45) |
Support reloading the default process group (#2208) | 7 | docker-ci-scripts; training-utils; engine-weights; main-owner findings |
| 144 | #2220 (6d485c42) |
Optimize update weight (#2220) | 15 | training-utils; engine-weights; main-owner findings |
| 145 | #2210 (50f2d944) |
Update qwen3-4B.md (#2210) | 1 | examples-agent |
| 146 | #2223 (ea9819f8) |
Fix --save-hf (#2223) | 1 | training-utils |
| 147 | #2228 (aaf5c209) |
[docker] upgrade sglang to v0.5.15.post1 (#2228) | 12 | docker-ci-scripts; engine-weights; training-utils |
| 148 | #2248 (e76876db) |
Support PYTORCH_ALLOC_CONF (#2248) | 3 | docker-ci-scripts; engine-weights |
| 149 | #2249 (66034ab7) |
Remove --train-memory-margin-bytes (#2249) | 4 | docker-ci-scripts; training-utils |
| 150 | #2250 (2a60f00d) |
Add lightweight rollout hooks and sampling controls (#2250) | 15 | docker-ci-scripts; training-utils; engine-weights; main-owner findings |
| 151 | #2251 (f655e13d) |
Internalize mbridge and remove megatron-bridge (#2251) | 119 | docker-ci-scripts; engine-weights; examples-agent; training-utils |
| 152 | #2252 (a6272da0) |
[release] bump to v0.3.1 (#2252) | 22 | docker-ci-scripts; engine-weights; training-utils |
| 153 | #2257 (06ffdbe2) |
[docker] support cuda 13 (#2257) | 4 | docker-ci-scripts |
| 154 | #2262 (a74ae3a0) |
feat(glm5): align Megatron DeepEP training with SGLang rollout (#2262) | 45 | docker-ci-scripts; engine-weights; examples-agent; training-utils; main-owner findings |
| 155 | #2264 (f033ebfc) |
fix: preserve consecutive tool responses in Qwen3 SFT tokenization (#2264) | 2 | training-utils |
| 156 | #2261 (26e859af) |
fix(rollout): restore partial continuation token budget (#2261) | 2 | engine-weights; main-owner findings |
| 157 | #2256 (dd4851f2) |
fix(tools): clamp block max in block_fp8 to avoid NaN weights from all-zero blocks (#2256) | 2 | training-utils |
| 158 | #2254 (351e559f) |
docs: correct reverse KL definition in OPD guide (#2254) | 2 | examples-agent |
| 159 | #2247 (78156c53) |
fix: forward dual-clip PPO epsilon (#2247) | 4 | docker-ci-scripts; training-utils |
| 160 | #2246 (95df894a) |
fix: cast gpu_id to int in sort_key to prevent lexicographic ordering (#2246) | 1 | engine-weights |
| 161 | #2241 (df3d293e) |
fix: restore negative dataset slice bounds (path@[-100:]) (#2241) | 4 | docker-ci-scripts; training-utils |
| 162 | #2237 (38d99de1) |
fix: keep dataset order in filter_long_prompt for mixed multimodal data (#2237) | 4 | docker-ci-scripts; training-utils |
| 163 | #2205 (2c6323b1) |
perf: vectorize REINFORCE++ discounted returns (#2205) | 4 | docker-ci-scripts; training-utils |
| 164 | #2138 (fb735f1f) |
docs(readme): add Dressage to Chinese ecosystem (#2138) | 1 | examples-agent root-doc addendum |
| 165 | #2133 (19abf05b) |
docs(examples): list coding_agent_rl in examples/README (#2133) | 2 | examples-agent |
| 166 | #2189 (3b3bce89) |
[Doc] Clarify PPO/Critic docs after #1856 (#2189) | 4 | examples-agent |
| 167 | #2132 (aed93211) |
fix(mtp): support multi-head MTP loss logging (mtp-num-layers > 1) (#2132) | 1 | training-utils |
| 168 | #2170 (916b33a6) |
Fix placement group crash for external engines under debug_rollout_only (#2170) | 3 | engine-weights; training-utils |
| 169 | #2243 (68a73476) |
fix: restore args.ckpt_step after load_other_checkpoint (#2243) | 1 | training-utils |
| 170 | #2239 (fcbd428b) |
fix: clear exec_and_wait's spawn lock between logical invocations (#2239) | 4 | docker-ci-scripts; examples-agent; training-utils |
| 171 | #2234 (c1dd9ab2) |
fix: pair --log-correct-samples rewards with the DP-local samples (#2234) | 5 | docker-ci-scripts; training-utils |
| 172 | #2235 (dd7f0379) |
fix: whiten advantages over the DP group that includes context parallel (#2235) | 4 | docker-ci-scripts; training-utils |
| 173 | #2236 (b91f59e2) |
fix: don't overwrite an explicitly set --start-rollout-id (#2236) | 2 | training-utils |
| 174 | #2213 (fb393e59) |
Fix tau-bench token deltas for reasoning templates (#2213) | 3 | examples-agent; training-utils |
| 175 | #2238 (7e02052e) |
fix: stop the fully-async rollout dropping completed groups (#2238) | 4 | docker-ci-scripts; engine-weights; training-utils |
| 176 | #2242 (d3c0e79a) |
fix: honor every eval.defaults key and restore per-dataset stop / min_new_tokens (#2242) | 5 | docker-ci-scripts; engine-weights; training-utils |
| 177 | #2199 (d38dc29c) |
fix(npu): bracket IPv6 hosts in distributed init methods (#2199) | 1 | docker-ci-scripts |
| 178 | #2266 (681b3adc) |
Refactor --save-debug-train-data (#2266) | 13 | docker-ci-scripts; examples-agent; training-utils |
| 179 | #2271 (2fa9a442) |
fix transform_ue8m0 in fp8 convert (#2271) | 6 | training-utils; engine-weights |
| 180 | #2274 (876cd89b) |
[ROCm] Support the INT4 QAT kernel on ROCm (#2274) | 2 | training-utils; docker-ci-scripts |
| 181 | #2267 (00986d75) |
Fix model convert when use latest megatron (#2267) | 5 | training-utils |
| 182 | #2276 (41014d1f) |
Add args check for --save-debug-train-data (#2276) | 2 | training-utils |
| 183 | #2286 (1494c500) |
fix: improve compatibility with older SGLang versions (#2286) | 2 | engine-weights; main-owner findings |
| 184 | #2216 (e593fa0a) |
feat: add backend-aware MUSA support (#2216) | 39 | docker-ci-scripts; training-utils; engine-weights; main-owner findings |
| 185 | #2294 (8f20503f) |
cleanup (#2294) | 4 | docker-ci-scripts; training-utils |
| 186 | #2296 (a0d6d26a) |
fix(train): skip optimizer and scheduler for eval-only (#2296) | 2 | training-utils; engine-weights |
| 187 | #2114 (045310b2) |
fix(ppo): preserve raw KL so rollout/kl logging is correct (#2114) | 4 | docker-ci-scripts; training-utils |
| 188 | #2085 (1da1bb19) |
fix(opd): score teacher logprobs at rollout temperature, not 0 (#2085) | 1 | engine-weights |
| 189 | #2297 (16c15fc2) |
fix: reject non-positive rollout temperature at parse time (#2297) | 2 | training-utils |
| 190 | #2298 (624b824a) |
[NFC] Add observability subfolder (#2298) | 47 | docker-ci-scripts; examples-agent; training-utils; main-owner findings; engine-weights |
| 191 | #2312 (1a3fb0a6) |
docs: remove stale delta NCCL recommendation (#2312) | 2 | examples-agent |
| 192 | #2316 (c403335d) |
Remove megatron_patch for memory optimization (#2316) | 4 | training-utils |
| 193 | #2317 (a37dd90b) |
[ci] Clean up tests (#2317) | 26 | docker-ci-scripts; training-utils; examples-agent |
| 194 | #2318 (d8ad1b57) |
[ci] move fanout_test_helpers to tests/ (#2318) | 2 | training-utils |
| 195 | #2320 (7fc5715c) |
[cleanup] remove dead code and merge never visited branches (#2320) | 32 | examples-agent; training-utils; engine-weights; main-owner findings |
| 196 | #2321 (7e4ac3be) |
[cleanup] extract create_weight_updater to make actor's init func cleaner (#2321) | 3 | training-utils; engine-weights |
| 197 | #2322 (daebd20b) |
[cleanup] Remove rollout_validation.py (#2322) | 3 | engine-weights; main-owner findings; training-utils |
| 198 | #2323 (d8ff51c4) |
[cleanup] Refactor rollout.py (#2323) | 8 | docker-ci-scripts; engine-weights; main-owner findings; training-utils |
| 199 | #2326 (a067ce6f) |
[doc] update doc (#2326) | 3 | examples-agent root-doc addendum |
| 200 | #2327 (08160d3f) |
feat: allow forcing UE8M0 FP8 scales (#2327) | 3 | training-utils |
| 201 | #2330 (a3f50097) |
[docs] fix out-dated doc (#2330) | 26 | docker-ci-scripts; examples-agent; training-utils |
| 202 | #2334 (3778dbf6) |
[release] bump to v0.3.2 (#2334) | 8 | examples-agent; docker-ci-scripts; engine-weights |
| 203 | #2272 (4c1ab402) |
feat: support streaming external rollouts (#2272) | 8 | docker-ci-scripts; engine-weights; main-owner findings; training-utils |
| 204 | #2340 (4c193f1f) |
fix(agent): abort timed-out SGLang requests via router workers (#2340) | 1 | examples-agent |
|
Follow-up audit of 7b0631f: confirmed the Vime CLI is |
|
Local H200 validation at 8f0867e, with trace fix 06ad2e0:
|
3f31bf0 to
dd5f42f
Compare
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Co-authored-by: OpenAI Codex <codex@openai.com> Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Also correct native contributing CI guidance during the full-tree audit. Assisted-by: OpenAI Codex Signed-off-by: aoshen02 <aoshen@inferact.ai>
Keep HTTP context cleanup and rethrow the original network failure without cancelling its caller. Add real loopback regression and translate streaming interval/terminal-event coverage into the registered rollout tests. Assisted-by: OpenAI Codex Signed-off-by: aoshen02 <aoshen@inferact.ai>
Assisted-by: OpenAI Codex Signed-off-by: aoshen02 <aoshen@inferact.ai>
Supply the tokenizer vocabulary required by the Qwen3 parser and avoid shadowing an installed transformers package during collection. Assisted-by: OpenAI Codex Signed-off-by: aoshen02 <aoshen@inferact.ai>
Assisted-by: OpenAI Codex Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
dcc3570 to
c7d56ec
Compare
|
CI is failing |
Pull/reload hook alignment and local GPU E2E — 2026-09-14
--vllm-custom-pull-weights-pre-read-hook), matching Slime ownership; remove the per-RPC hook argument. Documentation and example flags follow the same interface.vllm/vime@sha256:92a3cdf7017157d46652f7f43270f7f2263c679a22ee7490a9cb226acf9f7d22(pr410-closeout-r10-20260909), vLLM0.28.1rc1.dev43+g6f7df92a8. Current source and patched runtime Python files were copied into the container, not source-mounted. This does not claim the published image already contains this change; no image was pushed.git diff --checkpassed. An initial Ray dashboard-agent port collision was isolated using separate agent ports. An initial harness assertion incorrectly expected three publications; corrected to two because initialization only captures the baseline, then the full E2E was rerun successfully. Test container stopped and reservation cancelled.Whole-tree audit — individual approval queue
The current review compares all 658 mapped paths at Slime
4c193f1f, not only the sync window. Eleven mechanical omission repairs are included in the latest update (documentation links/OPD notes, MiMo MTP layer flag, comments and resolved-default test assertion). Changed-file pre-commit and focused CPU tests are checked; this is not full GPU/CI completion.55 proposals/investigations below are NOT blanket-approved and are NOT 55 confirmed bugs. Approval to publish this list does not authorize implementing its native fixes. Existing candidate differences, including A01, are subject to review; unresolved engine gaps remain open. No image/latest promotion is part of this update.
Current decision: A01. Proposed wording in both languages: “Buildkite runs pre-commit checks and PR tests.” Only the two CONTRIBUTING.md lines; no other contribution policy changes. Awaiting explicit decision.
Complete approval document — A01–A55
just releasewith actual native build/manifest instructionsjust --dry-run releasefails: no recipe; source release workflow differs. Documentation untouched pending approvalA06 is split out of A05 so it can be reviewed independently. Detailed source
and test boundaries are in current-tree-weight-contracts-20260910.md.
Parity gaps such as missing runtime profiler controls belong to the sync-gap
worklist, not cosmetic/native cleanup. Explicitly excluded capabilities must
not be reintroduced just because the source tree contains them.
A07 also covers streaming's zero-padding/truncation of malformed logprobs;
normal-stream success is not evidence that this fallback is acceptable.
A13 also applies to both speculative-decoding guides (source steps3/D4 versus
Vime K4), and to the translation table's outdated summary D→K wording; its §5.2
correctly states K=D−1 for topk1. Do not count the repeated docs as new features.
The model-document pass extends A13 to GLM4.7/GLM5.2 depth and capture excerpts,
and notes DeepSeek-R1's native addition of MTP where the source excerpt does
not enable it. Approve experiment semantics separately from parameter spelling.
Current source —
ff99e9ff/ r10 runtime (2026-09-09)ff99e9ff408da74f4fbfdd1a1514122e66716f46. The two follow-up changes fix the EPD cache-file existence assertion (a glob iterator was previously always truthy) and the delta pre-read hook comment. Changed-file pre-commit passed. The strengthened EPD test passed a complete regular-versus-EPD run on GB200/r10; only that test file was copied, not runtime code.e52a2198with r10. Queryinginclude_retried_jobs=trueexposes four original failures: Qwen3.5 short exit1 with unresolved connection errors, plus three exit-1 jobs whose Buildkite agents were lost. Fully-async short passed exit0. Automatic retries are preserved in the audit; none were manually requested to hide failures.ff99e9ff408da74f4fbfdd1a1514122e66716f46and the r10 digest below. All six GPU suites were explicitly selected; the uploaded 39-job GPU matrix matches the source matrix. Current checkpoint: 7 passed, 39 reserved, no failed attempts; not yet full green. The automatic CI1186 lacks the image override and is not the final gate.sha256:92a3cdf7017157d46652f7f43270f7f2263c679a22ee7490a9cb226acf9f7d22. Final code-SHA/digest full CI and semantic whole-tree audit remain outstanding;latestis unchanged. Sync ledger update:Inferact/vime-sync-skills@51f4f39; G8.6 is native, with 15 active capability gaps (not 15 PRs).Earlier candidate — r10 /
e52a2198(2026-09-09)vllm/vime:pr410-closeout-r10-20260909, multiarch digestsha256:92a3cdf7017157d46652f7f43270f7f2263c679a22ee7490a9cb226acf9f7d22; producte52a21987838fee03352a4f45ce57af0735133bf. AMD64/ARM64 product and runtime hashes verified; all 27 patched runtime files match r9. Neither the pinned vLLM base norlatestchanged.12598b9.Earlier candidate — r9 /
64633ca1(2026-09-09)vllm/vime:pr410-closeout-r9-20260909, immutable digestsha256:205d68387d352c86202256a3bfcecf4d34166f5136cb79dfabf0d9ba55ce79c3; clean product64633ca134c3b22fd0cb186c7f684c7c0fb0ab4a. Both builds verify product and27 runtime-file hashes; runtime hashes equal r8. Same pinned base,latestunchanged.f5e7385; inherited DeepEP-auto/model-semantics differences remain explicitly OPEN. Full-tree semantic audit is still in progress.Earlier candidate — r8 /
02ae37ed(2026-09-09)vllm/vime:pr410-closeout-r8-20260909, immutable digestsha256:9fa1604ae477567786ab71f63f3d8f472771f0db081c33fe4b8dfdeaf8993ff5.02ae37ed627a8dd7bd409e166fb7c58febbeed0eand27 patched runtime files verified during both architecture builds; pinned vLLM base unchanged.latestremainssha256:5b48444d8e9962b5525ec11aaa012a75c5170544f4500d28451bc0b46a2f7728.Latest audit follow-up —
8f9ad045(2026-09-09)Earlier validation — r7 (2026-09-09)
51090be611dc796d9d22e43f35935c6693271103.vllm/vime:pr410-closeout-r7-20260909, digestsha256:3acc3fd9c4b60f9d403d9a66784b51222f02923296733113aa9458d5ffe7b8bb.6f7df92a8e6;latestuntouched. Diagnostic actor code is excluded.facd6a1.Earlier validation — r6 (2026-09-09)
559c062cf8e2ce32c0c8b980649b1e6c1d89b6dc.vllm/vime:pr410-closeout-r6-20260909; both architectures built, pushed, and source-hash checked.sha256:14db1bbfed80519b50665bb72dd2ff697d7d2b0603ea7af0d070e8ab01662141.6f7df92a8e6cdc74a725b8f10b4d0b48ba2b37ef; no base upgrade.latestremainssha256:5b48444d8e9962b5525ec11aaa012a75c5170544f4500d28451bc0b46a2f7728.New r6 changes and evidence
ec646bac0e7, extending the existing TITO test to bounded/unbounded top-k; pre-commit passed. Vime argument tests:28 passed,2 dependency skips.458b341982a24b10c28b0f430b3b3431bacebbacrestores an inherited SGLang numerical-provenance comment; r6 contains559c062c. Final SHA/image/CI must be matched after closeout.Earlier fresh-r5 GB200 evidence (not final-r6 proof)
One exclusive Slurm node, job24460; Qwen3-0.6B, MRV2/eager, NIXL, P TP1 / D TP1 DP2. ARM index
73f2f0bfdaa8fae597a0851b259cb73d761855dd6d86476eae93775f7a0cba47; product and 26 runtime-file hashes verified, no runtime source replacement.reset_running_requests=Trueas cache-reset timeout cause, not a connection-error guess. Candidate passed without blind retry; final r5 CI remains the gate.2eabc9cebc4; G9 #55274c3bb15984b8; SSE #55935.Remaining
Audit also identified G12: runtime profiler step/stage/options are not equivalent to startup ProfilerConfig. The canonical ledger now records15 active capability gaps, including this historical omission; no claim that passing PD tests closes it.
Final r7 full CI and complete fixed-cutoff/native-overlay per-file audit. No claim of complete GLM numerical parity. Historical independent video/OPD findings remain recorded, not silently folded into this change. G8.6 is native completion fencing, not a missing feature. Canonical gap ledger and native ownership records updated through
facd6a1; completed sync cutoff remains unchanged.Historical implementation and validation notes (older candidates; not r5 gates)
Current candidate: G5 handshake and allocation (2026-09-09)
ba6434eeedb11518dcfa58e358490b50c694662b.vllm/vime:pr410-closeout-r3-20260909, multiarch digestsha256:2e65d368b55cc78fc375027cf268bbdcaa188ad5d8213f2452fd7cbca9d44e65(amd64 + arm64).latestremainssha256:5b48444d8e9962b5525ec11aaa012a75c5170544f4500d28451bc0b46a2f7728.0819643d546: allocation wall wait is measured separately from remote-KV wait and summed worker handshake/transfer time. Allocation begins at the first attempt and includes capacity retries, not all pre-admission scheduling delay.Closeout candidate — 2026-09-09
Current code:
2b842a87c4581913a1bbf803149e76fb455a2893.Experimental image:
vllm/vime:pr410-closeout-r2-20260909, immutable digestsha256:b0b3b03dbb34ed937b4cec067727c5e98e87825098ff3896efc981b73d9c8d0c.The vLLM pin stays
6f7df92a8e6cdc74a725b8f10b4d0b48ba2b37ef;latestis untouched.Full CI #1153 targets this exact code and image with all six GPU suites. Not yet green. #1151 tests the preceding candidate; it cannot certify this revision.
vllm-pull_weights.patchvllm.patch5af75ca27fb)vllm-pd-request-metrics.patch3deba9eff34: request-bound NIXL telemetry, remote wait, P→D timing propagation, stream/non-stream responsesvllm-inflight-queue-diagnostics.patchc3bb15984b8: use realdata_parallel_index, not dense model's reset computational rankVerified results and scope
reset_running_requests=Truepassed; same-machine original False failed with cache-flush TimeoutError. Requests are requeued/recomputed, not aborted. No blind retry used to establish this A/B.Remaining / audit status
G8.6 was misattributed: IPC completion fencing is native, not an extra missing feature; the ledger counts14 active capability gaps. Remaining applicable G5 stage breakdown and real TP aggregation coverage are still under review. Final per-file audit and CI completion remain required; this description does not claim complete Slime/SGLang feature parity.
Canonical records: feature-gap ledger, sync ledger, Vime-native stack, updated in
1e3d65b. Completed sync cutoff is unchanged.The sections below describe earlier revisions and their historical test scope.
Streaming-mask follow-up (2026-09-08)
6fc5fd77395feeda60b0909b70a08e1b376b7bc0, integrated intodocker/patch/latest/vllm.patch; vLLM pin remains6f7df92a8e6.sampling_mask: null.vllm/vime:pr410-stream-mask-20260908, digestsha256:6ed5f4cfcb90fe0b98523fa7e4394b19c3a73b6b33bc1909652ab17524629a8e. Both architecture configs identify source6fc5fd77and unchanged engine pin. No latest update.VIME_CI_IMAGE; all six GPU suites requested. Scheduled/running is not a passing result. Other automatic builds using the default image are not evidence for this patch.Latest-200 audit update —
6e07971dExpanded to 200 merged Slime PRs + four direct fixes (
2091f7af^..4c193f1f), covering 502 historical paths plus 83 final embedded SGLang patch targets. The earlier unchanged-divergence inventory is not a semantic sign-off; this deeper review found additional omissions.success=false; preserve source backoff/timeout.top_p < 1; do not silently train without masks.Validation: 229 passed, 3 skipped in isolated local CPU groups; changed-file pre-commit and whitespace checks passed. Skips require a real vLLM installation. A combined run exposed pre-existing test-stub pollution in two CLI tests; these run separately rather than adding environment workarounds. No new product test files, GPU/full-CI result, image rebuild, image push, or release claim. The image pin and published tags remain unchanged.
Still open — do not read this as complete engine parity:
The sync-skills translation table has been corrected for actual EP group size (DP × PCP × TP), the obsolete universal single-node rule, TITO fields and the inactive legacy watchdog env. No product parallel layout was changed. Signed Qwen3-Omni/DSpark overlays and exclusions remain intact; completed sync cutoff is not advanced.
Summary
Sync the portable parts of THUDM/slime#2272 into Vime:
abort_mode = "request"/abort_requestspath and periodic re-sweep for non-streaming generatorsfinish_reasonThe Vime-native
VIME_CI_IMAGEBuildkite change has been split into #411.Per-file disposition
slime/rollout/sglang_rollout.pyvllm_rollout.py; retain Vime #296's vLLM server-abort re-sweep for non-request generators.slime/rollout/sglang_streaming_rollout.pyslime/rollout/streaming_utils.pyslime/utils/arguments.pyabort_modecontract; omit the SGLang incremental-output flag.tests/test_streaming_rollout.pytests/test_vllm_rollout.py, without adding a parallel SGLang-shaped test module.GenerateStatelifecycle fields.Upstream window
3778dbf6d1a533ab478ecf5ddaa11449a47752b24c193f1f37509cca70f0e88807a9305b70f63f4eHistorical full-repository alignment audit (before the latest-100 catch-up)
Compared the complete PR candidate with the mechanical Slime
4c193f1fmirror, then compared every per-file divergence with the previous #2334/#402 pair:Earlier validation (not the final catch-up commit)
Engine feature-gap patches
vllm-pull_weights.patch: G1 host-local full/delta checkpoint pull.vllm.patch: G2/G3 TITO speculative statistics and request-bound weight version, plus the Qwen3-Omni TP fix still missing from the fixed vLLM pin.vllm-pd-request-metrics.patch: implemented G5 subset exposing per-request remote-KV wait time; Vime enables native per-request metrics and normalizes the response into the existing trace/rollout metric schema. The full Slime phase breakdown remains tracked.vllm-inflight-queue-diagnostics.patch: G9 bounded per-DP-rank in-flight queue diagnostics (vLLM #55274).Additional validation:
6f7df92a8e6cdc74a725b8f10b4d0b48ba2b37ef— passedRelease tooling catch-up
docker/README.md; Vime-native candidate-image selection remains isolated in [CI] Allow testing candidate Vime images #411.Per-PR omission re-audit
Rechecked the 22 merged Slime PRs in
41014d1f..4c193f1f, including the previous #402 window. The release tooling was explicitly excluded in the old sync ledger together with SGLang/conda-specific artifacts. The generic tools should have been translated separately. This PR restores them, including Slime's date-tag format validation. Existing engine feature gaps remain tracked separately.Latest-100 Slime PR omission audit —
638758e3Expanded beyond the previous 22-PR review to
243773cf^..4c193f1f: 100 PRs + 4 direct fixes, 398 historical changed paths. Reviewed surviving behavior as well as later upstream deletions and signed Vime-native overlays. The prior unchanged-divergence check was insufficient: configuration fields could exist yet be dropped at the outgoing request boundary.min_new_tokens→min_tokensandrepetition_penaltyin ordinary rollout and agent adapter requests.Sample.append_response_tokens; reuse the existing vLLM metadata parser instead of duplicating it.sample.response_length, not decoded text or re-tokenized prompts. Add portable cancellation, preserved-prefix, unrelated cancellation, mixed-group resume and metadata regressions to the existing test file.>=0.37.0requirement so the shell cannot interpret it as output redirection.Validation for this catch-up:
git diff --check: passed;ray.util. No extra environment-adaptation code was added;Known engine gaps (G4/G6/G7/G8 and the remaining G5 phase breakdown) remain open in the sync-skills ledger. The unsupported GLM deterministic GPU tests are not registered as supposedly passing CI. User-excluded retool/search-r1, conda/NPU/old SGLang patches and signed Qwen3-Omni/DSpark overlays keep their explicit dispositions.