Skip to content

docs: DeepSeek V4 joins the roster, and the repo layout matches the repo - #842

Merged
JustVugg merged 1 commit into
devfrom
docs/readme-roster
Aug 5, 2026
Merged

docs: DeepSeek V4 joins the roster, and the repo layout matches the repo#842
JustVugg merged 1 commit into
devfrom
docs/readme-roster

Conversation

@JustVugg

@JustVugg JustVugg commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Two things on the front page had drifted away from the repository.

The roster said four families; there are five

DeepSeek V4 Flash landed in #165 and was tuned in #839, but the README still opened with "Four families run today" and its table stopped at OLMoE. Someone scanning the front page had no way to learn the engine exists.

It is now in the opening line, in the roster table, and in the hardware table above it β€” ~167 GB on disk, 16 GB of RAM minimum and 22 comfortable, measured on the reference box rather than estimated.

The DeepSeek section described a version that no longer exists

It called the path "experimental" and said "DSpark is intentionally kept for a separate stacked follow-up". DSpark is in. The honest state is more interesting than either claim:

  • the checkpoint streams with no conversion β€” routed experts stay native fp4, dense stays fp8-e4m3 with UE8M0 block scales
  • greedy, one KV slot, no tools or grammar yet β€” said plainly, because finding that out from a rejected request is worse
  • --ram is the knob that matters. 43 Γ— 256 routed experts are ~137 GiB and a token touches 301 of them, so the cache hit rate sets tok/s. It changes speed only, never output.
  • speculative drafting is implemented, verified, and off β€” with the numbers that made that call: 1 accepted in 15 for the markov drafter, 10 in 24 for full MTP, and a 14-token answer that took 495 seconds replaying its rejected suffixes

That last one is the point of documenting it at all. The code stays, the measurement stays beside it, and whoever retries this on faster storage starts from evidence instead of from scratch.

Repo layout described a tree that has not existed since July

It listed glm.c β€” renamed to colibri.c in #391 three weeks ago β€” and no other engine. So the file that runs GLM was wrong and the four files that run everything else were missing. Also absent: quant.h, compat.h, expert_store.h, route_trace.h, kv_prefix.h, the Metal and Vulkan backends, resource_plan.py, and docker/.

Every path and every make target in the new listing was checked to exist on this branch before it was written down.

The rule behind the layout is now stated, because it is the one that keeps being violated:

One .c per model family, over shared single headers. An engine owns its architecture and nothing else; anything two engines both need lives in a header they both include, so a fix reaches all of them at once.

That is not decorative. The recurring defects in this tree are all the same shape β€” the OpenMP thread count, the KV prefix reuse, the NaN router guard: a mechanism that landed in one engine and never reached its siblings.

Also

#### Other supported models now sits where the roster table is, so [Full roster ↓](#other-supported-models) in the opening paragraph resolves to the table instead of to prose four sections earlier. Verified: no broken internal anchors, no missing docs/ targets.

Docs only β€” no code, no behaviour change.

## The roster said four families; there are five

DeepSeek V4 Flash landed in #165 and was tuned in #839, but the README still
opened with "Four families run today" and its table stopped at OLMoE. Someone
scanning the front page had no way to learn the engine exists.

It is now in the opening line, in the roster table, and in the hardware table
above it -- ~167 GB on disk, 16 GB of RAM minimum and 22 comfortable, measured
on the reference box rather than estimated.

## The DeepSeek section described a version that no longer exists

It called the path "experimental" and said "DSpark is intentionally kept for a
separate stacked follow-up". DSpark is in, and the honest state is more
interesting than either claim:

  - the checkpoint streams with no conversion -- routed experts stay native fp4,
    dense stays fp8-e4m3 with UE8M0 block scales
  - greedy, one KV slot, no tools or grammar yet: said plainly, because finding
    that out from a rejected request is worse
  - --ram is the knob that matters. 43 x 256 routed experts are ~137 GiB and a
    token touches 301 of them, so the cache hit rate sets tok/s. It changes
    speed only, never output.
  - speculative drafting is implemented, verified, and OFF, with the numbers
    that made that call: 1 accepted in 15 for the markov drafter, 10 in 24 for
    full MTP, and a 14-token answer that took 495 seconds to replay its
    rejected suffixes

That last one is the point of documenting it at all. The code stays, the
measurement stays beside it, and whoever retries this on faster storage starts
from evidence instead of from scratch.

## Repo layout described a tree that has not existed since July

It listed `glm.c`, renamed to `colibri.c` in #391 three weeks ago, and no other
engine -- so the file that runs GLM was wrong and the four files that run
everything else were missing. Also absent: quant.h, compat.h, expert_store.h,
route_trace.h, kv_prefix.h, the Metal and Vulkan backends, resource_plan.py,
and docker/.

Every path and every make target in the new listing was checked to exist on
this branch before it was written down.

The rule behind the layout is now stated, because it is the one that keeps
being violated: one .c per model family, over shared single headers. An engine
owns its architecture and nothing else. The recurring defects in this tree --
the OpenMP thread count, the KV prefix reuse, the NaN router guard -- are all
the same shape: a mechanism that landed in one engine and never reached its
siblings.

## Also

`#### Other supported models` now sits where the roster table is, so
`[Full roster ↓](#other-supported-models)` in the opening paragraph resolves to
the table instead of to prose four sections earlier.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@JustVugg
JustVugg merged commit e323575 into dev Aug 5, 2026
16 checks passed
@JustVugg
JustVugg deleted the docs/readme-roster branch August 5, 2026 20:37
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