llama.cpp b11320, shared plugin versions in the parent, agent on Maven Central - #474
Merged
Merged
Conversation
No formatting change under the new formatter (spotless:apply over llama/ and llama-atmosphere-agent/ left every source untouched). logback is test scope here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
llama-kotlin and llama-langchain4j left maven-resources-plugin unpinned, and llama-kotlin maven-compiler-plugin, llama-langchain4j maven-jar-plugin too, so both modules -- each published to Central -- built with the defaults of whatever Maven ran them: resources 3.3.1 locally and 3.4.0 in CI, compiler 3.13.0 locally and 3.15.0 in CI, jar 3.4.1, against 3.5.0/3.16.0/3.5.1 in llama. Every plugin version more than one module uses (compiler, jar, resources, surefire, source, javadoc, gpg, central-publishing) now sits once in the root pom's pluginManagement. It replaces the copies in llama's pluginManagement, the two side modules' version properties and the literals in the parent's release profile, which named each of these versions two or three times. Plugins only llama uses stay pinned there. Checked by diffing help:effective-pom before and after, with no profile, with release and with release,natives: llama and llama-platform are unchanged, and the side modules differ only in the plugin versions above. Reactor install, llama-langchain4j verify and llama-kotlin test are green, and the release profile still loads central-publishing as a build extension. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
The standalone agent pom left both unpinned, so it built with the defaults of whatever Maven ran it (resources 3.3.1 and jar 3.4.1 here). Now 3.5.0 and 3.5.1, the reactor's versions, as properties next to its other plugin pins. The effective pom, with and without -P assembly, changes only in these two versions; -P assembly verify is green (277 tests, 63 model-gated skips). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
net.ladenthin:llama-atmosphere-agent goes to Maven Central as a thin jar
(with Main-Class), sources and javadoc, signed, from a step of its own in
publish-snapshot and publish-release right after the reactor deploy, which has
just installed the core and its natives jars it resolves against. So
`jbang net.ladenthin:llama-atmosphere-agent:<version>` starts it with no
checkout and no download by hand. The GitHub-release jar without the core is
unchanged.
- The natives are a plain runtime dependency on llama-platform, no longer a
profile: the published pom must carry them whatever a consumer's tool does
with profiles. CI, which installs only the classes and now the llama-platform
pom, passes -Dllama.natives=none as before; that activates a profile whose
dependencyManagement excludes everything llama-platform names.
- The agent's version is the reactor's (5.2.0-SNAPSHOT), llama.version
defaults to ${project.version}, and check-natives.py fails when the agent
pom and the reactor disagree, since versions:set does not reach it.
- developers, scm and distributionManagement for Central; a release profile
mirroring the parent's. Javadoc found a {@link} to a test class in
ApprovalMode, now {@code}.
Checked: -P release verify builds the jar, sources and javadoc jars; in an
empty local repository holding only the core classes and the llama-platform pom
the agent builds and tests green with -Dllama.natives=none (277 tests, 63
model-gated skips); a consumer project and JBang 0.132.1 resolving only the
agent coordinates get the core, the seven CPU/Metal natives jars and one SLF4J
provider, and the agent starts; the release-asset jar still carries no core and
no natives.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
bernardladenthin
had a problem deploying
to
maven-central
October 1, 2026 16:50 — with
GitHub Actions
Failure
bernardladenthin
had a problem deploying
to
maven-central
October 1, 2026 16:50 — with
GitHub Actions
Failure
bernardladenthin
had a problem deploying
to
startgate
October 1, 2026 16:50 — with
GitHub Actions
Error
|
Code review complete. Strong PR with thorough llama.cpp b11320 upgrade, solid plugin consolidation, and proper agent publication mechanism. Key observations: (1) Agent pom still pins plugin versions—consider simplifying with parent inheritance; (2) Agent version sync requires discipline—ensure release checklist is clear; (3) Consider adding dependencyConvergence enforcer to agent pom. Security is solid, test coverage is comprehensive (590 C++ tests, 1831 Java tests, 277 agent tests). Recommendation: Ready to merge. |
|
This was referenced Oct 1, 2026
This branch had an error being deployed
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.



Summary
GIT_TAG, the README badge, CLAUDE.md andLlamaCppVersion, and adds two history rows: the changes, and the patch apply/drop-check. All 9 patches still apply at every step, and each drop-check shows the defect is still present upstream. Notable upstream changes:common_batch_clear/common_batch_add/common_batch_from_llama_batchand thellama_batchoverload ofcommon_speculative_process. The project uses none of them.n_ubatch == n_ctxand warns otherwise.LlamaTrainerbehaves like upstreamfinetune.<pluginManagement>now pins central-publishing, compiler, gpg, jar, javadoc, resources, source and surefire. Before this, a module that pinned nothing built with whatever its Maven version defaulted to (compiler 3.13.0 locally, 3.15.0 in CI). The duplicates inllama/,llama-langchain4j/,llama-kotlin/and the root release profile are removed. The standalone agent pom pins resources and jar itself.llama-atmosphere-agenton Maven Central:llama-platformas a runtime dependency, sojbang net.ladenthin:llama-atmosphere-agent:<v>starts it with the CPU natives of every desktop platform.releaseprofile (sources, javadoc, GPG, central-publishing).publish-snapshotandpublish-release.check-natives.pynow fails when the agent's version differs from the reactor's.llama-platformpom (-Dllama.natives=none).Test plan
NativeLibraryLoadSmokeTest,RpcServerTest,LlamaLoggerTestgreenrelease/release,natives) showsllamaandllama-platformunchanged, and the side modules differ only in plugin versions; reactor install and side-module tests green-P release verifyproduces jar, sources and javadoc; empty-repo CI simulation with-Dllama.natives=none(277 tests green); a consumer pom and JBang 0.132.1 resolve the agent plus llama, the 7 CPU/Metal natives jars and a single slf4j-simple, and the agent startscheck-natives(falsified),check-shared-files,check-run-scripts,check-release-gate, REUSERelated issues / PRs
Part of the 2026-10-01 cross-repo dependency sweep (BitcoinAddressFinder, srcmorph, streambuffer, BroomCabinet, workspace).
Checklist
🤖 Generated with Claude Code
https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Generated by Claude Code