Skip to content

fix: repair regressed mlx-swift submodule pin, wire up Gemma4MTPBench - #163

Merged
solderzzc merged 1 commit into
mainfrom
fix/gemma4mtp-submodule-repair
Aug 29, 2026
Merged

fix: repair regressed mlx-swift submodule pin, wire up Gemma4MTPBench#163
solderzzc merged 1 commit into
mainfrom
fix/gemma4mtp-submodule-repair

Conversation

@solderzzc

Copy link
Copy Markdown
Member

Summary

  • Bumps the mlx-swift submodule pin forward to its current origin/main tip (5639a6d). The previously pinned commit was actually an ancestor of the prior pin — a regression, not a bump — that was missing MLXFast.fromFp8, which mlx-swift-lm's FP8Linear.swift now depends on.
  • Wires the already-committed Sources/Gemma4MTPBench benchmark into Package.swift as an executableTarget. It depends on DualModelMTP/MTPTokenIterator/Gemma4AssistantModel, which only exist once mlx-swift-lm is past the DSA stage-2 merge (already the pin on main) — so it silently never built before.
  • Adds scripts/bootstrap_local_tests.sh, which mirrors CI's "Install MLX Metal library" step (pip install mlx, copy its bundled mlx.metallib into every built .xctest bundle) so swift test is runnable locally without CI's help. This is the Tier 3 item from Test coverage plan: the unit suite has never caught a bug #128.

Test plan

  • swift build --build-tests — clean build, 0 errors, in an isolated worktree against origin/main
  • ./scripts/bootstrap_local_tests.sh then swift test --skip-build --filter SwiftLMTests — 161 tests, 0 failures
  • swift test --skip-build --filter SwiftBuddyTests --disable-swift-testing — 86 tests (9 skipped), 0 failures

🤖 Generated with Claude Code

…x-swift submodule pins

mlx-swift-lm was uncommitted-pinned backward past the commit that introduced
DualModelMTP/MTPTokenIterator/Gemma4AssistantModel, breaking
Gemma4MTPBench and forcing MTP speculative decoding to be commented out in
InferenceEngine.swift as a workaround. Repointing both submodules to their
current origin/main tips (mlx-swift-lm past the merged DSA stage-2 PR #61,
mlx-swift past the matching MLXFast.fromFp8 addition) restores those types
and lets the benchmark build again — no source workaround needed.

Also adds scripts/bootstrap_local_tests.sh, which mirrors CI's "Install MLX
Metal library" step (pip install mlx, copy its bundled metallib into every
built .xctest bundle) so `swift test` is runnable locally without the
manual cmake+make dance. Addresses the Tier 3 item in #128.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@solderzzc
solderzzc merged commit 44eec24 into main Aug 29, 2026
14 checks passed
@solderzzc
solderzzc deleted the fix/gemma4mtp-submodule-repair branch August 29, 2026 21:36
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