record(BENCH-QWEN38-27B-FOUR-WAY): the SGLang blocker was stale and the oracle had already run (#979) - #982
Merged
Merged
Conversation
… moved FOLLOWING_AGENTS_PROTOCOL Scopes the four-way Qwen3.8-27B campaign on GB10 and reconciles the records it had to read to be scoped. No measurement is taken here, and no product code changes. ## The blocker was stale `backend-matrix.md:260` carried `BACKEND-GATE-CUDA-SGLANG` as `BLOCKED` on `SERVE-ASYNC-LLM`, reason "no binding run; HTTP TTFT/ITL cannot be measured honestly yet". Four independent lines say otherwise, and none of them is a state field quoting another state field: - The production server streams incrementally. `serving_completion.h:9-11` names the live pull-based `SseStream` over `AsyncLLM` as the production path and the buffered `LLMEngine` constructor as a test seam; `api_server.cpp:971-981` drives `set_chunked_content_provider` off `SseStream::next`. - The harness ENFORCES it rather than assuming it. `run_serve_low.py:296-310` refuses a probe with no token-bearing event, refuses a wrong chunk count, refuses `first_chunk_s >= total_s`, and refuses a spread below a floor. - It was demonstrated on hardware. The 2026-07-28 floor run measured our c16 mean TTFT at 2980 ms against a mean ITL of 154.4 ms over 128 tokens, so first byte preceded completion by about twenty seconds. A buffered server cannot produce that shape. - `engine-matrix.md:207` and `async-metrics.md:196` already said so. Row moves `BLOCKED` to `PARTIAL`, not `DONE`. Named residuals: c1/c2/c4 (SGLang c1 ran ~13.3 s/it), the in-series vLLM arm, 35B, the `SGLANG-ORACLE-CORRECT` token-ID cross-check, paired nsys traces, and every Qwen3.8-27B point. ## The oracle said it had never run, after it had run `.agents/oracles/sglang.md` recorded `gateable = no` with the words "no SGLang run has been recorded on this project's hardware". `sglang-matrix.md:162` and `docs/STATUS.md:180` record the opposite from 2026-07-28: the v0.5.15-cu130 arm64 image pulled and ran the 27B-NVFP4 gate model on GB10 sm_121a, three reps at c8 and c16, 80x128 tokens and zero errors on both arms. `docs/BENCHMARKS.md` still said "Never ran". Moves to `gateable = yes`, discharging the SGLang third of the debts #647 holds open. That run predates #931 and is NOT voided by it: the keepalive needs 15 s of silence and the worst observed p99 TTFT was 7220 ms. Asked rather than assumed, because assuming the opposite is the failure #931 documents. ## No single quantization is common to all four engines The campaign's central design problem, settled from source before any GPU time: - vLLM at `555967922` has NO in-tree GGUF. `6635279d8` (vllm#39612) deleted the loader, the quant config and the CUDA kernels and moved them to an unpinned out-of-tree `vllm-gguf-plugin`. `model_loader/__init__.py:33-48` has no `gguf` load format. So vLLM vs llama.cpp is NOT COMPARABLE. - SGLang's `qwen3_5` GGUF failure is NOT the two-line alias table it looks like. The alias is real (`loader.py:2129-2142`, exactly `cohere` and `qwen3_moe`), but adding it leaves three more blockers, and one of them is silent: `conv1d` is a `ColumnParallelLinear` (`qwen3_5.py:195-204`) that would be handed a `GGUFLinearMethod` and be wrong rather than refused. - llama.cpp is the only comparator that runs the Q4_K_M arm. Two of six pairs are therefore recorded not-comparable, which is the deliverable rather than a shortfall of it. ## The llama.cpp CUDA arm had no owner `BACKEND-GATE-CPU-LLAMACPP` is the CPU floor and `-CUDA-LLAMACPP-LEGACY` is Pascal/Volta/Turing, where vLLM has no entry at all. A GB10 GGUF comparison fell between them, which is how `bench-27b-five-way.md` came to list a llama.cpp CUDA arm with nothing tracking it. Adds `BACKEND-GATE-CUDA-LLAMACPP`, `INVENTORIED`, no run, with the BACKEND ratchet bumped 82 to 83 and a mutation case keyed to its own row per the precedent the two Tenstorrent bumps set. That case also pins the trailing pipe in the row match, because the new ID is a strict prefix of the LEGACY one and a loose match would delete two rows while claiming one. ## 38.28 tok/s is a DRAFTED number, and not reachable at our pin SGLang published 38.28 tok/s decode on DGX Spark for this model. Their own wording is "our NVFP4 plus DSpark", so it is speculative decoding, and our binding 10.756 at c1 is raw. The spec refuses that division and requires every arm to declare drafted or raw. Unverified and labelled as such: the drafter size, whether TTFT is excluded, and the claimed 16.6-46.7 reproduction spread. This tree contains zero occurrences of the string, which is why it is written down with its provenance attached instead of carried forward as a target. `python/sglang/srt/speculative/` at `f63458b5` has DFlash, EAGLE, ngram and frozen-KV MTP and nothing named `dspark`, so their configuration postdates our pin and reaching it means advancing the pin deliberately. ## Gates `scripts/agent-preflight.sh` green, 71 gates, and `--staged` green, against `origin/main` at `598226e962ddd4a83292e3d9264bbea9f41603d2`, which is also this branch's base. `check-agent-record` reports BACKEND=83. `tests/scripts/test_agent_record.py::CudaLlamacppRowIsCounted` 4/4, including the removal mutation that proves the ratchet is load-bearing for the new row. Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
FOLLOWING_AGENTS_PROTOCOL Merged so the preflight commit-trailer block executes rather than silently skipping, which it does whenever origin/main is not an ancestor of HEAD. origin/main moved from 598226e to 75abd8c while this branch was being written, picking up two ENG-EXPERT-STREAM commits that touch only .agents/specs/expert-streaming.md. No overlap with anything here. Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
…ator FOLLOWING_AGENTS_PROTOCOL The spec cited `docs/BENCHMARKS.md:97` for "10.756 against vLLM's 11.250", but :97 is the vLLM row alone and 10.756 lives on :96. A reader following the anchor would have found one of the two numbers the sentence compares. Widened to :96-97. Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
…e pins A fresh review re-checked the source claims this spike asserts and two of them were load-bearing for a recorded verdict. Each is re-derived here against the pinned tree rather than taken from either the author or the reviewer. conv1d is NOT silently quantized, and the polarity was inverted. Its own cited range refutes the claim: qwen3_5.py:199 passes quant_config=None, so layers/linear.py:176-179 assigns UnquantizedLinearMethod() and never calls quant_config.get_quant_method (the only call site is the untaken else at :180-181), ColumnParallelLinear forwards it unchanged at :331-333, and nothing re-wraps the module. No GGUFLinearMethod is ever attached, so it would fail loudly. What IS silent is a property of the load path and is proven rather than swapped in: loader.py:2149-2153 writes the map key with no None check so every unresolvable name collapses onto one literal None.weight, weight_utils.py:1280 and :1321 skip an unmapped tensor with no else and no counter, and qwen3_5.py:1359-1412 never compares loaded_params against params_dict. WHICH parameters fail to resolve is left an OPEN QUESTION with the experiment named, because it depends on the gguf and transformers packages and we pin neither. llama.cpp DOES have NVFP4 at 237ad9b96, so the section-2 cell that said no was false and the two NOT COMPARABLE cells that leaned on it are re-derived from scratch. GGML_TYPE_NVFP4 = 40 (ggml.h:430), the loader ftype, the type traits, the CUDA MMQ instance and the ModelOpt-to-GGUF repacking converter are all UPSTREAM, present in ggml-org master too; only the two sm_121a prefill GEMMs, including a 493-line W4A4 kernel written for GB10, are fork-local. Both cells stay NOT COMPARABLE, on the CONTAINER: llama.cpp reads only GGUF, vLLM has no GGUF reader at all, so no artifact both can open exists for any quantization. The three-way NVFP4 question is answered honestly rather than dodged. The converter REPACKS rather than re-quantizes (conversion/base.py:654-676), so an equivalence proof is a layout proof, and it owes two named assertions: no e4m3 scale byte with its sign bit set (:656,668), and the GDN head permutation at conversion/qwen.py:378-386 shown value-preserving. It is blocked on #821 regardless. The DSpark absence claim overreached what the oracle file correctly scopes to python/sglang/srt/speculative/. git grep -il dspark f63458b5 returns docs_new/index.mdx, tracked at the pin, linking the 2026-07-06 blog post, three weeks BEFORE the 2026-07-27 pin, so "that code postdates the pin" is contradicted by the pin's own documents. SpeculativeAlgorithm.register (spec_info.py:60) over spec_registry.py's CustomSpecAlgo also means "not in speculative/" is not "not reachable". The operational conclusion survives on a stated argument: a drafted arm needs a pinnable configuration, which is a pin advance or a plugin oracle record. Our own measured head-to-head was missing, which left 38.28 against 10.756 with drafted-versus-raw as the only objection, the exact reading the risk table exists to prevent. Section 3 now carries the 2026-07-28 measurement on byte-identical NVFP4 weights: ours 2.21x at c16 and 1.44x at c8 on output throughput, 6x to 12x on TTFT, with TPOT and ITL a reproduced gap in SGLang's favour, and its narrower scope stated in the same paragraph. Also: 38.28 gets a retrievable citation (handle, post id, derived date, plus the NVIDIA forum thread read on 2026-08-16, whose own headline is 38.0 not 38.28); the gateability debt is a third and not a half, with the three named at issue-index.md:193; a new section 2.6 says the NVFP4 column presumes a767244d is NVFP4 on the strength of its name, which this vendor has already broken once (BENCHMARKS.md:50), and names the manifest that discharges it; and the P2 exact-equivalence residual is added to the two lists that omitted it. .agents/issue-index.md:266 and commit 17187f1's body carry the withdrawn wording and CANNOT be repaired. The index is append-only by policy and check-agent-record.py:1439 additionally refuses a second row for an issue already listed, because under merge=union a duplicate number is what two branches appending the same issue look like. A landed commit body is immutable. This spec is therefore the correction of record for both, and says so under ## Now so a reader of that row lands on it. No measurement was taken and no GPU was touched. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
…ot landed `dadb3d396` recorded `.agents/issue-index.md:266` as impossible to correct, on the grounds that the index is append-only and a landed row is never edited. That body carried the mistaken immutability claim, and it inverted the premise the whole round then acted on. The row has not landed. `git merge-base --is-ancestor 17187f1 origin/main` is false, `origin/main` carries 265 index lines and zero `#979` rows, and no other local or remote branch carries one. The row exists only on this branch, introduced by this branch's own unmerged commit `17187f134`. The append-only rule's own rationale settles it. AGENTS.md and `scripts/check-issue-index-append-only.py:2-16` give the same reason: under `merge=union` an EDITED line is duplicated rather than merged. That hazard needs the line to exist at the merge base, and this one does not. The checker measures exactly that, diffing the merge base against the head rather than reading one tree, and it passes on the in-place edit. `scripts/check-agent-record.py` passes with it. Its duplicate-row refusal at `:1437-1441` is real and was described correctly, and it is the wrong instrument here, because this corrects the first row before it lands rather than appending a second. So row 266 is edited in place and both withdrawn claims are gone. `conv1d` is no longer recorded as silently wrong: `qwen3_5.py:199` passes `quant_config=None`, `linear.py:176-179` assigns `UnquantizedLinearMethod`, and `GGUFConfig.get_quant_method` is never reached, so it fails loudly. The silence is a property of the load path instead, which the row now says. And "DSpark does not exist at our SGLang pin" is replaced by the scoped claim that no `dspark` speculator ships in `python/sglang/srt/speculative/` at `f63458b5`, since `docs_new/index.mdx:86,107,108,127` links the 2026-07-06 blog at that pin. The same over-broad wording had also reached `.agents/oracles/sglang.md`, which has not landed either and is corrected in place with it. Commit bodies stay the one carrier that cannot be repaired. Under `squash_merge_commit_message = PR_BODY` no individual commit body reaches `main` on a squash in any case, so the pull request body is the correction of record for `17187f134` and `dadb3d396`. Three anchor repairs ride along, each verified against the tree rather than against the previous body. `docs/BENCHMARKS.md:97-98` replaces `:96-97` for the c1 pair: `:96` is the table separator, `:97` is our row carrying 10.756, `:98` is the vLLM 0.25.0 row carrying 11.250, identical on this branch and `origin/main`. The previous body inverted both halves. The 15-second SSE keepalive is now anchored historically as `serving_utils.h:40 @ 638eba2~1`, because at HEAD `:40-41` records the default as off and a reader following the old anchor concluded the argument was wrong. And SGLang's `gguf.py` `get_quant_method` spans `:105-125` with its `return None` at `:125`, not `:106-124`. Two measurement corrections finish it. vLLM's `LoadFormats` `Literal` runs `:33-49` and the loader dict `:50-66`, off by one at the seam. And the DSpark blog precedes the pinned tree by three days rather than three weeks, because `f63458b5` is dated 2026-07-09 while `pinned_on = 2026-07-27` is the recording date. Section 3 also stops understating our own position. It called the TPOT and ITL deficit a reproduced open gap "not explained away", while `.agents/sglang-matrix.md:210-224` records a same-day follow-up, `CLAIM-DECODE-LATENCY-EXPLORE`, that confirmed the cause is batch composition rather than per-token kernel cost and named the knob. The reconciliation states the attribution and the knob without overstating either: the shipped default stays throughput-oriented, so at the configuration that table measured the deficit is real and stands, and what a latency-oriented default costs elsewhere is unmeasured. Records and spec only. Nothing is measured and no host was touched. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [claude-code]
FOLLOWING_AGENTS_PROTOCOL Clean merge, no conflicted paths. `main` gained the VT-FP8-SHARED-SEAM refactor (#940, #973), which touches product code this branch does not: this row carries records and one spec only. No keyed record needed a scoped re-apply. Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
localai-bot
pushed a commit
that referenced
this pull request
Aug 16, 2026
…RES.md by key `origin/main` advanced to `e770a392f` (#982) while this row was in review. `docs/FEATURES.md` is a KEYED RECORD and both sides edited it, so the automatic three-way merge is not accepted on its own word. AGENTS.md asks for the target version plus the scoped edit reapplied, with unrelated keys proven byte-for-byte equal, and that is what was checked: **189 unrelated keys compare byte-for-byte equal**, this row's new `LTX-2.5 DFR base + generated keyframe slots` row is present and is not a duplicate of anything on the target, and the LTX-2.5 DiT row differs from the target by exactly the six characters this row owns — `GENkf/` removed from `GENkf/DiffVAE/ref refused`, because generated keyframes are now served. The verifier carries its own floor: a comparison of fewer than 50 unrelated keys fails, because a parser that matched almost nothing would otherwise report a pass over an empty set. `scripts/check-agent-record.py` also moved on the target. The full gate is re-run on the merged tree rather than inherited, because a clean merge is not a building merge and because a changed checker is a changed gate. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [claude-code]
localai-bot
pushed a commit
that referenced
this pull request
Aug 16, 2026
…# Now` The `## Now` line said "landed on `main`", which it is not: it is open as #991, measured on both gate hosts, awaiting a fresh review and an operator merge. A `## Now` that anticipates its own landing is exactly the record that cannot be trusted afterwards -- the whole point of the line is that a reader learns the position without asking anyone. It also names the only red lanes and why they are not this row's: `windows-msvc-cpu`/`windows-msvc-vulkan` fail at the identical step on #988 and #982, which share no code with this change, so the arm is matched rather than assumed; the cause is #968 under #584's PR-only lane and a fix is already open as #983. Issue #960. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [claude-code]
localai-bot
pushed a commit
that referenced
this pull request
Aug 16, 2026
Pinned SHA, per #841. main moved four commits while this row was measuring and re-landing: #993, #982, #988 and #992. One of them is directly relevant -- #988 split #810's A2-Q into A2-Q1 and A2-Q2, and A2-Q1 is the unit this row exists to unblock -- and none of them touch the fp8 quant registration, the CUDA source list, or either checker this branch edits. `.agents/issue-index.md` is the only keyed record both sides wrote. Verified afterwards that origin/main's copy is a strict PREFIX of the merged file and that only this branch's own two rows follow it, which is what append-only means and what a clean-but-wrong interleave would break. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [claude-code]
localai-bot
pushed a commit
that referenced
this pull request
Aug 16, 2026
…nostic "Known-red" is not a measurement, and this file was carrying it as one. The two `windows-msvc-*` jobs now carry the diagnostic that failed them: `warning C4244: '=': conversion from 'const double' to 'float'`, raised inside MSVC's own `<vector>` while compiling `src/vllm/multimodal/ltx2_video.cpp`, promoted to `error C2220` by `/WX`. That is #968, its fix is already open as #983, and `main` carries no baseline for those jobs because #584 makes them PR-only. The matched arm is recorded too: #988 and #982 fail at the identical step and share no file with this row. Also records the post-merge full gate: 491/491 rather than 489/489, because `3ce1cf7c7` adds two suites. Quoting the old number after a merge that changed the denominator would be a stale measurement presented as a current one. Issue #960. FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [claude-code]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
FOLLOWING_AGENTS_PROTOCOL
Scopes the four-way benchmark campaign (us, vLLM, llama.cpp, SGLang) for
Qwen/Qwen3.8-27Bon GB10. Issue#979.
Records and a spec only. No product code, no measurement taken here.
This is a reconciliation, not a new row
The campaign already had owners.
competitive-benchmarks.mddefinesBENCH-CUDA-VLLM,BENCH-CUDA-SGLANG,BENCH-CPU-LLAMAandBENCH-VK-LLAMAwith a canonical
serve-lowworkload, andcuda-sglang-low-concurrency.mdowns three backend rows. Opening a parallel row would have competed with its own
record, so this makes the existing records true and scopes the new subject onto
them.
The recorded blocker was stale
BACKEND-GATE-CUDA-SGLANGwasBLOCKEDonSERVE-ASYNC-LLM, reason "HTTPTTFT/ITL cannot be measured honestly yet". That reason no longer holds, on four
independent lines:
serving_completion.h:9-11names the live pull-basedSseStreamoverAsyncLLMas the production path, with the bufferedLLMEngineconstructor atest seam.
api_server.cpp:971-981drivesset_chunked_content_provideroffSseStream::next, one chunk at a time.run_serve_low.py:296-310enforces it, refusing a probe with notoken-bearing event, a wrong chunk count,
first_chunk_s >= total_s, or asub-floor spread.
against mean ITL 154.4 ms over 128 tokens. First byte preceded completion by
about 20 s, which a buffered server cannot do.
Moved to
PARTIAL, notDONE. Residuals named: c1/c2/c4, the in-series vLLMarm, 35B,
SGLANG-ORACLE-CORRECT, paired traces, P2 exact-equivalenceclassification, and every Qwen3.8-27B point.
The oracle said
gateable = nofor two and a half weeks after it had runsglang-matrix.md:162anddocs/STATUS.md:180recordCLAIM-SGLANG-PERF-BENCHon 2026-07-28: the v0.5.15-cu130 arm64 image pulled and ran 27B-NVFP4 on GB10
sm_121a, CUDA graphs captured, 3 reps at c8/c16, 80x128 tokens, 0 errors. The
oracle file still said "no SGLang run has been recorded on this project's
hardware". Two files in one tree contradicting each other is the failure the
oracle record exists to prevent. Now
gateable = yes, discharging the SGLangthird of #647.
That run is not voided by #931: the keepalive needed 15 s of per-request
collector silence, and the worst recorded p99 TTFT was 7220 ms. The argument is
made on silence duration alone, so it does not depend on whether
sglang.bench_servingsharesvllm bench serve's strip-before-parse weakness.It is independently closed by the recorded exact 80x128 output tokens with 0
errors, since a mid-stream comment frame causes silent truncation that a full
token count excludes.
Two of six engine pairs are not comparable, on the container
vLLM at pin
555967922has no in-tree GGUF at all:6635279d8(vllm#39612) migrated it to an out-of-tree plugin, leaving
LoadFormatswith noggufentry, noggufinquantization/__init__.py, andsetup.py:1300pointing atvllm-gguf-plugin. llama.cpp reads only GGUF.So no artifact both can open exists at any quantization, and both
vLLM vs llama.cppandSGLang vs llama.cppare closed on that ground.The deliverable is therefore a matrix with a stated common denominator per pair,
never one headline ratio, and no pair is compared across quantizations.
Three source claims were wrong and are withdrawn here
Each was caught in review and re-derived at the pins:
GGML_TYPE_NVFP4 = 40, the loader ftype, typetraits, the CUDA MMQ instance and the ModelOpt-to-GGUF converter are
upstream; only the two sm_121a prefill GEMMs are fork-local. The earlier
"llama.cpp has no NVFP4" reason for both not-comparable verdicts was false,
which is why they are re-derived on the container above.
conv1dfails loudly, not silently.qwen3_5.py:199passesquant_config=None, solinear.py:176-179assignsUnquantizedLinearMethodand
GGUFConfig.get_quant_methodis never reached. The withdrawn wordingclaimed the opposite polarity. What replaces it is an assertion about an
absent guard, which is directly checkable:
loader.py:2149-2153writes thekey with no
Nonecheck,weight_utils.py:1280,1321skip an unmapped tensorwith no
elseand no counter,qwen3_5.py:1359-1412never comparesloaded_paramsagainstparams_dict, andloader.py:2184-2186discards thereturn value. Which parameters fail to resolve stays an open question with the
experiment named.
docs_new/index.mdxlinks the2026-07-06 blog, three days before the pinned commit
f63458b5of 2026-07-09,and SGLang ships a plugin registration API for out-of-tree speculators. The
true claim is scoped to
python/sglang/srt/speculative/, and the conclusionthat a drafted arm needs a deliberate pin advance now rests on a stated
argument rather than on a false absence.
The vendor claim, quarantined, and our own measurement beside it
The retrievable source is the NVIDIA forum thread, which reports "~34 tok/s
real-world, 38.0 average on eval-style workloads, 46.7 peak". 38.28 does
not appear in it. The X post returns HTTP 402, so its text comes from a search
index and its date is derived from the status snowflake. Both limits are stated.
Drafter size, TTFT exclusion, batch size and the spread are labelled UNVERIFIED.
Set against it, our own measured head-to-head on byte-identical
Qwen3.6-27B-NVFP4weights, same box, same corpus, both arms raw: SGLang outputthroughput 40.8 tok/s against ours 90.3 at c16, a 2.21x win, and 1.44x
at c8, with TTFT 6 to 12x lower. TPOT and ITL remain an open gap, attributed to
batch composition rather than per-token kernel cost, with the shipped default
unchanged so the deficit stands at the measured configuration.
Without that beside it a reader met "SGLang published 38.0" and "ours is 10.756"
with drafted-versus-raw as the only objection, and could leave believing SGLang
is simply faster.
A missing row, filed
BACKEND-GATE-CUDA-LLAMACPP,INVENTORIED. No existing row covers llama.cpp ona current CUDA card: the CPU,
-LEGACYPascal/Volta/Turing, Metal, Vulkan andthe eleven
BACKEND-GGML-*breadth rows are all distinct, andbench-27b-five-way.md:12records the orphan. Ratchet 82 to 83 following the twoTenstorrent precedents, with a mutation case keyed to its own row and a guard
that the new ID is a strict prefix of
-LEGACY. Removing the row yields 3 FAILplus 1 ERROR, reproduced in review.
A correction made before it could become permanent
An earlier commit on this branch recorded
.agents/issue-index.md:266asuncorrectable, on the grounds that the index is append-only and a landed row is
never edited. The row had not landed.
17187f134is not an ancestor oforigin/main, whose index carries zero#979rows. The append-only rule's ownrationale is that a union merge duplicates an edited line, which requires the row
to exist at the merge base. It did not, and no other branch carried it.
Corrected in place, with both index gates green afterwards. Had this merged
first,
mainwould have permanently asserted two claims this same branch provesfalse, in the round whose purpose was retiring false recorded facts, and only
then would the window have actually closed.
Gates
scripts/agent-preflight.sh: 76 ok, 0 FAIL, exit 0, all five block headingsexecuted. The
Commit trailers vs origin/mainblock genuinely ran rather thansilently skipping, which it does when
origin/mainis not an ancestor of HEADwhile still printing "All gates green.".
check-agent-record.py:ENGINE=156 MODEL=377 QUANT=82 KERNEL=51 BACKEND=83.check-issue-index-append-only.py: OK after the in-place edit.Owed
checkpoint, including the separate
clipprojector.the paired interleaved protocol on a binary carrying Our OpenAI server fails requests under concurrency where vLLM does not (1/6 at c1, 12/48 at c8 on Qwen3.8-27B), and the failures silently corrupt every throughput ratio taken against it #931's fix.
conversion/base.py:654-676repacks rather than re-quantizes. Two assertionsare owed: no e4m3 scale byte with its sign bit set, and the GDN head
permutation shown value-preserving.
are not used as a denominator until it is.
agent-preflight.shreports "All gates green." while silently skipping itstrailer block on a branch behind
main. Found during Our OpenAI server fails requests under concurrency where vLLM does not (1/6 at c1, 12/48 at c8 on Qwen3.8-27B), and the failures silently corrupt every throughput ratio taken against it #931, unfiled because anissue with no owning row reds the unowned ratchet. It needs its own row.
Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]