Skip to content

docs: add recent server features to README - #1895

Closed
localai-org-maint-bot wants to merge 1 commit into
mudler:mainfrom
localai-org-maint-bot:docs/readme-code-audit-20260825
Closed

docs: add recent server features to README#1895
localai-org-maint-bot wants to merge 1 commit into
mudler:mainfrom
localai-org-maint-bot:docs/readme-code-audit-20260825

Conversation

@localai-org-maint-bot

Copy link
Copy Markdown
Collaborator

Row

Documentation audit only. This PR does not move a lifecycle row.

Before starting

What changed

README News now includes the FP8 KV cache and prompt log probabilities. The feature overview also links the FP8 memory and kernel trade-offs to the usage guide.

Evidence

  • scripts/agent-preflight.sh passes. The documentation gates pass, but the full local preflight does not. This host lacks PyYAML, NumPy, and Ninja, uses a Python tarfile without the required filter API, and reports unrelated environment-sensitive baseline failures.
  • python3 scripts/check-readme-structure.py
  • python3 -m unittest tests.scripts.test_check_readme_structure tests.scripts.test_check_quickstart_recipes (51 tests)
  • python3 scripts/check-agent-record.py
  • python3 scripts/check-quickstart-recipes.py
  • python3 scripts/check-commit-trailers.py --range HEAD^..HEAD
  • python3 scripts/check-commit-style.py --range HEAD^..HEAD
  • git diff upstream/main...HEAD --check
  • Public docs changed only for user-facing facts already implemented and documented in focused guides.

Speed claims

  • This PR makes no speed claim. It states that the FP8 KV throughput trade-off is unmeasured.

Honest gaps

No GPU tests or measurements ran. This is a README-only alignment change. The full preflight limitations are listed under Evidence.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: Codex:GPT-5 [Codex]

The README News section predates the serving paths for FP8 KV cache storage and prompt log probabilities. Add both surfaces and link the FP8 memory trade-off to the focused usage guide.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: Codex:GPT-5 [Codex]
localai-bot added a commit that referenced this pull request Aug 25, 2026
…st an independent double reference (#699) (#1898)

W3 of the dots3-note row (#699): the full-attention layer. The first dots3 brick
that COMPUTES rather than refuses.

WHY THE REFERENCE IS THE ARGUMENT. Under spec §6.4 option B this row has no
oracle and will not get one at this stage -- the model fits on no host we own.
There is no token gate, so an in-test double-precision reference IS the
correctness claim. That only means anything if the reference is independent, so
it is a DIFFERENT ALGORITHM at every step: rotation by complex multiply with
angles recomputed per element rather than a cos/sin cache, softmax WITHOUT max
subtraction in `long double`, top-k by full stable sort rather than the shared
partial-selection port. Agreement 1.75e-16 to 3.21e-16; indexer selection
identical in all 24 slots.

A fresh reviewer tested that independence in the strong direction rather than by
reading: it mutated the SHARED helper the implementation routes through and the
reference does not -- dropped the ReLU in `deepseek_v4::DsaIndexerLogits` -- and
the gate went RED. The reference VALIDATES the shared helper instead of agreeing
with it, which is the inverse of the shared-helper failure mode this project has
recorded elsewhere. A second mutation replaced the sigmoid with a hard step that
preserves every structural property -- still in (0,1), still per-head,
`gated/attn_out` still equal to the traced gate -- and ONLY the two reference
comparisons fired.

THE FIVE MECHANISMS, each caught by mutation with its compiler exit recorded:
the two LoRA rescales, `k_rope_only_layernorm` (the RMSNorm DeepSeek lacks), the
headwise gate, the indexer's GPT-J pairing (§4 trap 2), and #1846's LEADING rope
slice. On the rescales the MISSING/MISPLACED distinction is earned rather than
asserted: moving the multiply before the norm is provably a no-op (6.03e-14) and
the gate detects that structurally, so only an absent rescale moves output.
#1846's tail slice moves 10 of 24 selection slots and 0.793, and gives a
DIFFERENT answer than the NeoX flip -- the two axes are independent defects, not
one wearing two costumes.

A MUTATION CAME BACK GREEN AND THE CODE CHANGED, TWICE. First, feeding the
indexer an unrescaled `q_c` alters nothing: `sum_h w·ReLU(dot)` scales uniformly
per row under a positive rescale, so the argmax cannot move. A source comment
claimed otherwise; it was corrected and the invariance pinned with a power-of-two
factor so the ratio is an exact equality. Second, review found
`indexer_k_norm_eps` was the one shared scalar no case pinned -- moved three
orders of magnitude, the gate stayed green. Both halves of the fix landed, and
re-running the mutation CORRECTED the author's own claim about it: the pin reds,
the reference comparison does not, because at this fixture the eps shift moves
the selection margin without moving the chosen keys. The commit message that
claimed either edit alone would catch it was wrong and says so.

ANCHOR HYGIENE, WHICH THIS PR IS PARTLY ABOUT. Spec §2.2's W0-era line numbers
were stale on byte-identical sources -- the headwise gate is `model.py:190-197`,
not `:246-262`, which is a constructor argument list. Nine further anchors were
re-derived at `06ecec7a84` and corrected. One of them, the MLA softmax scale, was
miscounted by BOTH the author (`:1027`, which is `max_position_embeddings`) and
the reviewer (`:1025`, which is blank); it is `:1026`, and the record says two
readers miscounted the same line in opposite directions. The author's own first
draft of the §2.2 fix cleared two items as "verified unchanged" without checking
them, and they were stale by the more dangerous margin -- W0's `:154` lands
exactly on the line the NEXT item names, so a reader checking it finds plausible
code and moves on. That near-miss is recorded rather than quietly fixed.
`check-symbol-anchors.py` cannot catch any of this; its own docstring says it
does not verify line citations, which is why #1139 exists.

NOT ON THE DECODE PATH, AND SAID SO. `Dots3NoteModel::ForwardDevice` still
refuses by name and the last gate case asserts that refusal through the real
factory. Three debts are recorded in `## Owed` rather than implied: the device
wiring and the `mla::ForwardMlaAttentionBlock` extension (both W4), and the bf16
memory format -- a double reference cannot see that upstream computes the gate's
sigmoid in fp32 and casts back. Review added a fourth: upstream quantizes the
indexer's q per 128-element group to fp8, which neither arm models, and M13's
argmax invariance does NOT cover it because fp8 rounding is not a positive
rescale.

Not extending the shared MLA seam was judged right for a stronger reason than
the author gave: `mla::ForwardMlaAttentionBlock` is a device seam over a paged
cache with a decode backend and no sparse mask, so a host, cache-free, whole
sequence `double` reference cannot route through it at all -- four of four
deltas it cannot represent. Duplication is contained to one new TU with no
existing header edited, and the deviation is recorded in porting-inventory 18.

Gate: `test_dots3_note_attn`, 12 cases / 199 assertions, CPU-only, no GPU lease.
Nineteen mutations, every compiler exit status recorded.

Operator gate rerun rather than taken on report: 0 behind main at merge, both
commit checkers RUN and pass (they skip on a behind branch, and a skip is not a
pass), `check-agent-record` and `check-model-checklist` OK, the target rebuilt
and 12/199 green, and one spot-mutation reproduced by hand -- flipping
`IndexerRopeOffset` to the tail slice builds clean and reddens 3 cases / 8
assertions, with the tree restored and md5 verified. CI on the reviewed head:
`build-test-cpu`, BOTH `sanitize-cpu` arms, `cuda-fat-build`, `build-newest-gcc`,
arm64 and vulkan all pass; the reviewer additionally ran an ASAN+UBSAN+LSAN build
of the target with zero diagnostics. Only `windows-msvc-*` fail, #584,
corroborated across #1896, #1899 and the docs-only #1895.

Row stays SPIKE.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
jefby pushed a commit to jefby/vllm.cpp that referenced this pull request Aug 25, 2026
…st an independent double reference (mudler#699) (mudler#1898)

W3 of the dots3-note row (mudler#699): the full-attention layer. The first dots3 brick
that COMPUTES rather than refuses.

WHY THE REFERENCE IS THE ARGUMENT. Under spec §6.4 option B this row has no
oracle and will not get one at this stage -- the model fits on no host we own.
There is no token gate, so an in-test double-precision reference IS the
correctness claim. That only means anything if the reference is independent, so
it is a DIFFERENT ALGORITHM at every step: rotation by complex multiply with
angles recomputed per element rather than a cos/sin cache, softmax WITHOUT max
subtraction in `long double`, top-k by full stable sort rather than the shared
partial-selection port. Agreement 1.75e-16 to 3.21e-16; indexer selection
identical in all 24 slots.

A fresh reviewer tested that independence in the strong direction rather than by
reading: it mutated the SHARED helper the implementation routes through and the
reference does not -- dropped the ReLU in `deepseek_v4::DsaIndexerLogits` -- and
the gate went RED. The reference VALIDATES the shared helper instead of agreeing
with it, which is the inverse of the shared-helper failure mode this project has
recorded elsewhere. A second mutation replaced the sigmoid with a hard step that
preserves every structural property -- still in (0,1), still per-head,
`gated/attn_out` still equal to the traced gate -- and ONLY the two reference
comparisons fired.

THE FIVE MECHANISMS, each caught by mutation with its compiler exit recorded:
the two LoRA rescales, `k_rope_only_layernorm` (the RMSNorm DeepSeek lacks), the
headwise gate, the indexer's GPT-J pairing (§4 trap 2), and mudler#1846's LEADING rope
slice. On the rescales the MISSING/MISPLACED distinction is earned rather than
asserted: moving the multiply before the norm is provably a no-op (6.03e-14) and
the gate detects that structurally, so only an absent rescale moves output.
mudler#1846's tail slice moves 10 of 24 selection slots and 0.793, and gives a
DIFFERENT answer than the NeoX flip -- the two axes are independent defects, not
one wearing two costumes.

A MUTATION CAME BACK GREEN AND THE CODE CHANGED, TWICE. First, feeding the
indexer an unrescaled `q_c` alters nothing: `sum_h w·ReLU(dot)` scales uniformly
per row under a positive rescale, so the argmax cannot move. A source comment
claimed otherwise; it was corrected and the invariance pinned with a power-of-two
factor so the ratio is an exact equality. Second, review found
`indexer_k_norm_eps` was the one shared scalar no case pinned -- moved three
orders of magnitude, the gate stayed green. Both halves of the fix landed, and
re-running the mutation CORRECTED the author's own claim about it: the pin reds,
the reference comparison does not, because at this fixture the eps shift moves
the selection margin without moving the chosen keys. The commit message that
claimed either edit alone would catch it was wrong and says so.

ANCHOR HYGIENE, WHICH THIS PR IS PARTLY ABOUT. Spec §2.2's W0-era line numbers
were stale on byte-identical sources -- the headwise gate is `model.py:190-197`,
not `:246-262`, which is a constructor argument list. Nine further anchors were
re-derived at `06ecec7a84` and corrected. One of them, the MLA softmax scale, was
miscounted by BOTH the author (`:1027`, which is `max_position_embeddings`) and
the reviewer (`:1025`, which is blank); it is `:1026`, and the record says two
readers miscounted the same line in opposite directions. The author's own first
draft of the §2.2 fix cleared two items as "verified unchanged" without checking
them, and they were stale by the more dangerous margin -- W0's `:154` lands
exactly on the line the NEXT item names, so a reader checking it finds plausible
code and moves on. That near-miss is recorded rather than quietly fixed.
`check-symbol-anchors.py` cannot catch any of this; its own docstring says it
does not verify line citations, which is why mudler#1139 exists.

NOT ON THE DECODE PATH, AND SAID SO. `Dots3NoteModel::ForwardDevice` still
refuses by name and the last gate case asserts that refusal through the real
factory. Three debts are recorded in `## Owed` rather than implied: the device
wiring and the `mla::ForwardMlaAttentionBlock` extension (both W4), and the bf16
memory format -- a double reference cannot see that upstream computes the gate's
sigmoid in fp32 and casts back. Review added a fourth: upstream quantizes the
indexer's q per 128-element group to fp8, which neither arm models, and M13's
argmax invariance does NOT cover it because fp8 rounding is not a positive
rescale.

Not extending the shared MLA seam was judged right for a stronger reason than
the author gave: `mla::ForwardMlaAttentionBlock` is a device seam over a paged
cache with a decode backend and no sparse mask, so a host, cache-free, whole
sequence `double` reference cannot route through it at all -- four of four
deltas it cannot represent. Duplication is contained to one new TU with no
existing header edited, and the deviation is recorded in porting-inventory 18.

Gate: `test_dots3_note_attn`, 12 cases / 199 assertions, CPU-only, no GPU lease.
Nineteen mutations, every compiler exit status recorded.

Operator gate rerun rather than taken on report: 0 behind main at merge, both
commit checkers RUN and pass (they skip on a behind branch, and a skip is not a
pass), `check-agent-record` and `check-model-checklist` OK, the target rebuilt
and 12/199 green, and one spot-mutation reproduced by hand -- flipping
`IndexerRopeOffset` to the tail slice builds clean and reddens 3 cases / 8
assertions, with the tree restored and md5 verified. CI on the reviewed head:
`build-test-cpu`, BOTH `sanitize-cpu` arms, `cuda-fat-build`, `build-newest-gcc`,
arm64 and vulkan all pass; the reviewer additionally ran an ASAN+UBSAN+LSAN build
of the target with zero diagnostics. Only `windows-msvc-*` fail, mudler#584,
corroborated across mudler#1896, mudler#1899 and the docs-only mudler#1895.

Row stays SPIKE.

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
@localai-org-maint-bot

Copy link
Copy Markdown
Collaborator Author

Superseded by the current-main documentation audit in #1956, which carries this PR's source-verified additions and corrects the registry count.

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