Summary
sk.ainet:skainet-bom:0.23.0 is missing one published engine module from its <dependencyManagement>: sk.ainet.core:skainet-compile-opt. Same gap was present in 0.22.2 (noted as a follow-up on #584); didn't make it into the 0.23.0 release.
Evidence
The artifact exists on Central:
$ curl -s "https://repo.maven.apache.org/maven2/sk/ainet/core/skainet-compile-opt/" | grep -oE 'href="0\.23[^"]*"'
href="0.23.0/"
$ curl -sI https://repo.maven.apache.org/maven2/sk/ainet/core/skainet-compile-opt/0.23.0/skainet-compile-opt-0.23.0.pom
HTTP/2 200
But it is not enumerated in the BOM POM (https://repo.maven.apache.org/maven2/sk/ainet/skainet-bom/0.23.0/skainet-bom-0.23.0.pom). The BOM lists 16 modules; skainet-compile-opt is not among them.
Effect
When a downstream uses the BOM and pulls in something that transitively requests skainet-compile-opt:0.21.0 (e.g. via skainet-transformers-inference-bert:0.21.1), Gradle resolves it at 0.21.0 instead of upgrading to 0.23.0, leaving a single-artifact version skew across an otherwise consistent 0.23.0 engine.
Reproduced just now in michalharakal/SKaiNET-leaf-cli:
implementation(platform("sk.ainet:skainet-bom:0.23.0"))
implementation("sk.ainet.transformers:skainet-transformers-inference-bert:0.21.1")
./gradlew dependencies --configuration runtimeClasspath:
+--- sk.ainet:skainet-bom:0.23.0
| +--- sk.ainet.core:skainet-compile-dag:0.21.0 -> 0.23.0
| +--- sk.ainet.core:skainet-compile-opt:0.21.0 ← stays at 0.21.0
| +--- sk.ainet.core:skainet-io-core:0.21.0 -> 0.23.0
| +--- sk.ainet.core:skainet-lang-core:0.21.0 -> 0.23.0
... (rest correctly upgraded by the BOM)
Suggested fix
Add the missing entry to the BOM build script and ship a 0.23.1 patch:
api("sk.ainet.core:skainet-compile-opt:0.23.1")
While at it, a sweep against https://repo.maven.apache.org/maven2/sk/ainet/core/ would catch any other published module that's not in the BOM. Right now the BOM lists 16 modules but core/ ships more — worth diffing in the same patch.
Acceptance
https://repo.maven.apache.org/maven2/sk/ainet/skainet-bom/<patch>/skainet-bom-<patch>.pom includes skainet-compile-opt.
- Reproducer above shows
skainet-compile-opt:0.21.0 -> <patch> instead of staying at 0.21.0.
Summary
sk.ainet:skainet-bom:0.23.0is missing one published engine module from its<dependencyManagement>:sk.ainet.core:skainet-compile-opt. Same gap was present in0.22.2(noted as a follow-up on #584); didn't make it into the0.23.0release.Evidence
The artifact exists on Central:
But it is not enumerated in the BOM POM (https://repo.maven.apache.org/maven2/sk/ainet/skainet-bom/0.23.0/skainet-bom-0.23.0.pom). The BOM lists 16 modules;
skainet-compile-optis not among them.Effect
When a downstream uses the BOM and pulls in something that transitively requests
skainet-compile-opt:0.21.0(e.g. viaskainet-transformers-inference-bert:0.21.1), Gradle resolves it at0.21.0instead of upgrading to0.23.0, leaving a single-artifact version skew across an otherwise consistent0.23.0engine.Reproduced just now in
michalharakal/SKaiNET-leaf-cli:./gradlew dependencies --configuration runtimeClasspath:Suggested fix
Add the missing entry to the BOM build script and ship a
0.23.1patch:api("sk.ainet.core:skainet-compile-opt:0.23.1")While at it, a sweep against
https://repo.maven.apache.org/maven2/sk/ainet/core/would catch any other published module that's not in the BOM. Right now the BOM lists 16 modules butcore/ships more — worth diffing in the same patch.Acceptance
https://repo.maven.apache.org/maven2/sk/ainet/skainet-bom/<patch>/skainet-bom-<patch>.pomincludesskainet-compile-opt.skainet-compile-opt:0.21.0 -> <patch>instead of staying at0.21.0.