Skip to content

android-llmservice: feature-roadmap TODO + llama.cpp b9941 + Kotlin build fix & installable APK#312

Merged
bernardladenthin merged 3 commits into
mainfrom
claude/android-llmservice-feature-todo
Jul 9, 2026
Merged

android-llmservice: feature-roadmap TODO + llama.cpp b9941 + Kotlin build fix & installable APK#312
bernardladenthin merged 3 commits into
mainfrom
claude/android-llmservice-feature-todo

Conversation

@bernardladenthin

Copy link
Copy Markdown
Owner

Summary

  • android-llmservice/TODO.md — a feature roadmap mapping the "Local AI / Offline LLM App" design brief onto what the llama-android AAR + llama-kotlin façade make possible: per-feature purpose, t-shirt effort, status, and notes. Flags the two gating decisions (the OpenAI/Ollama API server is blocked on Android — needs an in-app Ktor/NanoHTTPD layer over the JNI core; and model download needs the INTERNET permission, a change from the current zero-network posture) plus a phased sequencing.
  • Upgrade llama.cpp b9940b9941. Single-commit upstream range touching only ggml/src/ggml-cuda/mmvq.cu (a CUDA quantized mat-vec kernel fix) — confirmed via the b9940...b9941 compare diff. No patch-target file (common/arg.*, tools/server/*, tools/tts/tts.cpp) changed, so all eight patches (00010008) apply unchanged; no project-facing API change. Updated GIT_TAG + LLAMA_TAG (CMakeLists), README badge, CLAUDE.md pinned-version + prose refs, and the two history rows.
  • Fix the build-android-llmservice Kotlin compile failure that surfaced on main after fix(android-llmservice): migrate Kotlin jvmTarget to compilerOptions DSL; Gradle 8.14.4; allowBackup=false #311: Languages.kt had values-*/ inside a KDoc, whose */ closed the comment early (25× "Expecting a top level declaration"). Reworded to a backticked values-*.
  • Publish an installable release .apk. The job now also runs assembleRelease and uploads app-release.apk as the android-llmservice-apk artifact — downloadable from each run's Artifacts (independent of any release) and sideloadable via adb install (debug-signed unless the upload-key secrets are set). The existing .aab is Play-only / not directly installable.

Test plan

  • Affected tests pass locally — not runnable here (no Android SDK). This PR's CI (build-android-llmservice) validates the Kotlin build fix, the release-APK build, and the on-device emulator UI test.
  • CI is green on this branch — to be confirmed by this PR run.
  • Docs updated — TODO.md added; CLAUDE.md/README version refs bumped; app README documents the new APK artifact; history file appended.

Related issues / PRs

Refs #310 (introduced android-llmservice) and #311 (Gradle-config build fix). This PR fixes the Kotlin compile error that only surfaced once #311's config fix let the build reach compileReleaseKotlin on main.

Checklist

  • I have read CONTRIBUTING.md and CODE_OF_CONDUCT.md
  • My commits follow Conventional Commits
  • No security-sensitive changes

🤖 Generated with Claude Code

https://claude.ai/code/session_01HTS5FpMtBLJENTGoRUrp5m


Generated by Claude Code

claude added 3 commits July 9, 2026 20:37
… effort/feasibility)

Map the 'Local AI / Offline LLM App' design brief onto what the llama-android AAR +
llama-kotlin facade make possible today: per-feature purpose, t-shirt effort, status
(done/partial/todo/blocked/out-of-scope), and notes. Flags the two gating decisions —
(1) the OpenAI/Ollama API server is blocked on Android (needs an in-app Ktor/NanoHTTPD
layer over the JNI core) and (2) model download needs the INTERNET permission (a change
from the current zero-network posture) — plus a phased sequencing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HTS5FpMtBLJENTGoRUrp5m
Single-commit upstream range touching only ggml/src/ggml-cuda/mmvq.cu (a CUDA
quantized mat-vec kernel fix) — no patch-target file (common/arg.*, tools/server/*)
and no OuteTTS generator anchor (tools/tts/tts.cpp) changed, confirmed via the
b9940...b9941 compare diff, so all eight patches (0001-0008) apply unchanged. No
project-facing API change. Updated GIT_TAG + LLAMA_TAG (CMakeLists), README badge,
CLAUDE.md pinned-version + prose references, and appended the two history rows.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HTS5FpMtBLJENTGoRUrp5m
…lish installable release APK

CI build-android-llmservice got past the Gradle-config fix and failed at
:app:compileReleaseKotlin: Languages.kt had \"values-*/\" inside a KDoc block, whose
\"*/\" closed the comment early so the rest parsed as code (\"Expecting a top level
declaration\"). Reworded to \"values-*\" (backticked) — no stray */. (Checked all .kt: the
other */ are single-line KDocs or the \"*/*\" MIME string, both fine.)

Also answer \"where do I download the APK\": the job only uploaded the .aab (Play-only, not
installable). Now also assembleRelease -> upload app-release.apk as the android-llmservice-apk
artifact (sideloadable via adb install; debug-signed unless the upload-key secrets are set),
downloadable from each run independent of any release. README updated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HTS5FpMtBLJENTGoRUrp5m
@bernardladenthin bernardladenthin merged commit cd32b20 into main Jul 9, 2026
10 of 14 checks passed
@bernardladenthin bernardladenthin deleted the claude/android-llmservice-feature-todo branch July 9, 2026 20:54
@sonarqubecloud

sonarqubecloud Bot commented Jul 9, 2026

Copy link
Copy Markdown

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.

2 participants