Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .agents/claims/CLAIM-MODEL-GLM-MOE-DSA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# CLAIM-MODEL-GLM-MOE-DSA

| Claim | Row IDs | Agent | Worktree / remote dir | Branch | Owned scope | State | Last update |
|---|---|---|---|---|---|---|---|
| `CLAIM-MODEL-GLM-MOE-DSA` | `MODEL-TEXT-deepseek-v2-glm-moe-dsa-for-causal-lm` (`SPIKE`) | Claude Code (opus-5), helper role — fresh implementer writing the committed spec before any code | isolated worktree `/home/mudler/_git/vllm.cpp-glmdsa-spec`, CPU only; no build, no GPU lease, no download, no pin advance. The artifact census was taken by HTTP RANGE request against the published GGUF shard headers (~9.6 MB), and `/mnt/nas_share` was read but not written | `row/MODEL-TEXT-GLM-MOE-DSA-SPEC`, base `60a6dd97ba1a6163af1f830dd1ae345929346d66`, issue [#2214](https://github.com/mudler/vllm.cpp/issues/2214) | Owns ONLY: `## 3` of [`specs/glm-dsa-latest-deepseek.md`](../specs/glm-dsa-latest-deepseek.md); the `MODEL-TEXT-deepseek-v2-glm-moe-dsa-for-causal-lm` row's State, Owner and evidence cells plus its checklist mark and the two rollup counts it moves; this claim file; one appended `issue-index.md` row. EXCLUDES every other row this spike covers, which stays owned by `CLAIM-GLM-DSA-LATEST-DEEPSEEK`; `MODEL-MM-GLM53-FLASH` and [`glm5-next-flash.md`](../specs/glm5-next-flash.md), a different architecture under a different claim; `QUANT-GGUF-IQ4_XS`, which owns the one missing encoding W1 consumes; `ENG-EXPERT-STREAM`, `ENG-EXPERT-STREAM-DEVICE`, `ENG-HYBRID-PLACEMENT` and `ENG-RESIDENCY-CONFIG`, whose work this row consumes and does not take; and `KV-DSV4-MULTICACHE` ([#1925](https://github.com/mudler/vllm.cpp/issues/1925)), which owns the indexer KV side cache W5 needs | `SPIKE` | 2026-08-29 — spec committed first, records only. No product code, no build, no GPU, no artifact staged. Next action: W1 (`IQ4_XS`, owned by `QUANT-GGUF-IQ4_XS`) and W2 (config + registration + `glm-dsa` GGUF arm), both CPU and both independent |
50 changes: 50 additions & 0 deletions .agents/environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -484,6 +484,56 @@ container is REUSED between jobs**, so a repair inside a staging branch is
skipped on the next run and reports `nvcc already in place`. Write an
environment repair unconditionally, and assert its postcondition.

### A staged CUDA toolkit links only if its SONAMEs were rebuilt, measured 2026-08-28

The section above records that CIFS stores no symlink and that a copied toolkit
therefore loses its library links, with CMake reporting
`Could NOT find CUDA` as the symptom. **There is a second, quieter symptom of the
same cause, and it costs a whole build rather than eleven seconds.**

A staging branch that rebuilds `libcudart.so` and `libcublasLt.so` -- the
DEVELOPMENT links -- satisfies CMake completely. `Found CUDAToolkit` succeeds,
every CUDA translation unit compiles, and the job dies ~21 minutes later linking
the first consumer:

```
/usr/bin/ld: libvllm.so.0.0.3: undefined reference to `cudaStreamSynchronize@libcudart.so.13'
/usr/bin/ld: libvllm.so.0.0.3: undefined reference to `cublasLtMatmul@libcublasLt.so.13'
... 38 in total, every one @libcudart.so.13 or @libcublasLt.so.13
```

`libcudart.so.13` is the **SONAME**, a THIRD name distinct from both
`libcudart.so` and `libcudart.so.13.3.29`, and it is the name the linker resolves
versioned undefined symbols against. In a real install it is a symlink, so CIFS
does not carry it and a staging branch must recreate it explicitly.

**The trap inside the trap is the parameter expansion.** `${f#*.so.}` strips the
SHORTEST prefix, so for `libcudart.so.13.3.29` it yields `13.3.29` and not `13`:

```sh
b=${f%%.so.*}; ln -sf "$f" "$b.so.${f#*.so.}" # links the file to ITSELF
```

That line looks like it makes the version link and makes nothing. Take the major
with `v=${f#*.so.}; ${v%%.*}`, or better, let `ldconfig -n <libdir>` read each
object's own `DT_SONAME` so the name cannot disagree with what the linker asks
for. `ldconfig -n` does NOT create the `.so` development link, so both are needed.

**Assert the postcondition, and assert the one the failure depends on.** The
harness that hit this checked `[ -f .../libcublasLt.so ]`, which is precisely the
link its own reconstruction created correctly -- so the precondition passed on a
toolkit that could not be linked against. Check that `<stem>.so` resolves AND
that `<stem>.so.<MAJOR>` exists, for `libcudart` and `libcublasLt` both. That
check costs a second and it discriminates: run against the CIFS source tree it
FAILS, which is the correct answer.

**This is latent on any box that already has a toolkit.** The staging branch is a
fallback. `dgx:gpu0` carried `/usr/local/cuda` 13.0.88 for every earlier lease and
the fallback was never taken; the box went `unhealthy … worker_lost` for 3h20m on
2026-08-28 and came back without it, which exercised the branch for the first
time. `rc` job `1ad519b1-4e75-41d7-9386-9932076390f1`, exit 34,
[#2220](https://github.com/mudler/vllm.cpp/issues/2220).

### Two packages a DFlash2 oracle lease needs, and the lease variable that exists, measured 2026-08-22

Measured on `dgx:gpu0` across leases `11cee02a`, `52ac5673` and `a03f34e4`
Expand Down
7 changes: 7 additions & 0 deletions .agents/issue-index.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .agents/kernel-matrix.md

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions .agents/model-matrix.md

Large diffs are not rendered by default.

Loading