sync(UPSTREAM-SYNC-HEADPIN): six deferred PORT-NOW entries from tranche 81-120, each with the gate that makes it real
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 423
- Forks
- 53
- Avg merge
- 20h 26m
- Merged PRs (30d)
- 310
Description
Row: UPSTREAM-SYNC-HEADPIN
Found by #2647 (PORT-NOW wave
PORTQ-3, tranche 81-120). Nothing was executed.
What this issue is for
Six of that tranche's forty entries are NOT_APPLICABLE — inert: the surface the
upstream commit edits is in this tree, and the new arm is gated on something
unreachable in every configuration this tree builds. They are deferred work, not
discarded work, and each becomes real the day its gate lands.
.agents/sync/2026-09-03-portq1.md §9 recorded the same category for its own
tranche and observed that two of its three had been left recorded nowhere but the
report. This issue exists so these six are recorded somewhere a person can find
them, since no issue owns any of the six gates. A search of open issues for
EPLB, DBO, ubatch, tokwise, pooling runner and OffloadingConnector worker returned nothing.
None of these is a defect today, and none should be ported before its gate.
Porting one early adds a branch nothing can reach and nothing can test.
The six
| upstream | vllm# | what it adds | the gate that makes it real |
|---|---|---|---|
9464529612 |
50931 | decoder models may select token-wise pooling tasks | the W5 tokwise poolers. DispatchPooler::ForEmbedding / ForSeqCls register only kEmbed / kClassify (src/vllm/model_executor/layers/pooler/dispatch_pooler.cpp:24-41), recorded at include/vllm/model_executor/layers/pooler/dispatch_pooler.h:18-21. Our PoolingRunner already has no encoder-only filter (src/vllm/v1/worker/gpu/pool/pooling_runner.cpp:11-13), so the restriction the commit deletes is already absent — only the arm it unlocks is unreachable |
dd856e48bb |
51222 | an encoder-only instance runs execute_mm_encoder instead of gather_mm_embeddings |
an encode-only (EPD) instance mode. execute_mm_encoder and gather_mm_embeddings are already separate members called at independent sites (src/vllm/v1/worker/gpu/runner.cpp:1930, :1983, called :2208 and :2569), so the refactor half is satisfied; is_encoder_only has no representation, and ec_connector is deferred (include/vllm/v1/engine/types.h:28, include/vllm/v1/core/sched/output.h:33). No row owns EPD disaggregation |
ae934ba8a5 |
48355 | all-reduces the FP8 MoE activation scale maximum across the EP group | PAR-EP-EPLB (.agents/engine-matrix.md:131, INVENTORIED). The non-EPLB half is already this tree's behaviour: it collapses per-shard input_scale with .max() (src/vt/cpu/cpu_ops.cpp:827-830). There is no EP group to reduce over |
ebb2972562 |
51402 | _allow_microbatching(), a veto refusing ubatching when a reader would attend over blocks its in-batch writer has not filled |
ENG-DBO-UBATCH (.agents/engine-matrix.md:74, INVENTORIED). Upstream's own veto early-returns true when not use_ubatching, and this tree has no ubatching in any configuration |
75231eff2f |
51391 | tool-exit terminals and a skipped-tool-span state, stopping Inkling block-end leakage into content | an Inkling or MiniMax reasoning adapter. skip_tool_parsing has one setter (src/vllm/entrypoints/openai/reasoning_parsers/parser_engine_adapter.cpp:29) and the one registered adapter is Qwen3ParserReasoningAdapter (reasoning_parsers/abstract.cpp:64-66). Traced against qwen3_config, the new logic is a behavioural no-op. Ordering: port this BEFORE the streaming half of the issue that covers 1c1077c6cc / 0820125ae9, which touches the same block |
1b0ce31f32 |
49328 | delete the block file only on a provable short read; mark_miss on a failed promotion |
the OffloadingConnector worker half. src/vllm/v1/kv_offload/kv_connector.cpp:406-412 registers it such that EnsureWorkerTransferSupported (src/vllm/entrypoints/model_loader.cpp:1176) refuses it on every device. Half of the commit is genuinely pre-fix here — src/vllm/v1/kv_offload/fs_io.cpp:512-518 deletes on any failure including a transient one, a ~15-line fix under KV-OFFLOAD once reachable. The livelock half is structurally impossible: TieringOffloadingManager::lookup re-probes every call (tiering_manager.cpp:197-215) and caches no verdict |
A seventh, which has a natural home this issue cannot reach
ba1cdcfcf0 vllm#51265 adds a suffix match mode to is_layer_skipped. Both
implementations here are exact-match and match upstream's unchanged default
(src/vllm/model_executor/layers/quantization/modelopt_mixed_precision.h:600-601,
include/vllm/model_executor/layers/quantization/fp8_block_quant.h:67-73), and
upstream's only consumer of the new mode is bailing_moe_v3.py. It becomes real
when MODEL-TEXT-bailing-moe-v3-bailing-moe-v3-for-causal-lm
(.agents/model-matrix.md:213, INVENTORIED, BEYOND-PIN) lands.
That row cites #609 as its tracker and #609 does not resolve
(gh api repos/mudler/vllm.cpp/issues/609 → HTTP 404; it is not a PR either).
.agents/model-matrix.md:33 cites the same number. The reference should be
repaired or replaced by whoever owns that row; until then this note is the only
place the ba1cdcfcf0 deferral is written down.
Falsifiable by construction
Every gate above is named so a later reader can disprove the claim by porting it.
None was proven unreachable by construction; each is a reachability judgement
about the tree at e24ec8bfd, and each dies the moment its gate lands.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the six-row table, the referenced engine-matrix entries, and the named files such as src/vllm/v1/kv_offload/fs_io.cpp and src/vllm/v1/worker/gpu/runner.cpp. Verify that the relevant gate has landed before porting its upstream change; the work is done when the gated behavior is reachable and covered by the applicable tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100