defer(ENG-MM-INPUT-PIPELINE): the mm hasher algorithm knob is inert until a second hash algorithm exists
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 423
- Forks
- 53
- Avg merge
- 20h 26m
- Merged PRs (30d)
- 310
Description
Row: ENG-MM-INPUT-PIPELINE
Found by wave PORTQ-2 re-deriving PORT-NOW entry 41 of 5559679229..e126687a9a
(#2646). Upstream:
1180b604f8 vllm#49686, "Expose mm hash algorithm selection to cli args".
This is DEFERRED work with a named gate, not a gap that can be ported today.
It is filed so the note is met by whoever owns the surface, rather than living
only in a sync report.
The gate
There is no second hash algorithm in this tree. MultiModalHasher
(include/vllm/multimodal/hasher.h:20) hard-codes BLAKE3 in both entry points,
and its header line 8 names it "BLAKE3, vLLM's default
VLLM_MM_HASHER_ALGORITHM" — so this tree never ported even the PRE-commit env
selection. third_party carries blake3 and no SHA-2 source. sha256 and
sha512 have zero hits inside src/vllm/multimodal and
include/vllm/multimodal (the tree-wide hits are checkpoint manifests).
The commit's own delta is env-knob to config-knob on a selector this tree does
not carry, over algorithms it does not implement. A selector with one choice is
dead code under AGENTS.md §"Nothing lands dead", so the entry becomes portable
the day a second algorithm exists and not before.
What is here, and what is not
Here: MultiModalConfig (include/vllm/config/multimodal.h:50) and the three
production call sites (src/vllm/multimodal/audio_processor.cpp:203,
dots3_note_processor.cpp:205, qwen3vl_processor.cpp:95).
Not here: mm_hasher_algorithm (zero hits), any algorithm parameter on
hash_kwargs, and any CLI or C-ABI flag. include/vllm/config/multimodal.h:22-27
is a documented deferred-field list that predates this upstream field.
Corroborating and independent: .agents/specs/prefix-prompt-caching-parity.md:100
records the mm hasher as MISSING (latent).
If it is ever taken
Roughly 150-250 lines over 5-6 files, dominated by vendoring SHA-2 — work the
upstream commit does not itself contain. Worth stating plainly: the motivation
upstream gives for the knob is FIPS, which is a product decision for this project
rather than a mirroring obligation.
Nothing was executed for this finding: no build, no test, no GPU.
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 with include/vllm/multimodal/hasher.h:20 and verify that both entry points still hard-code BLAKE3. Read include/vllm/config/multimodal.h:50 and the call sites in src/vllm/multimodal/audio_processor.cpp, dots3_note_processor.cpp, and qwen3vl_processor.cpp. This is actionable only after a second hash algorithm exists; done means a real selector is wired through the relevant configuration surface and validated by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cryptography
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100