Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 12 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,18 @@ window without a tagged 0.24.x release on either side.
`MongoDB-mdbr-leaf-ir`) so the shell smoke harness and the JVM smoke
tier point at the same artifacts. The `smoke-test.sh` script does not
yet consume the flag — follow-up.
- **Catalog goes BOM-only.** Every `skainet-*` alias in
`gradle/libs.versions.toml` is now coordinate-only (no `version.ref`);
versions are supplied by the `sk.ainet:skainet-bom` platform
constraint re-exported by `:llm-bom`. Every consumer module gains
`implementation(project.dependencies.platform(project(":llm-bom")))`
in each source set that pulls a `skainet-*` artifact. Bumping the
engine is still a one-line change at the top of the catalog (the
`[versions] skainet = "X.Y.Z"` line drives the BOM platform
reference in `llm-bom/build.gradle.kts`), but every internal build
now exercises the BOM — so a BOM-coverage regression fails locally
instead of leaking into a published artifact. Mirrors the
`llm-test/llm-test-java` reference pattern that landed in 0.23.4.

### Deferred

Expand All @@ -116,12 +128,6 @@ changes land in follow-up PRs.
`Require(BF16)` for GGUF today (no KEEP_NATIVE GGUF backing yet), so
this is parked until the engine grows that path. *(SafeTensors BF16
KEEP_NATIVE shipped in this release — see Added.)*
- **BOM-only versionless aliases in `libs.versions.toml`.** Currently
every `skainet-*` alias still uses `version.ref = "skainet"` because
the single-source bump is the lower-risk path during the 0.25.0
drop. Stripping `version.ref` and adding `platform(project(":llm-bom"))`
to each consumer's `commonMain.dependencies` is a separate
catalog-only PR.
- **A `smoke-reference` GitHub Actions job.** The Gradle filter is in
place; the CI workflow that triggers it (with self-hosted model cache)
lands separately.
Expand Down
30 changes: 19 additions & 11 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -78,17 +78,25 @@ kotest-assertions-core = { module = "io.kotest:kotest-assertions-core", version.
kotest-property = { module = "io.kotest:kotest-property", version.ref = "kotest" }

# SKaiNET
skainet-lang-core = { module = "sk.ainet.core:skainet-lang-core", version.ref = "skainet" }
skainet-lang-models = { module = "sk.ainet.core:skainet-lang-models", version.ref = "skainet" }
skainet-lang-ksp-annotations = { module = "sk.ainet.core:skainet-lang-ksp-annotations", version.ref = "skainet" }
skainet-compile-core = { module = "sk.ainet.core:skainet-compile-core", version.ref = "skainet" }
skainet-compile-dag = { module = "sk.ainet.core:skainet-compile-dag", version.ref = "skainet" }
skainet-compile-opt = { module = "sk.ainet.core:skainet-compile-opt", version.ref = "skainet" }
skainet-backend-cpu = { module = "sk.ainet.core:skainet-backend-cpu", version.ref = "skainet" }
skainet-backend-nativeCpu = { module = "sk.ainet.core:skainet-backend-native-cpu", version.ref = "skainet" }
skainet-io-core = { module = "sk.ainet.core:skainet-io-core", version.ref = "skainet" }
skainet-io-gguf = { module = "sk.ainet.core:skainet-io-gguf", version.ref = "skainet" }
skainet-io-safetensors = { module = "sk.ainet.core:skainet-io-safetensors", version.ref = "skainet" }
#
# Coordinate-only — no `version.ref`. Versions are dictated by the
# `sk.ainet:skainet-bom` platform constraint re-exported by `:llm-bom`,
# which downstream consumers and every internal module pull in via
# `implementation(platform(project(":llm-bom")))`. The single
# `skainet = "X.Y.Z"` version above is the source-of-truth for the
# BOM platform itself (`llm-bom/build.gradle.kts:20`), so a bump is
# still a one-line change at the top of this file.
skainet-lang-core = { module = "sk.ainet.core:skainet-lang-core" }
skainet-lang-models = { module = "sk.ainet.core:skainet-lang-models" }
skainet-lang-ksp-annotations = { module = "sk.ainet.core:skainet-lang-ksp-annotations" }
skainet-compile-core = { module = "sk.ainet.core:skainet-compile-core" }
skainet-compile-dag = { module = "sk.ainet.core:skainet-compile-dag" }
skainet-compile-opt = { module = "sk.ainet.core:skainet-compile-opt" }
skainet-backend-cpu = { module = "sk.ainet.core:skainet-backend-cpu" }
skainet-backend-nativeCpu = { module = "sk.ainet.core:skainet-backend-native-cpu" }
skainet-io-core = { module = "sk.ainet.core:skainet-io-core" }
skainet-io-gguf = { module = "sk.ainet.core:skainet-io-gguf" }
skainet-io-safetensors = { module = "sk.ainet.core:skainet-io-safetensors" }

[plugins]
androidLibrary = { id = "com.android.library", version.ref = "agp" }
Expand Down
1 change: 1 addition & 0 deletions llm-agent/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ kotlin {

sourceSets {
commonMain.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.skainet.lang.core)
implementation(project(":llm-core"))
implementation(libs.kotlinx.serialization.json)
Expand Down
2 changes: 2 additions & 0 deletions llm-apps/kbert-cli/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ application {
}

dependencies {
implementation(platform(project(":llm-bom")))

implementation(project(":llm-inference:bert"))
implementation(libs.skainet.lang.core)
implementation(libs.skainet.io.core)
Expand Down
2 changes: 2 additions & 0 deletions llm-apps/kllama-java-sample/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ application {
sourceSets["main"].java.srcDir("src/main/java")

dependencies {
implementation(platform(project(":llm-bom")))

implementation(project(":llm-runtime:kllama"))
implementation(project(":llm-agent"))
implementation(project(":llm-inference:llama"))
Expand Down
2 changes: 2 additions & 0 deletions llm-apps/skainet-cli/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ application {
}

dependencies {
implementation(platform(project(":llm-bom")))

// Core
implementation(project(":llm-core"))
implementation(project(":llm-agent"))
Expand Down
6 changes: 6 additions & 0 deletions llm-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ kotlin {

sourceSets {
commonMain.dependencies {
// BOM-only: every skainet-* alias is versionless; this platform
// constraint (re-exporting sk.ainet:skainet-bom) supplies the
// versions. Bumping the engine is then a one-line change at the
// top of `gradle/libs.versions.toml`.
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.skainet.lang.core)
implementation(libs.skainet.compile.dag)
implementation(libs.skainet.compile.opt)
Expand All @@ -60,6 +65,7 @@ kotlin {

val jvmTest by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.junit)
implementation(libs.skainet.io.gguf)
Expand Down
3 changes: 3 additions & 0 deletions llm-inference/apertus/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ kotlin {

sourceSets {
commonMain.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.skainet.lang.core)
implementation(libs.skainet.io.core)
implementation(libs.skainet.io.gguf)
Expand All @@ -54,12 +55,14 @@ kotlin {
}

commonTest.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.skainet.backend.cpu)
}

val jvmTest by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.junit)
implementation(libs.kotlinx.coroutines.test)
Expand Down
3 changes: 3 additions & 0 deletions llm-inference/bert/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ kotlin {

sourceSets {
commonMain.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
api(project(":llm-core"))
implementation(libs.skainet.lang.core)
implementation(libs.skainet.io.safetensors)
Expand All @@ -51,11 +52,13 @@ kotlin {
}

commonTest.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
}

val jvmTest by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.kotlinx.coroutines.test)
implementation(libs.skainet.backend.cpu)
Expand Down
3 changes: 3 additions & 0 deletions llm-inference/gemma/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ kotlin {

sourceSets {
commonMain.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.skainet.lang.core)
implementation(libs.skainet.io.core)
implementation(libs.skainet.io.gguf)
Expand All @@ -54,12 +55,14 @@ kotlin {
}

commonTest.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.skainet.backend.cpu)
}

val jvmTest by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.junit)
implementation(libs.kotlinx.coroutines.test)
Expand Down
3 changes: 3 additions & 0 deletions llm-inference/llama/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ kotlin {

sourceSets {
commonMain.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.skainet.lang.core)
implementation(libs.skainet.io.core)
implementation(libs.skainet.io.gguf)
Expand All @@ -54,12 +55,14 @@ kotlin {
}

commonTest.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.skainet.backend.cpu)
}

val jvmTest by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.junit)
implementation(libs.kotlinx.coroutines.test)
Expand Down
3 changes: 3 additions & 0 deletions llm-inference/qwen/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ kotlin {

sourceSets {
commonMain.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
api(project(":llm-inference:llama"))
implementation(project(":llm-core"))
implementation(libs.skainet.lang.core)
Expand All @@ -55,12 +56,14 @@ kotlin {
}

commonTest.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.skainet.backend.cpu)
}

val jvmTest by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.junit)
implementation(libs.kotlinx.coroutines.test)
Expand Down
3 changes: 3 additions & 0 deletions llm-inference/voxtral/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ kotlin {

sourceSets {
commonMain.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
api(project(":llm-inference:llama"))
implementation(project(":llm-core"))
implementation(libs.skainet.lang.core)
Expand All @@ -55,12 +56,14 @@ kotlin {
}

commonTest.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.skainet.backend.cpu)
}

val jvmTest by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.junit)
implementation(libs.kotlinx.coroutines.test)
Expand Down
2 changes: 2 additions & 0 deletions llm-performance/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ kotlin {

val jvmMain by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(project(":llm-core"))
implementation(project(":llm-inference:llama"))
implementation(project(":llm-runtime:kllama"))
Expand All @@ -83,6 +84,7 @@ kotlin {
val nativeMain by creating {
dependsOn(commonMain.get())
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(project(":llm-core"))
implementation(project(":llm-inference:llama"))
implementation(project(":llm-runtime:kllama"))
Expand Down
2 changes: 2 additions & 0 deletions llm-providers/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ kotlin {
}

dependencies {
implementation(platform(project(":llm-bom")))

api(project(":llm-api"))
api(project(":llm-core"))
api(project(":llm-agent"))
Expand Down
3 changes: 3 additions & 0 deletions llm-runtime/kapertus/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ kotlin {

sourceSets {
commonMain.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(project(":llm-inference:apertus"))
implementation(project(":llm-runtime:kllama"))
implementation(project(":llm-core"))
Expand All @@ -24,12 +25,14 @@ kotlin {
}

commonTest.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
}

val jvmMain by getting
val jvmTest by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.kotlinx.coroutines.test)
implementation(libs.skainet.backend.cpu)
Expand Down
3 changes: 3 additions & 0 deletions llm-runtime/kgemma/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ kotlin {

sourceSets {
commonMain.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(project(":llm-inference:gemma"))
implementation(project(":llm-core"))
implementation(libs.skainet.lang.core)
Expand All @@ -83,6 +84,7 @@ kotlin {
}

commonTest.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.skainet.lang.models)
implementation(libs.skainet.io.gguf)
Expand All @@ -104,6 +106,7 @@ kotlin {
}
val jvmTest by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.kotlinx.coroutines.test)
implementation(libs.skainet.backend.cpu)
Expand Down
3 changes: 3 additions & 0 deletions llm-runtime/kllama/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ kotlin {

sourceSets {
commonMain.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(project(":llm-inference:llama"))
implementation(project(":llm-inference:qwen"))
implementation(project(":llm-agent"))
Expand All @@ -79,6 +80,7 @@ kotlin {
}

commonTest.dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.skainet.lang.models)
implementation(libs.skainet.io.gguf)
Expand All @@ -87,6 +89,7 @@ kotlin {
val jvmMain by getting
val jvmTest by getting {
dependencies {
implementation(project.dependencies.platform(project(":llm-bom")))
implementation(libs.kotlin.test)
implementation(libs.kotlinx.coroutines.test)
implementation(libs.skainet.backend.cpu)
Expand Down