Skip to content

fix: complete FireRedASR2 (小红书) model download verification - #116

Merged
IchenDEV merged 1 commit into
mainfrom
t3code/fix-xiaohongshu-model-download
Sep 30, 2026
Merged

IchenDEV merged 1 commit into
mainfrom
t3code/fix-xiaohongshu-model-download

Conversation

@IchenDEV

Copy link
Copy Markdown
Owner

Outcome

Downloading the 小红书 FireRedASR2-AED local ASR model (mlx-community/FireRedASR2-AED-mlx) now completes: after a successful transfer Utter marks it .downloaded instead of model.asr_incomplete ("模型只下载了一部分…"), so the model becomes selectable and ready.

Root cause

ModelCatalog.asrRequiredFiles(for:) required tokenizer.json for FireRedASR2-AED, but that file does not exist in the upstream repository (manifest: config.json, cmvn.json, dict.txt, model.safetensors, train_bpe1000.model). The path-based completeness check could therefore never pass, even though the download itself succeeded.

SDLC bundle and risk

  • Bundle: docs/sdlc/changes/2026-09-30-firered-asr-download-completeness/
  • Risk: medium — model/runtime behavior
  • Human decisions still required: PR approval/merge (intent and design approved in-chat 2026-09-30)

Verification

  • bash scripts/sdlc-checks.sh
  • bash scripts/ci-basic-checks.sh
  • swift test — 794 tests, 18 skipped, 0 failures
  • Regression test fails on the pre-fix list (3 assertion failures) and passes after
  • Release-style app build (not run; no packaging change)
  • Real-window QA (not run; no UI change)

Evidence: docs/sdlc/changes/2026-09-30-firered-asr-download-completeness/verification.md.

Residual risk and rollback

Mega-ASR-6bit still requires only ["config.json", "tokenizer_config.json"] (both exist upstream, so its download completes); tightening it is out of scope and tracked as residual risk. Rollback is a one-line revert of the required-file list.

Reviewer focus

Confirm the four required files match the upstream manifest and what the pinned mlx-audio-swift 0.1.3 FireRedASR2Model.fromDirectory actually reads.

The FireRedASR2-AED (小红书) required-file list referenced tokenizer.json,
which does not exist upstream, so a completed download was always reported
incomplete. Match the manifest and the mlx-audio-swift loader instead and
add a regression test.
@IchenDEV
IchenDEV merged commit acf19f2 into main Sep 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant