pushkinist/rmlx 的最新提交 4c6e22eb(2026-11-07)是开发脚本审计的结果。在面向 Apple Silicon 的 MLX 推理服务器脚本中,什么都不执行的文件被删除,相似系列的脚本被合并为一个带有模式或标志的工具。规则写在 scripts/README.md 里,并由 make ci 的 check-scripts 检查。
Bash 文件从 115 个减少到 80 个,Python 文件从 48 个减少到 53 个。工具、模块和 lib 合计的规模从 128 个文件 39,730 行缩减为 85 个文件 34,415 行。相反,验证一侧增加了。recall 测试从 22,233 行增加到 32,349 行,仅新加入的 scripts-rules 门禁就有 3,316 行。夹具从 203 个增加到 959 个,四个门禁首次接受了 recall 测试,GPU 测试门禁还新增了约 150 个用例。
工具的使用方式也发生了变化。二进制路径统一为一个 --binary 标志,不再使用 RMLX_BIN、RMLX_BINARY、RMLX 环境变量。相对路径或空的 RMLX_HOME 会被 shell 工具、Makefile 配方和 wikitext2_ppl.py 拒绝。schema 金丝雀证明移到 RMLX_HOME 下的 proofs/schema-constraint,Wikitext-2 缓存移到 cache/wikitext-2。冒烟检查变得更严格,没有一个被省略。serve_bench.sh、ssd_canary.sh、wikitext2_ppl.py 如果没有留下记录就以 75 结束。
另一方面,mlx-c 0.8 支持也包含在同一个提交里。rmlx-mlx 针对 mlx-c 0.8 C API 以及 Homebrew 的最新 mlx-c、0.6 和 0.7 构建;由于 0.8 在 mlx_gather_qmm 的 sorted_indices 之前新增了可空的 global_scale,build_support.rs 通过函数参数个数和标记导出区分 C API,一旦形态不同就中止构建。运行时,gather_qmm 与 SDPA 封装也会拒绝 C API 不匹配。固定版本仍为 mlx 0.32.3 和 mlx-c 0.7.0,而 0.8 只验证到针对 make ci 中 0.7 组合与 0.8.0 头文件的仅编译 clippy,以及 macos-26 托管构建。没有在 0.8 上运行 GPU 测试或模型的记录。托管构建作业也改成了 macos-26,因为 GitHub 不再提供 macos-14。整理后的规则仍会在 CI 中持续生效,因此在重复执行环境中是安全的,但 0.8 支持停留在编译和构建层面,在使用 0.7 固定版本期间实际 GPU 路径的行为尚未得到确认。