Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
6e4da48
spec(ENG-RELEASE-WINDOWS): bind empty-argv repair (#512)
mudler Aug 12, 2026
1f520cc
spec(ENG-RELEASE-WINDOWS): bind Vulkan env repair (#514)
mudler Aug 12, 2026
9f8f03b
fix(release): accept empty Windows argv (#512)
mudler Aug 12, 2026
0a70da1
fix(tests): make fused tier environment portable (#514)
mudler Aug 12, 2026
472f77d
test(release): bind Windows repair proofs (#512 #514)
mudler Aug 12, 2026
a4d61bb
merge: integrate current main into Windows release repairs
mudler Aug 12, 2026
1731f9f
spec(release): record hosted argv contract failure (#525)
mudler Aug 12, 2026
732a1a2
fix(release): record Windows argv in PowerShell (#525)
mudler Aug 12, 2026
6f5b98a
merge: integrate current main after Windows contract repair (#525)
mudler Aug 12, 2026
469ed2e
spec(cpu): bind paired proc stat samples (#530)
mudler Aug 12, 2026
41c00ac
fix(gate): pair proc stat samples (#530)
mudler Aug 12, 2026
d47d840
merge: integrate current main after CPU gate repair (#530)
mudler Aug 12, 2026
74cc0c4
spec(windows): bind socket reset repair (#537)
mudler Aug 12, 2026
3b83dfe
spec(windows): bind shadow warning repair (#540)
mudler Aug 12, 2026
17f78a0
fix(windows): drain accepted sockets (#537)
mudler Aug 12, 2026
439d35b
fix(tests): name unbound CPU oracle locals (#540)
mudler Aug 12, 2026
a0fb338
fix(tests): parse unbound oracle declarators (#540)
mudler Aug 12, 2026
f52b547
merge: integrate current main after Windows release repairs (#537 #540)
mudler Aug 12, 2026
e2e913c
merge: integrate main into ENG-RELEASE-WINDOWS
mudler Aug 13, 2026
32d301a
docs(release): record Windows teardown falsification (#537)
mudler Aug 13, 2026
5d15082
docs(release): specify portable PowerShell contract (#599)
mudler Aug 13, 2026
9119c9b
test(windows): probe OpenAI teardown fast-fail (#537)
mudler Aug 13, 2026
31bca7a
test(windows): bind teardown probe metadata (#537)
mudler Aug 13, 2026
d79fa28
fix(windows): make failure contract portable (#599)
mudler Aug 13, 2026
41d740f
fix(windows): preserve child process contract (#599)
mudler Aug 13, 2026
244afc0
test(windows): verify child PID externally (#599)
mudler Aug 13, 2026
f06c77f
merge: integrate current main for Windows
mudler Aug 13, 2026
fac27ce
spec(windows): bind adaptive prefix bisect (#537)
mudler Aug 13, 2026
182e416
test(windows): bisect OpenAI fast-fail (#537)
mudler Aug 13, 2026
7a07347
test(windows): close prefix probe gaps (#537)
mudler Aug 13, 2026
684f5a0
merge: integrate current main for Windows
mudler Aug 13, 2026
ba39785
spec(release): track LTX2 Windows portability regression
mudler Aug 13, 2026
c70a192
fix(windows): use portable LTX2 pi constants (#645)
mudler Aug 13, 2026
bf91fb5
spec(release): track VideoEngine Windows regression
mudler Aug 13, 2026
90e1d77
fix(windows): port VideoEngine paths (#648)
mudler Aug 13, 2026
8c10ebe
merge: integrate oracle policy from main
mudler Aug 13, 2026
89d6105
spec(release): narrow isolated OpenAI crash witness (#537)
mudler Aug 13, 2026
77ba6fa
test(release): expose isolated OpenAI crash phase (#537)
mudler Aug 13, 2026
0d84ff8
merge: integrate current main for Windows witness
mudler Aug 13, 2026
5ee2c50
spec(release): split Windows construction witness (#537)
mudler Aug 13, 2026
d39c43d
test(release): split Windows construction witness (#537)
mudler Aug 13, 2026
f6b1313
docs(release): specify Windows constructor attribution (#537)
mudler Aug 13, 2026
5206741
merge: integrate current main for Windows attribution
mudler Aug 13, 2026
ee09fb3
test(release): attribute Windows constructor fast-fail (#537)
mudler Aug 13, 2026
d915c30
test(release): strengthen Windows constructor witness contract (#537)
mudler Aug 13, 2026
643019e
merge: integrate current main for Windows attribution
mudler Aug 13, 2026
a38af63
merge: integrate latest main for Windows attribution
mudler Aug 13, 2026
e0d5cc9
merge: integrate current main before Windows attribution
mudler Aug 13, 2026
5268337
merge: integrate Music3 scope before Windows attribution
mudler Aug 13, 2026
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
6 changes: 6 additions & 0 deletions .agents/roadmap_v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,12 @@ issue is not yet placed. Keyed record: update in place, never append.
| [#517](https://github.com/mudler/vllm.cpp/issues/517) | `MODEL-TEXT-nemotron-h-nemotron-hfor-causal-lm` | Run Nemotron-3.5-Lightning-30B-A3B-NVFP4 e2e: NemotronH hybrid (23 Mamba2 / 6 GQA / 23 non-gated relu2 MoE), first MIXED_PRECISION checkpoint | feature |
| [#512](https://github.com/mudler/vllm.cpp/issues/512) | `ENG-RELEASE-WINDOWS` | Windows release runner rejects empty process arguments, so windows-msvc-cpu fails on EVERY pr independently of #514 | bug |
| [#514](https://github.com/mudler/vllm.cpp/issues/514) | `ENG-RELEASE-WINDOWS` | `tests/vt/test_backend_cross_device.cpp` uses POSIX `setenv`/`unsetenv`, so both windows-msvc jobs fail on EVERY pr while `main` stays green (they are skipped on push) | bug |
| [#525](https://github.com/mudler/vllm.cpp/issues/525) | `ENG-RELEASE-WINDOWS` | Windows release contract recorder misreports non-empty argv | bug |
| [#537](https://github.com/mudler/vllm.cpp/issues/537) | `ENG-RELEASE-WINDOWS` | Windows OpenAI socket smoke fast-fails instead of reporting a reset response | bug |
| [#540](https://github.com/mudler/vllm.cpp/issues/540) | `ENG-RELEASE-WINDOWS` | Windows Vulkan strict build rejects shadowed KV-cache test locals | bug |
| [#599](https://github.com/mudler/vllm.cpp/issues/599) | `ENG-RELEASE-WINDOWS` | Windows release contract failure fixture is not portable under PowerShell on Linux | bug |
| [#645](https://github.com/mudler/vllm.cpp/issues/645) | `ENG-RELEASE-WINDOWS` | LTX2 sources reintroduce non-portable `M_PI` and break the Windows release gate | bug |
| [#648](https://github.com/mudler/vllm.cpp/issues/648) | `ENG-RELEASE-WINDOWS` | `VideoEngine` uses unguarded POSIX `stat` in the native Windows build | bug |
| [#515](https://github.com/mudler/vllm.cpp/issues/515) | `ENG-RECORD-CONFLICT-SURFACES` | check-doc-checkpoint treats every root `CMakeLists.txt` edit as a usage change, so adding a source file demands a `docs/USAGE.md` edit with nothing true to say | bug |
| [#547](https://github.com/mudler/vllm.cpp/issues/547) | — | GB10 reports `UnifiedMemory()` true, so `ReferenceTierEligible(kCUDA)` runs the CPU host kernel over `cudaMalloc` pointers; it needs `DeviceMemoryIsHostAddressable()` | bug |
| [#569](https://github.com/mudler/vllm.cpp/issues/569) | `MODEL-TEXT-nemotron-h-nemotron-hfor-causal-lm` | The Nemotron revision pin was existence-only: a substituted checkpoint still resolved, and W6's token gate cannot see that | bug |
Expand Down
48 changes: 47 additions & 1 deletion .agents/specs/cpu-llamacpp-floor-x86-2026-08-11.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ matrix](../backend-matrix.md)) · `QUANT-GGUF-COMPUTE`
([quantization matrix](../quantization-matrix.md)) ·
`ROAD-V1-D1` punch-list item 13, CPU half
([roadmap-v1-completion](roadmap-v1-completion.md)) ·
**issue:** [#433](https://github.com/mudler/vllm.cpp/issues/433) ·
**issues:** [#433](https://github.com/mudler/vllm.cpp/issues/433),
[#530](https://github.com/mudler/vllm.cpp/issues/530) ·
**claim:** `CLAIM-CPU-X86-FLOOR-1` · **base:** `31a2b493`.

## Scope
Expand Down Expand Up @@ -289,3 +290,48 @@ presented G4's 3.38x/8.20x/2.29x as the live position. Both now point at
**Out of scope and stated as such.** The Metal/MLX half of `ROAD-V1-D1`
punch-list item 13 needs an Apple M4, which this host is not, and was not
touched.

### Follow-up repair contract: issue #530

The exact release-repair candidate
`6f5b98afd4019d6dca492e8ee1edc135163b9d5e` passed the full operator gate,
then exposed a nondeterministic defect while the required handoff gate was
being chained to its push. The smoke harness sets `BUSY_WINDOW=0` and
`QUIET_BUSY=100`; `busy_pct` separately opens `/proc/stat` for `stat_busy` and
`stat_total` at each side of that zero-length interval. On a contended host the
counter boundaries disagree, producing impossible readings including 110%.
`test_a_contended_leg_is_discarded_and_never_summarised` then exits 4 for no
quiet window instead of reaching its intended foreign-work discard and exit 2.
The same immutable tree passed when scheduling happened not to expose the split
snapshot, and failed twice when chained to the push.

Repair each sample, not the threshold. One read of the aggregate `cpu` line
must derive both busy and total counters, and both `busy_pct` and `run_leg` must
consume paired samples. Preserve which fields count as busy, the fresh-window
policy, builder detection, `QUIET_BUSY`, `FOREIGN_MAX`, discard semantics,
evidence format, and every accepted benchmark value. Do not clamp the result,
raise a ceiling, add a retry to the unit test, or make contention disappear.

RED-first coverage must reject the current split `stat_busy`/`stat_total`
reads and require both call sites to use one paired snapshot. Mutation must
restore a split sample independently in `busy_pct` and `run_leg`; each must
make the focused contract red. Focused green is the complete
`test_cpu_x86_llamacpp_floor.py` suite under current host contention. The fresh
reviewer mutates both call sites, the operator runs the full preflight, and an
unchanged exact SHA must pass that gate immediately before the plain push.

The #530 implementation replaces the separate `stat_busy` and `stat_total`
readers with one `stat_sample` reader. A single `awk` invocation derives the
unchanged busy-field sum and total-field sum from the same aggregate `cpu` line,
and both `busy_pct` and `run_leg` read paired before/after samples. No threshold,
clamp, retry, discard rule, evidence format, or benchmark value changed.

RED-first structural coverage rejected the split reader functions and call
sites. The pre-edit full preflight also reproduced the operational failure:
`test_a_contended_leg_is_discarded_and_never_summarised` observed impossible
`busy=110%` with `BUSY_WINDOW=0` and returned 4 instead of its intended 2.
After the repair, the complete focused suite passed 11/11 under the same host
contention. Independently splitting the initial snapshot in `busy_pct` and in
`run_leg` made the focused structural contract fail for the mutated consumer;
the script was restored byte-for-byte after both mutations. The full unstaged
repository preflight then passed, including the complete CPU floor suite.
Loading
Loading