Address every finding from the v0.71.32 review round. No version bump —
lands under CHANGELOG [Unreleased] for the next patch.
HIGH:
- serve: vLLM no longer forces trust_remote_code=True; resolved once for
all backends via the v0.36.0 default-deny gate + warning panel.
- serve: multi-adapter serving actually loads + switches adapters
(_load_named_adapters + lock-guarded _adapter_scope on both the
non-stream and stream generation paths); was a silent no-op.
- data/loader: vision image paths are containment-checked against
image_dir (mirrors the audio loader) — {"image": "/etc/passwd"} dropped.
- train: --dry-run skips the accelerate re-exec; also forwards
--minillm-on-policy / --capture-activations / --capture-prompts.
- trainer/mlx_sft: build a real AdamW instead of optimizer=None.
- commands/data: escape dataset/HF-derived strings in inspect/preview/search.
ASR (v0.71.32 review): metric calls moved inside the per-row try (no
batch-crash on an oversized reference), control-strip + escape on skip
warnings, transcript-label cap to Whisper's 448 + >30s audio warning,
upfront --asr-task validation, exit 2 on all-skipped, fp16 fallback on
pre-Ampere GPUs.
MEDIUM/LOW: distill KD term causal-shift to match the CE term; constant-
time UI Bearer-token compare + locked _train_process read;
load_config_from_string raises ValueError (not TypeError) on non-mapping
YAML; soup runs escapes config-derived fields; vscode_setup + lr_finder
use the centralised atomic, symlink-rejecting writer.
Tests: +28 in tests/test_review_fixes_v07133.py; updated 4 existing tests
that encoded pre-fix behavior (2 vision, 1 distill, 1 vLLM). Full suite
15569 passed, 0 failed, 123 skipped; ruff clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add `modality: vision` config option for vision-language model training
- Add LLaVA and ShareGPT4V data format detection and conversion
- Add `image_dir` field in DataConfig for resolving image paths
- Add vision model loading via AutoModelForVision2Seq + AutoProcessor in SFT trainer
- Add `soup init --template vision` with LLaMA-3.2-Vision config
- Add image statistics display in `soup data inspect` for vision datasets
- Add Pillow as optional `vision` extra dependency
- Add Pillow to `soup doctor` dependency checks
- 51 new tests (455 total), ruff clean
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>