preflight: read llama-server's sha from its version line, not by position - #376
Conversation
…tion b11081's `llama-server --version` logs "llama_server: initializing ..." before the version line. The container route kept only `head -2` of the output, so it still saw the sha, but with one line of margin left: one more preamble line in a future bump would cut the version off. Both routes also took the first `commit <sha>` anywhere in the output. The sha now comes from the `version:` line wherever it falls, and the container route reads the whole banner. Three tests cover this: a preamble before the version line, a stray `commit <sha>` elsewhere in the output, and the container route with three preamble lines. The last two fail on the old code. Found by the Metal host (#375). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CUDA: the container route, liveRan this branch's The b11081 case, with the preamble, I can't run yet — this host's gate-4 image of the fold is building (~3 h). I'll post it here when it lands; that run doubles as the start of CUDA's gate 5. On coverage: I'd written a test that runs the route's real shell pipeline against a fake Nothing else from CUDA — this looks right to me.
|
… line Gate 5 runs from this tree, and b11081's llama-server prints an "initializing ..." preamble before its version line, which the positional read took for the version. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CUDA: the b11081 case, live — closing what I owed hereThe gate-4 image of the v0.34.4 fold ( Gate 5 run 1 on that image read it through the container route, with the harness at the fold head The FAIL is the intended one: the profile still pins b10969. What matters is that
|
The v0.34.4 fold's gfx1151 profile. No rocm7 profile admitted a version after 0.34.1, so preflight on this host could not resolve the fold at all. - Ladders: measure_ladder.py on the fold image (maxusai-ollama:0.34.3-dynres-5-g29ae523-rocm7-gfx1151, Dockerfile.rocm on Ubuntu 7.2.4). Its output is pasted whole, and every ladder equals rocm-0-34-1-dynres's. - Pin: llama_cpp_build = 161755f29 (b11081), read through the container route of #376. - Patchset: 001 002 004 005 801 802 903. There is no 906, retired at b10969. - version_pattern: covers the fold's pre-tag and post-tag stamps. First run: VERDICT PASS, PASS=20 SKIP=12. That includes the pinned budgets and think_format on all three arches through the single pass. The run record is committed next to the profile (force-added past the runs/ ignore, as the other cited run records are). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This PR changes how
payload_pinreads the llama.cpp sha: it takes theversion:line, wherever that line falls. I checked the container route live on ROCm (gfx1151), on b10969 and on b11081. I did not run the native route (Metal) or the CUDA container route live. They use the same parse, and unit tests cover it.What
probes.llama_cpp_buildtakes the payload's sha fromllama-server --version. With b11081, that command prints a log line before the version line (found by the Metal host on #375):The old code had two problems with this output:
head -2of the output. It still sees the sha today, on line 2 of 2. One more preamble line in a later llama.cpp bump would cut the version off.payload_pinwould then fail as "could not read the sha", which looks like a broken probe and not like a payload change.commit <sha>anywhere in the output. If any other line printed a sha, the probe would report that sha as the payload's.The change
version:line only, wherever that line falls. Both banner formats still parse:version: 1 (<sha>)from b10353, andversion: … (build N, commit <sha>)from b10434 and later.Verification
python3 test_verdicts.py: 196 tests pass (6 skipped), 3 of them new.test_native_reads_past_a_log_line_before_the_version: a regression guard.test_a_commit_elsewhere_in_the_output_is_not_the_payloads: fails on the old code.test_container_route_reads_the_whole_banner: fails on the old code.maxusai-ollama:0.34.3-dynres-2-gdd19f12-rocm7-gfx1151(b11081):161755f29.maxusai-ollama:0.34.2-dynres-24-gef19770-rocm7-gfx1151(b10969):391fac164.To verify on another platform
docs/maxusai/vision-suite/preflight/against a b11081 install. It must print161755f29.🤖 Generated with Claude Code