Skip to content

handover: mark the B2 items already measured, correct two assumptions about the workstation - #498

Merged
bernardladenthin merged 1 commit into
mainfrom
claude/handover-pr-a-corrections
Oct 9, 2026
Merged

bernardladenthin merged 1 commit into
mainfrom
claude/handover-pr-a-corrections

Conversation

@bernardladenthin

Copy link
Copy Markdown
Owner

docs/handover/local-agent-pr-a.md asked the local agent to discover seven things about the Windows
CPU variants. Four were already measured on that same workstation on 2026-10-09, so each item
now says MEASURED or OPEN with the numbers.

Verifying a MEASURED line is still worth the minute it costs — a different result there is a
finding — but the time belongs to the open ones.

Already measured, now stated

Item Result
which clang plain clang 23.1.3, all 14 variants, 0 errors
the directory 18 DLLs, nothing left in Release/, jllama-files.txt naming 15
verify-native-deps.py 18 libraries, 0 violations

Two assumptions that do not hold on this machine

Both would have cost the local agent time:

  • the prompt said "LLVM 20.1.8 from PATH" — PATH carries 23.1.3, and Visual Studio ships
    no clang here at all
    (neither 2022\Community nor 18\BuildTools has VC\Tools\Llvm\x64). So
    the "newer versus older clang" choice it set up does not exist; the 20.1.8 of the earlier
    comparison was unpacked separately. 23.1.3 is the stricter one, and patches/0017 is what makes
    quants.c compile there.
  • it asked "whether jllama-extras.txt exists" — it is absent locally by design. CMake never
    writes it; merge-native-artifacts.sh derives it in CI from everything jllama-files.txt does not
    name, which on Windows is exactly ggml.dll + ggml-base.dll (no $ORIGIN there, so they must be
    pre-loaded by full path). Asking neutrally invites a false defect report, so the item now says what
    the absence means.

Two additions the measurements make useful

The Java suite is marked as the item that decides whether the variant path works at all, with
the reason it is open: the measuring session's mvn compile dies in an Error Prone / NullAway crash
on args/package-info.java — unrelated to the native work, and disabling annotation processing then
breaks Lombok, so there was no quick bypass. CLAUDE.md's warning is quoted at it: a successful load
proves little, since in the earlier Windows measurement every crash came after a load that
reported the right device count.

The variant-selection step gets a caveat before the agent spends time on it: CLAUDE.md records
that ggml logs module decisions at GGML_LOG_DEBUG only, so -lv 4 may not name the chosen module;
listing the DLLs the JVM actually has mapped is the fallback. And the throughput item gets the
static-build figures (pp512 391.6, tg128 82.3 t/s, clang with GGML_OPENMP=OFF) as the line a
variant build should land near — so the number means something when it arrives.

Why this branch

Committed off main rather than onto claude/hopeful-pascal-9jlbqb: that branch carries an
unrelated open PR (#497, BoringSSL), and this file already lives on main, so the correction reaches
the session branch on its next merge without mixing concerns into someone else's review.

Verified

  • check-shared-files.py clean (the file is not shared), buildcheck suite 113 green
  • docs/handover/** is already covered in REUSE.toml, so no licence header is needed
  • no control characters introduced; the protocol section is untouched

🤖 Generated with Claude Code

https://claude.ai/code/session_01E2h8gXyyE5UeimkL9vQv9G

…ions about this machine

The B2 block asked the local agent to discover seven things about the Windows CPU variants. Four of
them were measured on that same workstation on 2026-10-09, so each item now says MEASURED or OPEN
with the numbers, and the header says so too. Verifying a MEASURED line is still worth the minute
it costs -- a different result there is a finding -- but the time belongs to the open ones.

Measured, now stated: plain clang 23.1.3 builds all 14 variants with 0 errors; the directory holds
18 DLLs with nothing left in a Release/ subdirectory and jllama-files.txt naming 15 of them;
verify-native-deps.py reports 18 libraries and 0 violations.

Two assumptions in the draft do not hold on this machine, and both would have cost the local agent
time: PATH carries clang 23.1.3, not 20.1.8, and Visual Studio ships no clang here at all (neither
2022\Community nor 18\BuildTools has VC\Tools\Llvm\x64) -- so the "newer versus older clang" choice
the prompt set up does not exist; the 20.1.8 of the earlier comparison was unpacked separately.
And jllama-extras.txt is ABSENT locally by design: CMake never writes it, merge-native-artifacts.sh
derives it in CI from everything jllama-files.txt does not name. Asking "whether it exists" invites
a false defect report, so the item now says what its absence means.

Two things added that the measurements make useful rather than obvious. The Java suite is marked as
the item that decides whether the variant path works at all, with the reason it is open: the
measuring session's `mvn compile` dies in an Error Prone / NullAway crash on args/package-info.java,
unrelated to the native work, and disabling annotation processing then breaks Lombok. And the
variant-selection step carries a caveat before the agent spends time on it -- CLAUDE.md records
that ggml logs module decisions at GGML_LOG_DEBUG only, so `-lv 4` may not name the chosen module;
listing the DLLs the JVM has mapped is the fallback. The throughput item gets the static-build
figures (pp512 391.6, tg128 82.3 t/s with clang and GGML_OPENMP=OFF) as the line a variant build
should land near, so the number means something when it arrives.

Committed on a branch off main rather than onto claude/hopeful-pascal-9jlbqb: that branch carries
an unrelated open PR (#497, BoringSSL), and this file already lives on main, so it reaches the
session branch on its next merge without mixing concerns into someone else's review.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E2h8gXyyE5UeimkL9vQv9G
@sonarqubecloud

sonarqubecloud Bot commented Oct 9, 2026

Copy link
Copy Markdown

@bernardladenthin
bernardladenthin merged commit aaf9509 into main Oct 9, 2026
17 of 81 checks passed
@bernardladenthin
bernardladenthin deleted the claude/handover-pr-a-corrections branch October 9, 2026 22:07

This branch had an error being deployed

1 failed deployment
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