Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
187 commits
Select commit Hold shift + click to select a range
58bd8ac
flashnext cuda: the rank collective's in-place FP32 reduce-scatter, b…
swbiggart Nov 11, 2026
77b0260
flashnext cuda: a prompt pass at --tp 2 reduce-scatters its experts' …
swbiggart Nov 11, 2026
119070d
changelog, recipe and ledger: Flash Next's prompt-pass expert exchang…
swbiggart Nov 11, 2026
f803fa3
changelog: #2977's line from lines/2977.txt in place of its own
ashhart Nov 13, 2026
40ec17f
Remove unused Qwen27 GDN prompt tail scratch
ashhart Nov 11, 2026
47d08dd
changelog: #2915 under Unreleased
ashhart Nov 13, 2026
4c0cfb7
core: Admit and Ledger move to engine_admission.zig, unchanged
kotevcode Nov 11, 2026
ff3e811
changelog: #2896's line names its pull request
kotevcode Nov 11, 2026
1ddbd50
changelog: #2896's line from lines/2896.txt in place of its own
ashhart Nov 13, 2026
4a21b36
qwen3 cuda: Qwen3 reranker checkpoints on the native CUDA engine
Arminova Nov 5, 2026
d5d31e6
qwen3 cuda: the pass's arguments in a checked function with a host te…
Arminova Nov 10, 2026
e879cf5
qwen3 cuda: the reranker gate packs a decision at the chunk and block…
Arminova Nov 10, 2026
ac81368
changelog: Qwen3 rerankers on CUDA under Unreleased (#2995)
Arminova Nov 12, 2026
e5943ff
qwen3 cuda: the rerank docs name the checkpoints each native engine s…
Arminova Nov 12, 2026
39946c9
hip flashnext: the MTP head absorbs a prompt chunk on the prompt tiles
gilby Nov 1, 2026
d1fecd7
flashnext hip: the head's run takes the prefill flag as an argument, …
gilby Nov 12, 2026
c2ee927
changelog: the MTP head's prompt-tile line moves to the top of Unrele…
gilby Nov 12, 2026
52ee805
changelog: the MTP head's prompt-tile line carries the cold first-tok…
gilby Nov 12, 2026
f9df8bf
dsv41 metal: the lane target, the prompt cache and the native server …
gilby Oct 30, 2026
24a1f2f
dsv41 metal: decode plain at four or more active streams, where draft…
gilby Nov 10, 2026
3f8beec
dsv41 metal: decode plain from three active streams, not four
gilby Nov 11, 2026
f470802
dsv41 metal: plain rounds skip the draft pass, and do not launch one …
gilby Nov 11, 2026
8317e6b
dsv41 metal: the plain switch line says three streams and the skipped…
gilby Nov 11, 2026
cd31156
dsv41 metal: a stream's first draft ask waits for its first round
gilby Nov 11, 2026
873a4bc
dsv41 metal: a stream drafts nothing until its burst has formed
gilby Nov 11, 2026
4a5f5d4
dsv41 metal: restore the engram manifest check, the serve-lane test s…
gilby Nov 11, 2026
c713807
lanes: the plain-streams check in depth.zig on one line, so the file …
gilby Nov 11, 2026
dcd2e9f
dsv41 metal: boot and entry read their settings through platform/envi…
gilby Nov 11, 2026
3ee1eab
dsv41 metal: TF_DSV41_DRAFT_PLAIN_STREAMS takes 0 to 16 and refuses a…
gilby Nov 11, 2026
0c65d23
dsv41 metal: the plain switch holds a stream's ask only while plain_s…
gilby Nov 11, 2026
3f9cd87
dsv41 metal: the taps ring takes a window's kept rows only, so it nev…
gilby Nov 11, 2026
dd60b6e
dsv41 metal: plain rounds leave their rows in the target's history, a…
gilby Nov 11, 2026
1385658
dsv41 metal: a round of plain_streams streams verifies no copy window…
gilby Nov 11, 2026
7a96db0
changelog: #1720's line from lines/1720.txt in place of its own
ashhart Nov 13, 2026
3c9fc8e
template: a chat template is held to a nesting depth, and its render …
ashhart Nov 12, 2026
def39d2
template: a step is a statement list or a loop filter's test, and the…
ashhart Nov 13, 2026
0591c4e
changelog: #3072 under Unreleased
ashhart Nov 13, 2026
c835f68
slide rollback: a fact graph is removed only when its own folders fil…
ashhart Nov 12, 2026
8d588d6
slide rollback: a removed fact graph takes its folders file with it, …
ashhart Nov 13, 2026
13d7ce0
changelog: #3073 under Unreleased
ashhart Nov 13, 2026
07d5fe7
flashnext hip: a window round's plan buffers
gilby Nov 10, 2026
18ec707
flashnext hip: a verify window's DeltaNet from its plan, the keep rep…
gilby Nov 10, 2026
43c82e4
flashnext hip: window rounds and their keeps on the plan path
gilby Nov 10, 2026
1b2f541
hip kernel tests: Flash Next's plan path against its per-row path, q,…
gilby Nov 10, 2026
c35068d
changelog: Flash Next's plan verify windows under Unreleased
gilby Nov 10, 2026
76e8ea8
test(hip): run Flash Next's conv split with norms and gates on, both …
gilby Nov 11, 2026
5314474
engine(flashnext): free a plan's slots when opening fails, count its …
gilby Nov 11, 2026
3ae4a10
test(hip): a Flash Next window through its plan, fill to keep
gilby Nov 11, 2026
bc46621
engine(flashnext): free a plan's slots when opening fails after them,…
gilby Nov 12, 2026
244a188
changelog: back under Unreleased
ashhart Nov 13, 2026
ad0e249
cortheon: keep a page link when a space precedes href's equals
ppardus Nov 12, 2026
c4555f7
cortheon: keep a page link when a newline follows href's equals
ppardus Nov 12, 2026
3a15de2
cortheon: end an unquoted page link at a tab, CR or LF
ppardus Nov 12, 2026
74beae4
cortheon: resolve a link whose ends are a newline
ppardus Nov 12, 2026
9d5258b
cortheon: drop a tab or newline wrapped inside a link
ppardus Nov 12, 2026
1901362
cortheon: keep a page link when an earlier name only contains href
ppardus Nov 12, 2026
cc0d6f1
changelog: #3006 under Unreleased
ashhart Nov 13, 2026
7be6d08
changelog: #3006 under Unreleased
ashhart Nov 13, 2026
78140ea
core: a bounded ladder of intermediate prompt-cache checkpoints
javierbits Nov 4, 2026
08265a5
docs: the intermediate checkpoint ladder's GB10 receipt
javierbits Nov 4, 2026
c8cb885
core: share the interior key check and test the ladder's opt-in
javierbits Nov 4, 2026
1d5e7af
flashnext: keep cuda_lanes.zig at 600 lines
javierbits Nov 5, 2026
29b2089
core: ladder checkpoints yield to newest states and to other marks' room
ashhart Nov 12, 2026
8e98927
cuda: read TF_PROMPT_INTERMEDIATE through the strict environment table
ashhart Nov 12, 2026
68cde09
changelog: the ladder's line under Unreleased
ashhart Nov 12, 2026
e3062d2
tests: re-pin cuda_lanes.zig and cuda_snap.zig for #1953's checkpoint…
ashhart Nov 12, 2026
1a368ec
changelog: #3006 under Unreleased
ashhart Nov 13, 2026
f986a77
qwen27 metal: retain the long-copy driver for a lone greedy stream
ashhart Nov 12, 2026
900d8ea
qwen27 metal: retain the lane head on confident lone copy rounds
ashhart Nov 12, 2026
20c5c61
changelog: #3069 under Unreleased
ashhart Nov 13, 2026
8e66c92
changelog: #3006 under Unreleased
ashhart Nov 13, 2026
edd7893
changelog: #3069 under Unreleased
ashhart Nov 13, 2026
7e6aec2
docs: the CUDA memory plan, what each setting decides and the file th…
Bizuayeu Nov 12, 2026
0fb14b5
docs: --context's unset and 0 windows, the files that size the unname…
Bizuayeu Nov 12, 2026
29307ae
changelog: #3028 under Unreleased
ashhart Nov 13, 2026
4a68da2
changelog: each line once under Unreleased
ashhart Nov 13, 2026
c34ff56
changelog: one line for #2728, and #1878's line without its placeholder
ashhart Nov 13, 2026
885918b
qwen27 metal: drop prompt_glue.metal and prompt_state.metal, whose si…
jschmied Nov 12, 2026
4f12fa0
core metal: drop tf_lane_rope and Attention.rotate, which only lanes_…
jschmied Nov 12, 2026
e751f29
runtime sources: drop the Rope loop and rotary fields core.zig still …
jschmied Nov 12, 2026
93ad638
deepseek_v41: tf-dsv41-assets builds ReleaseSafe whatever -Doptimize …
ashhart Nov 12, 2026
d6ddf2b
changelog: #3007 under Unreleased
ashhart Nov 13, 2026
ad3f738
cuda experts: a bf16 format, a checkpoint's own weights in mma fragme…
BobClawblaw Oct 30, 2026
d0ff0dc
kernel contract: the bf16 experts (experts_bf16.cu), relu^2 up, fp32 …
BobClawblaw Oct 30, 2026
3033a7c
cuda experts: bf16 run refuses a width or dims off the 32-wide blocks…
BobClawblaw Nov 2, 2026
294f28b
tests: re-pin experts.zig and kernels.zig for #1630
ashhart Nov 12, 2026
62a9d5e
changelog: #1630 under Unreleased
ashhart Nov 13, 2026
c22079b
glm: the DFlash2 drafter's startup line and docs give its licence as …
ashhart Nov 12, 2026
a3aecd8
changelog: #3084 under Unreleased
ashhart Nov 13, 2026
6667aee
metal: dispatch generic prompt lanes as independent row blocks
ashhart Nov 11, 2026
8c4b12b
metal: record measured offline limits for standalone byte-lane sums
ashhart Nov 11, 2026
79fc3d4
metal: keep short byte-lane projections on a scalar row grid
ashhart Nov 11, 2026
9359fe7
metal: opt into whole-prompt row blocks explicitly
ashhart Nov 11, 2026
ae705fe
changelog: #2851 under Unreleased
ashhart Nov 13, 2026
36aa830
glm cuda: TF_GLM_CONTEXT_CEILING serves windows past 1,048,576 tokens…
Bizuayeu Nov 10, 2026
bbb60d8
glm cuda: TF_GLM_CONTEXT_CEILING's reader joins the .glm check in cud…
Bizuayeu Nov 10, 2026
fcfa424
native cuda: the ceiling test and lookup leave cuda.zig for its own t…
Bizuayeu Nov 10, 2026
90eeb3d
glm cuda: the capacity test leaves cuda_native.zig for cuda_pages_tes…
Bizuayeu Nov 11, 2026
5ef0b1f
changelog: #2765 under Unreleased
ashhart Nov 13, 2026
100e4a0
fix(server): let the last --compact-at replace the earlier one
laudney Nov 11, 2026
d8a2da4
changelog: #2883 under Unreleased
ashhart Nov 13, 2026
60a6656
test: align Qwen27 reply history with newest-state retention
ashhart Nov 11, 2026
f13d3de
changelog: #2889 under Unreleased
ashhart Nov 13, 2026
72b0d70
ci: run Metal engine host tests in the macOS nightly
ashhart Nov 11, 2026
77c2c1a
changelog: #2891 under Unreleased
ashhart Nov 13, 2026
1bc80c5
core: one block-FP8 reader and exact scale widening; Flash-Next MTP e…
jschmied Nov 11, 2026
40a68f4
core fp8: a byte-length refusal names the byte counts; widen's commen…
jschmied Nov 11, 2026
b42b92f
changelog: #2892 under Unreleased
ashhart Nov 13, 2026
8721d03
perf(hip): the routed prompt tile takes K-parallel passes for an item…
AbrahamCete Nov 10, 2026
fb85fe7
test(hip): pin the routed tile's cut from table to launch; rowOf chec…
AbrahamCete Nov 11, 2026
ab78aef
changelog: #2878 under Unreleased
ashhart Nov 13, 2026
df79510
glm cuda: a split warm-up that NCCL fails refuses split by name befor…
Bizuayeu Nov 11, 2026
05984ec
changelog: #2868 under Unreleased
Bizuayeu Nov 11, 2026
1e8b2c3
changelog: #2868's line from lines/2868.txt in place of its own
ashhart Nov 13, 2026
8d60e1f
refactor(radix): take a Query in the prompt store's begin and keep
laudney Nov 10, 2026
3154901
refactor(radix): one store hold a page through a page registry
laudney Nov 10, 2026
cfc9004
feat(radix): page-major prefix groups on the store's path
laudney Nov 10, 2026
af86722
feat(radix): checkpoint parts made, restored and reclaimed
laudney Nov 10, 2026
51d0124
feat(radix): a page-only store resumes at any matched page edge
laudney Nov 10, 2026
b1fff1f
fix(radix): count part pages when planning a pass's marks
laudney Nov 10, 2026
5ac1801
test(radix): a legacy save that reclaims never prunes its leaf
laudney Nov 11, 2026
c91cc24
changelog: #2875 under Unreleased
ashhart Nov 13, 2026
63e9557
qwen27: slot 0 keeps its rewind point through the warm pass, and a ba…
ThinkOffApp Nov 9, 2026
a94a166
qwen27: the warm pass's yield, the rewind carry and the rewind buffer…
ThinkOffApp Nov 10, 2026
96ea687
qwen27: a turn that resumed inside a reply kept as generated makes no…
ThinkOffApp Nov 10, 2026
698e301
changelog: #2723's line from lines/2723.txt in place of its own
ashhart Nov 13, 2026
2c9c299
cuda source check: declare the SDK names main's kernels use
Bizuayeu Nov 11, 2026
8fda4b7
changelog: #2902 under Unreleased
ashhart Nov 13, 2026
cbf0ceb
native: the CUDA kept-state identity is written once through any hash…
kotevcode Nov 11, 2026
1885a17
changelog: #2903's line names its pull request
kotevcode Nov 11, 2026
3f8a87a
changelog: #2903's line from lines/2903.txt in place of its own
ashhart Nov 13, 2026
78b8147
docs(xpu): the B70 prefill row predates 1.1.0's precise prompt DeltaN…
ashhart Nov 11, 2026
ef7d692
changelog: #2906 under Unreleased
ashhart Nov 13, 2026
cbdc1fe
tools: tfvideo_frames.py checks libtfvideo's RGB frames against PyAV's
swbiggart Nov 11, 2026
752aa6b
video: libtfvideo.so exports only tf_video_*, so FFmpeg's x86_64 asm …
swbiggart Nov 11, 2026
1c110c8
ci: the macOS adapters run check-video-exports-linux beside check-vid…
swbiggart Nov 11, 2026
bf9b1f1
changelog: #2861's line from lines/2861.txt in place of its own
ashhart Nov 13, 2026
d83ad8e
refactor(core): move the memory counts to engine_status.zig
laudney Nov 8, 2026
6057b7f
refactor(server): move the JPEG encoder out of pdf.zig
laudney Nov 8, 2026
2a0dd79
feat(core): add OCR reader types and the image frame size
laudney Nov 8, 2026
6ea7144
feat(server): carry image frames and OCR limits through chat.prepare
laudney Nov 8, 2026
e34d2eb
feat(ocr): add the shared page steps for the OCR route
laudney Nov 8, 2026
fda30cc
feat(ocr): add the dots.mocr page reader
laudney Nov 8, 2026
612f120
feat(ocr): POST /v1/ocr in the Mistral OCR contract for images
laudney Nov 8, 2026
eaaf866
docs(ocr): document POST /v1/ocr in the API guide
laudney Nov 8, 2026
aa8798a
refactor(ocr): keep later steps' code out of step 1
laudney Nov 8, 2026
8a20237
fix(ocr): bound a page at dots.mocr's pixel limit
laudney Nov 8, 2026
288ef93
refactor(ocr): leave later-step code out of step 1
laudney Nov 9, 2026
f70b4ef
test(ocr): refuse an oversized page and check no_vision's text
laudney Nov 9, 2026
d3d8c68
docs(dots): name dots.mocr's licences for the prompt and fixtures
laudney Nov 9, 2026
d540a7c
refactor(ocr): drop Source.name until a reader reads it
laudney Nov 9, 2026
02f1ab3
fix(dots): read with our own prompt and hash-only fixtures
laudney Nov 9, 2026
7187c91
docs(ocr): restore the OCR section the rebase dropped
laudney Nov 10, 2026
36b75ee
test(ocr): an image-only engine refuses POST /v1/ocr
laudney Nov 10, 2026
484437b
changelog: #2570 under Unreleased
ashhart Nov 13, 2026
f454f34
XPU: gdn_out rescales by one multiply in ldexp's single-multiply rang…
dinadur Nov 11, 2026
aaac299
changelog: #2921 under Unreleased
ashhart Nov 13, 2026
44c5654
ci: a newer push to main cancels main's older run, and the app checks…
ashhart Nov 13, 2026
621308b
changelog: #3230 under Unreleased
ashhart Nov 13, 2026
16dfe4e
moe_route: router logits for any hidden width a multiple of 1024, and…
BobClawblaw Nov 4, 2026
313d822
flint: serve Recursive Flint (40B-A2.5B MoE) natively on Metal
BobClawblaw Nov 4, 2026
0c3a24d
load budget: one core helper for Step-5 and Flint; a limit past the M…
BobClawblaw Nov 4, 2026
f7074cf
docs: Flint's licenses, the weights' and the rec_mlx reference's
BobClawblaw Nov 4, 2026
da10097
flint: SwiGLU's sigmoid in bf16 steps, as MLX runs it on a bf16 gate …
BobClawblaw Nov 4, 2026
a20250e
contract: qwen27 attention_io registers through its own Suite, so met…
BobClawblaw Nov 6, 2026
a5037cb
kernel contract: Flint's Metal kernels registered (glue, routing, pre…
BobClawblaw Nov 4, 2026
4edbe0d
kernel contract: Flint's prompt attention counts P at the precision t…
BobClawblaw Nov 4, 2026
7d365c3
changelog: #1177 under Unreleased
ashhart Nov 13, 2026
d8d0b4e
qwen35 cuda: skip the one-row rollback copy when nothing keeps it
ashhart Nov 11, 2026
a62840e
dense serving test: re-pin qwen35.cu to #2933's bytes
ashhart Nov 13, 2026
8642b1e
changelog: #2933 under Unreleased
ashhart Nov 13, 2026
38a339c
server: cancel a running or queued request by its id
ashhart Nov 13, 2026
1af23a6
changelog: #3193 under Unreleased
ashhart Nov 13, 2026
c247ca2
qwen35 cuda: bucket 2-8-row windows at 4 and 8 rows
ashhart Nov 11, 2026
d1dae4f
changelog: #2934 under Unreleased
ashhart Nov 13, 2026
4931941
video: libtfvideo.so exports only tf_video_*, so FFmpeg's x86_64 asm …
swbiggart Nov 11, 2026
0229e2b
video: libtfvideo decodes H.264 without B-frames and MPEG-4 with fram…
swbiggart Nov 11, 2026
57e82eb
changelog: libtfvideo's frame threads for H.264 without B-frames and …
swbiggart Nov 11, 2026
577410d
changelog: #2863's line from lines/2863.txt in place of its own
ashhart Nov 13, 2026
4cfd955
changelog: back under Unreleased
ashhart Nov 13, 2026
a7f67b8
tests: the Responses cancel test waits for the first token before it …
ashhart Nov 13, 2026
d8673e9
tests: the dashboard page's test runs on every OS, and expects only t…
ashhart Nov 11, 2026
b8bebda
changelog: #2946 under Unreleased
ashhart Nov 13, 2026
685bc47
metal: the image towers' bf16 rounding, threadgroup sum and max, and …
jschmied Nov 10, 2026
1301bfd
metal: the image towers' one-rounding LayerNorm statistics and output…
jschmied Nov 10, 2026
1e8c7a6
changelog: #2948 under Unreleased
ashhart Nov 13, 2026
86ca041
Merge remote-tracking branch 'upstream/main' into feat/62-merge-upstr…
plotarmordev Nov 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/workflows/app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ on:
- 'README.md'
- '.github/workflows/app.yml'
push:
branches: [main]
paths:
- 'app/**'
- 'README.md'
Expand Down
28 changes: 24 additions & 4 deletions .github/workflows/no-gpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@ on:
permissions:
contents: read

# A pull request's newer push cancels its older run; every push to main keeps its own.
# A pull request's newer push cancels its older run, and a newer push to main cancels main's older run: a landing train
# pushes one commit a PR (seven runs in four minutes on 13 Nov), and the train's own run already tested the tree they
# end at. The nightly schedule keeps a group of its own.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
group: ${{ github.workflow }}-${{ github.event_name == 'schedule' && github.run_id || github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name != 'schedule' }}

jobs:
benchmark-clients:
Expand Down Expand Up @@ -335,7 +337,7 @@ jobs:
strategy:
fail-fast: false
matrix:
suite: [fast, adapters, deepseek, lanes, deferred]
suite: [fast, adapters, native, deepseek, lanes, deferred]
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
with:
Expand All @@ -344,11 +346,29 @@ jobs:
with:
version: 0.17.0
use-cache: false
- name: Metal toolchain for native engine host checks
if: matrix.suite == 'native'
run: xcrun -sdk macosx metal -v || { xcodebuild -downloadComponent MetalToolchain && xcrun -sdk macosx metal -v; }
- name: Host checks and aggregate wall time
shell: bash
env:
SUITE: ${{ matrix.suite }}
run: |
printf 'Runner class: %s %s\n' "$RUNNER_OS" "$RUNNER_ARCH"
if [ "$SUITE" = native ]; then
printf 'Native source: %s\n' "$GITHUB_SHA"
status=0
for phase in initial warm; do
TIMEFORMAT="test-native $phase wall seconds: %R"
if { time zig build test-host-ci-macos-native --test-timeout 30m --summary all; }; then
printf 'test-native %s exit: 0\n' "$phase"
else
code=$?
printf 'test-native %s exit: %s\n' "$phase" "$code"
status=$code
fi
done
exit "$status"
fi
TIMEFORMAT='Host checks wall seconds: %R'
time zig build "test-host-ci-macos-$SUITE" --test-timeout 30m
79 changes: 79 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ Conversions are explicitly marked: their upstream weights need the linked conver
| Gemma 4 12B, converted MLX 4-bit | `hf download google/gemma-4-12B-it --revision 707f0a3b8a3c7ad586ed01e27eafbad8a27dd0f7 --local-dir ~/models/gemma-4-12b-hf`<br>`hf download google/gemma-4-12B-it-assistant --revision 46d4c6f13f0ac0ad827b915669b8df9b81c64c51 --local-dir ~/models/gemma-4-12b-assistant` | One Mac (M5 Ultra checked); converted text weights 6.3 GB, image weights 100 MB, plus assistant/caches. MLX 4-bit also served on one GB10. Pre-M5 Metal has a row path; the MTP assistant requires M5 tensor units. | [Convert and serve](docs/recipes/gemma-4-12b-native.md). Upstream download needs `hf`; conversion needs Python, mlx and mlx-lm. Serving is native; [CUDA qualification](CHANGELOG.md#114) includes the MTP assistant. |
| Step-5-Preview, converted affine | `hf download stepfun-ai/Step-5-Preview --local-dir ~/models/step5-preview-fp8` | One 256 GB Mac; text 166.9 GiB, MTP adds 2.5 GiB and vision 3.7 GiB. | [Convert and serve](docs/recipes/step-5-preview.md). The documented 256 GB setup serves converted affine weights; converting the upstream FP8 download needs Python and mlx. |
| MiniMax-M3.1-Flash, community affine 3/4-bit | `hf download BobClawblaw/MiniMax-M3.1-Flash-MLX-mix34 --revision 9524999057e0d277d26438606e033e2191fb465c --local-dir ~/models/MiniMax-M3.1-Flash-MLX-mix34`<br>`hf download BobClawblaw/MiniMax-M3.1-Flash-MLX-mix256k --revision 916e7ca1044f1c3e7566163096243c940327224d --local-dir ~/models/MiniMax-M3.1-Flash-MLX-mix256k` | One 256 GB M5 Ultra; 203.7 GiB (32,768-token window) or 189.2 GiB (147,456), plus caches. | [MiniMax-M3.1-Flash](docs/recipes/minimax-m3.1-flash.md). Set `MINIMAX_LOAD_LIMIT_GB`; images with `--vision`. Community checkpoints: lossy conversions of MiniMax's NVFP4 release (KL 0.244 / 0.295). MiniMax Community License. |
| Recursive Flint 40B-A2.5B, MLX INT4 | `hf download RecursiveSI/flint-int4 --revision 3b93f9053b530488405ae9fca51d4900d6ce21f0 --local-dir ~/models/flint-int4` | One M5 Mac; M5 Ultra checked; 21.4 GiB resident plus caches. M1-M4 untested. | [Flint](docs/recipes/flint.md). Text and tools; always reasons; no draft head. |
| Kolibri-1, block FP8 (research) | `tensorfold pull Aleph-Alpha/Kolibri-1@e52eb4627d11516b0c01de49210ab5a4e4061444` | One NVIDIA GPU; GB10 measured; 74 GB checkpoint. | [Kolibri](docs/recipes/kolibri-1.md). Text only; copy drafts, no EAGLE-3/neural drafter. |
| Liquid AI d1-3B, decisions | Not documented yet. | Native CUDA; RAM minimum not published. | [API section below](#serve-flags). `/v1/systemone` and `/v1/decisions`. |
| Fish Audio Drama 3, speech | Not documented yet. | Native Metal or CUDA; GB10 measured. | [Release audio instructions](CHANGELOG.md#110), [reference voices and dialogue speakers](docs/drama-http-voices.md). `/v1/audio/speech` with [sampling controls](docs/speech-sampling.md); checkpoint and `codec.pth` required. |
Expand Down
3 changes: 1 addition & 2 deletions THIRD_PARTY_NOTICES.md
Original file line number Diff line number Diff line change
Expand Up @@ -292,8 +292,7 @@ below); `tools/zig/bolt_ggml.py` reads them from that file. The IQ2_XXS and Q8_0
Bolt's GGML checkpoints (`zig/kernels/cuda/ggml.cu`, `zig/src/cuda/ggml.zig`) are TensorFold's own.

TensorFold ships no model weights. The `z-lab/Qwen3.8-27B-DFlash2` model card states Apache-2.0.
The optional `incoai/GLM-5.3-Flash-DFlash2` model card states CC BY-NC-ND 4.0, for non-commercial use
without derivatives; only the Python engine reads that drafter. Each checkpoint keeps its own license.
The optional `incoai/GLM-5.3-Flash-DFlash2` model card states Apache-2.0 too. Each checkpoint keeps its own license.

## Structured output: libtfgrammar

Expand Down
3 changes: 3 additions & 0 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,9 @@ pub fn build(b: *std.Build) void {
@import("zig/build/server.zig").cpuArtefacts(b, b.graph.host, optimize, build_options);
@import("zig/build/mcdma_pair.zig").add(b, target);
@import("zig/build/cache_index_timing.zig").step(b);
// the chat template's nesting, step, stack and memory limits (zig/src/core/template/limits_test.zig), on every host
const template_limits = b.createModule(.{ .root_source_file = b.path("zig/src/core/template/template.zig"), .target = b.graph.host, .optimize = .Debug, .link_libc = true });
b.step("test-template-limits-host", "Chat template nesting, render steps, stack and memory limits without a GPU").dependOn(&b.addRunArtifact(b.addTest(.{ .root_module = template_limits, .filters = &.{"security:"} })).step);
sys_build.wire(b);
@import("zig/build/checkpoint_config.zig").tests(b);
@import("zig/build/checkpoint_config.zig").wire(b);
Expand Down
Loading