Skip to content

chore: bump mlx-swift-lm to 6490e3f (upstream ecd8e88 sync) - #214

Merged
solderzzc merged 1 commit into
mainfrom
chore/bump-mlx-swift-lm-ecd8e88
Oct 6, 2026
Merged

solderzzc merged 1 commit into
mainfrom
chore/bump-mlx-swift-lm-ecd8e88

Conversation

@solderzzc

Copy link
Copy Markdown
Member

Summary

Bump the mlx-swift-lm submodule from 4e6e521 to 6490e3f (SharpAI/mlx-swift-lm#76, plus #75). mlx-swift stays at 34bc52f. No SwiftLM source change is needed.

Pulled in by this bump (lm-side, see the lm PR description for details):

  • Real merge of upstream ml-explore/mlx-swift-lm ecd8e88 (5 commits): generation observability (#640, token-loop handlers move into a public TokenLoopHandler.swift), Gemma tool calls keep nested object/array arguments (#626), KV cache memory in KVCacheStatus (#639), component-aware checkpoint loading (#679: ModelCheckpoint, Qwen35CheckpointPolicy, loadModelCheckpoint(urls:)), deterministic reranker cancellation test (#669).
  • Fork behavior kept through the merge conflicts: MTPConfig.retainMTPWeights (SwiftLM --mtp) now flows through upstream's checkpoint policy as a retainMTP parameter, plus FP8 block-wise dequant, expert-streaming lazy loading, the MTP add-on file and per-layer quantization path normalization in Load.swift.
  • ToolCallFormat.gemma4 now uses upstream's GemmaFunctionParser (the fork's own Gemma4FunctionParser truncated nested objects and is removed). SwiftLM does not reference it.
  • The new upstream-sync bot script and workflow (feat: OpenAI-compatible streaming hardening (prefill heartbeat + OpenCode e2e CI) #75; lm-side only).

SwiftLM change: none. Sources/, Tests/ and Package.swift build unchanged against the new lm.

Test plan

Local (M5), against lm 6490e3f + mlx-swift 34bc52f:

  • swift build -c release: OK (189 s)
  • swift build --build-tests: OK
  • SwiftLMTests: 276 tests, 0 failures
  • SwiftBuddyTests: 127 tests, 9 skipped (environment-gated). The first run had 1 failure, VLMTests.testVLM_AutoDetectsLFM25WithoutVisionFlag: the test launches the debug SwiftLM binary, and in my fresh worktree there was no mlx.metallib next to it (Failed to load the default metallib). After copying the metallib there, VLMTests passes 2/2. I did not re-run the whole SwiftBuddyTests target after that; the other 125 tests passed in the first run.
  • Not run locally: anything that needs --mtp with a real model, the model-download integration tests, tests/test-*.sh, xcodebuild -scheme SwiftBuddy

CI:

  • build_and_unit_test
  • speculative-decoding, dflash-speculative-decoding, speculative-decoding-eval
  • Remaining integration_matrix jobs (these exercise the hybrid prompt-cache and Qwen3.5 paths that the lm checkpoint-loading change touches)

AI disclosure

This PR was prepared with AI assistance (Claude Code: build/test runs and this description). It still needs human review before merging.

  • I have read this PR description in full and approve it as my own

🤖 Generated with Claude Code

Points the mlx-swift-lm submodule at SharpAI/mlx-swift-lm main after
SharpAI/mlx-swift-lm#76 (real merge of ml-explore/mlx-swift-lm ecd8e88)
and #75 (upstream-sync bot). mlx-swift stays at 34bc52f. No SwiftLM
source change is needed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@solderzzc
solderzzc merged commit 06bac92 into main Oct 6, 2026
15 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