afm-next (20260408 · 628c2bb)
Pre-release
Pre-release
·
48 commits
to main
since this release
Nightly build from main branch.
- Commit: 628c2bb
- Date: 20260408
- Version: 0.9.10-next.628c2bb.20260408
This is an unstable development build. For the latest stable release, use
brew install scouzi1966/afm/afm.
Changes since last build (2b647b2)
- fix: --guided-json server flag and per-test spec extraction (#97, #98) (
628c2bb) - fix: generate-report.py reads from RESULTS_FILE env var, not hardcoded path (
6b36714) - fix: timestamp all temp files to prevent overwrites between runs (
f10f72b) - fix: codex per-test scoring — local outside function, unbound var (
5142185) - fix: handle unset AFM_BIN with set -u (
e48e0f5) - fix: mlx-model-test.sh defaults to local build over PATH (
2f88460) - fix: smart analysis reporting — codex ARG_MAX, format validation, baseline tagging (
f582ac5) - refactor: address PR #95 review — extract helper, improve readability (
2c7d205) - fix: skip radix save for wrapped RotatingKVCache to prevent SIGTRAP (#94) (
48f88a8) - fix: Gemma 4 batch mode, structured tool history, and Metal buffer lifecycle (#88) (
d5573d1) - Add nightly test results for 2026-04-04 (4 models) (
44c048e) - fix: Gemma 4 tool call type coercion (array/object/int) (
2aa2abd) - fix: flatten anyOf/oneOf nullable schemas for Jinja template safety (
ce66763) - Merge feature/gemma4-batch-kvcache: 10x throughput for Gemma 4 (
bc9de80) - Fix structured output streaming regression (
4afb1ff) - fix: address PR review — empty cache merge safety, slot wait cancellation (
731ca38) - refactor: raise SSE multiplex batch limit to 200, extract as constant (
55ea028) - fix: root-cause batched prefill crash — MLX lazy graph overflow (
329b114) - refactor: improve updateConcat alloc pattern, keep individual prefill (
3d5f9e1) - feat: add request correlation ID for end-to-end tracing (
ea12c89) - perf: add pipeline timing instrumentation (AFM_DEBUG=1) (
65c093c) - perf: remove container.perform lock and actor serialization bottlenecks (
a289c42) - fix: snapshot prefill state to prevent decode mutation corruption (
6e16a21) - fix: BatchRotatingKVCache mask totalLen after circular buffer wrap (
f650d65) - fix: updateConcat alloc size, debug prefillBatch B>=3 crash (
38159f0) - debug: add SDPA shape logging and BatchRotatingKV tracing (
22461ac) - Bypass adaptive XML for Gemma 4 tool calls (
45910d7) - feat: BatchRotatingKVCache — Gemma 4 concurrent batch mode working (
4006a11) - WIP: BatchRotatingKVCache — B=1 works, B>=2 segfaults in SDPA (
c04eafc) - WIP: BatchRotatingKVCache for Gemma 4 batch mode (
0f94cca) - refactor: extract magic numbers to named constants, add coding rule (
4e9edf3) - fix: queue requests instead of rejecting with server_busy (
a73b820) - fix: patch pin check matched wrong line (swift-docc-plugin) (
16cf3da) - Fix Gemma 4 handling and consolidate repo skills (
f0bd9c7) - chore: bump wheel version to 0.9.10.dev20260403, add test reports (
7c38a5a) - Update nightly release link to 20260403-2b647b2 (
9098e31)
Install / Upgrade
Homebrew
brew tap scouzi1966/afm
brew install scouzi1966/afm/afm-next # fresh install
brew upgrade afm-next # upgrade existing
brew reinstall afm-next # force reinstall (same version, new build)pip
pip install --extra-index-url https://kruks.ai/afm/wheels/simple/ macafm-nextSwitching between stable and nightly
# Homebrew
brew unlink afm && brew install scouzi1966/afm/afm-next # switch to nightly
brew unlink afm-next && brew link afm # switch back to stable
# pip
pip install macafm # stable
pip install --extra-index-url https://kruks.ai/afm/wheels/simple/ macafm-next # nightly