mimo: announce the vision tower at the serve handshake (CAPS) - #1819
Merged
Merged
Conversation
Since #1793 the gateway lists image among a server's input modalities only when the family has a placeholder expansion and the engine said CAPS vision=1. MiMo had both halves of the image path but announced neither, so /v1/models and /health said text only while pictures were served. The family now carries image=True, and mimo.c writes CAPS vision=1 or 0 from whether the tower loaded.
Xore
pushed a commit
to Xore/colibri
that referenced
this pull request
Oct 1, 2026
The engine writes HITS and PROF after DONE. The gateway answers the request as soon as it reads DONE, and its dispatcher reads the two lines a moment later, so a test that queries /experts right after the reply can see the empty grid. That is what turned dev red on the merge of JustVugg#1819 (test_dsv41_dashboard: 0 != 12). The qwen36 and glm53 dashboard tests read the endpoints the same way. The tests now wait until each endpoint's seq says its line arrived, up to 30 s, then assert as before.
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.
Since #1793 the gateway lists
imageamong a server's input modalities only when both halves agree: the family has a placeholder expansion, and the engine saidCAPS vision=1at its handshake. MiMo (#1813) has the image path end to end but announced neither half, so/v1/modelsand/healthsaid["text"]while pictures were served. Requests with pictures were never refused (the gateway refuses only on an explicitvision=0); only the card under-claimed.family_registry.py: themimofamily carriesimage=True, and the registry test lists it.mimo.c:serve_loopwritesCAPS vision=1when the tower loaded andvision=0when the container has none, like deepseek_v41, glm53, qwen36 and qwen38.Checked
READY,CAPS vision=1,STAT ..../v1/modelsand/healthreport"input_modalities": ["text", "image"], and the startup log saysinput modalities: text, image.tests/test_family_registry.py,tests/test_openai_server.py,tests/test_mimo_chat_template.pyandtests/test_chat_thinking.pypass;mimobuilds without warnings.The tiny harness cannot drive serve mode (it needs a
tokenizer.json, which the fixture deliberately does not ship), so the handshake was checked on the real checkpoint.