Skip to content

Ground truth: add Kotlin/Native target(s) to skainet-test-groundtruth (jvm/android only today) #1301

Description

@michalharakal

Problem

skainet-test-groundtruth's kotlin { } block only declares android() and jvm() targets (skainet-test/skainet-test-groundtruth/build.gradle.kts). There's no macosArm64() / iosArm64() / linuxX64() / any Kotlin/Native target at all.

That makes GroundTruthValidator(ops, factory) unusable from any Kotlin/Native-only consumer — for example an out-of-tree GPU backend that only publishes K/N targets (macOS/iOS) and has no JVM target to fall back to. Right now the only way to get any ground-truth coverage for a backend like that is to hand-roll independent fixtures outside the module entirely, which duplicates exactly the hand-written-mapping problem #985/#986/#988 are already trying to avoid on the JVM/Python side.

Ask

Add at least one Kotlin/Native target (macosArm64 would cover the common Apple-Silicon dev case) to skainet-test-groundtruth, so GroundTruthValidator and its fixtures can be consumed by K/N-only modules the same way the skainet-backend-cpu src/goldenTest pattern already works on the JVM side.

Things worth checking first:

  • Does GGUF fixture loading (skainet-io-gguf) already build for K/N targets?
  • Does anything in commonMain currently reach for a jvm()-only API?
  • Does the Docker/PyTorch fixture-generation step need to change, or only the Kotlin consumption side?

Context

Ran into this concretely while trying to wire ground-truth validation into an out-of-tree, Kotlin/Native-only MLX/Metal backend module — ended up redefining that task around a small hand-written independent NumPy fixture instead, since the module couldn't be depended on at all from a K/N-only target set.

Related: #984, #985, #988.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestplatformPlatform support (WASM, JVM, native)skill:nativeKotlin/Native (Linux, macOS) or FFM kernel worksub-issueSub-issue of a tracking issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions