Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: SKaiNET-developers/SKaiNET-transformers
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: SKaiNET-developers/SKaiNET-transformers
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: develop
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 9 commits
  • 31 files changed
  • 3 contributors

Commits on Sep 11, 2026

  1. feat: add asr-domain module, extend BackendProvider with capabilities…

    …/options
    
    Generic ASR task types (Transcription, DecodingOptions, FeatureFrames) and
    an execution-backend capability/options extension, moved up from the
    downstream ASR cartridge ecosystem (cartridges/dtag/asr-whisper-iree-
    cartridge's asr-domain + backend-spi modules), where they lived only
    because that's where the original whisper-cli extraction happened to put
    them -- not because they're Whisper-specific. Both the Whisper and
    Moonshine cartridge families depend on these; keeping them downstream in
    one cartridge family's repo made the other family structurally dependent
    on it for generic plumbing.
    
    - New asr-domain module (package sk.ainet.asr.domain unchanged, so no
      downstream import changes): DecodingOptions, FeatureFrames,
      Transcription/TranscriptionTimings/StopReason/AsrEvent. Framework-free
      (empty commonMain deps), full KMP target spread matching llm-api's
      convention for consumer-facing SPI modules (ios/linux/macos/jvm/js/
      wasm/android). Publishes as skainet-transformers-asr-domain.
    
    - backend-spi's ExecutionContextFactory/BackendRegistry seam is NOT
      duplicated as a second module here -- unified into the existing
      BackendProvider/BackendRegistry instead (both already did the same
      job: select a strategy producing a SKaiNET ExecutionContext).
      BackendProvider gains `capabilities: BackendCapabilities` (dtypes,
      compile support, NPU, max seq len -- defaulted so existing
      implementers don't need to change) and `createContext(options:
      BackendOptions = BackendOptions())` (was parameterless). Updated the
      one existing implementer, kllama's CpuBackendProvider, to match.
      BackendRegistry itself is unchanged -- downstream's own registry was
      unused dead code (every call site constructed a concrete
      ExecutionContextFactory/BackendProvider directly), so there was
      nothing to port there.
    
    Verified: ./gradlew :asr-domain:build :llm-core:build
    :llm-runtime:kllama:build and the corresponding allTests all green;
    apiDump regenerated for both llm-core and kllama's binary-compatibility-
    validator baselines. Downstream (asr-whisper-iree-cartridge, asr-cli)
    verified against this branch via the existing useLocalSkainet-style
    opt-in composite substitution pattern -- full check green in both,
    including a Docker smoke test of the shipped asr-cli image.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_012BmAYE4tZ7HsULEW8todNP
    michalharakal and claude committed Sep 11, 2026
    Configuration menu
    Copy the full SHA
    426e2ee View commit details
    Browse the repository at this point in the history
  2. Merge pull request #432 from SKaiNET-developers/feature/asr-core-doma…

    …in-backend-spi
    
    feat: add asr-domain module, extend BackendProvider with capabilities/options
    michalharakal authored Sep 11, 2026
    Configuration menu
    Copy the full SHA
    8062c78 View commit details
    Browse the repository at this point in the history
  3. docs(changelog): 0.55.0 entry

    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    michalharakal and claude committed Sep 11, 2026
    Configuration menu
    Copy the full SHA
    02af5c5 View commit details
    Browse the repository at this point in the history
  4. docs(readme): 0.55.0 highlights, asr-domain module rows, BOM coordinate

    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    michalharakal and claude committed Sep 11, 2026
    Configuration menu
    Copy the full SHA
    5ae93f0 View commit details
    Browse the repository at this point in the history
  5. docs: bump version references to 0.55.0

    docs/specs/attention-schedule.md's "Milestone: 0.54.1" is left alone --
    that's the accurate historical milestone for the SKEEP-005 attention work
    it documents, not a "current version" pin.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    michalharakal and claude committed Sep 11, 2026
    Configuration menu
    Copy the full SHA
    21c50d7 View commit details
    Browse the repository at this point in the history
  6. release: prepare 0.55.0 -- transformers-only, still against engine 0.…

    …54.0
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    michalharakal and claude committed Sep 11, 2026
    Configuration menu
    Copy the full SHA
    0abd1ec View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8a76a55 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2026

  1. Adopt sk.ainet.multiplatform from SKaiNET-build-logic (asr-domain, tr…

    …ansformer-core, llm-core)
    
    Migrates the three modules that downstream ASR cartridges and asr-cli
    actually consume (asr-domain, transformer-core, llm-core) to the
    published sk.ainet.multiplatform/sk.ainet.npm-pins convention plugins
    from github.com/SKaiNET-developers/SKaiNET-build-logic, replacing their
    hand-rolled plugins{}/kotlin{ android{...}; jvm(); ...; js{browser()}/
    wasmJs{browser()} } target boilerplate with id("sk.ainet.multiplatform")
    + a per-module skainet { namespace = ... } block and a gradle.properties
    skainet.targets declaration.
    
    Retires this repo's own buildSrc entirely: it existed solely to provide
    sk.ainet.transformers.bom-coverage, which is now consumed from the same
    shared plugin jar (already reconciled to include this repo's own
    POM-completeness fail-fast check -- both implementations' logic is kept,
    not one picked over the other). llm-bom's own build.gradle.kts needed
    zero changes -- id("sk.ainet.transformers.bom-coverage") now resolves
    externally via pluginManagement.plugins{} instead of from buildSrc.
    
    Two real per-module deltas handled, not blindly forced to the plugin's
    defaults:
    - llm-core wants androidNativeArm32 only, not the androidNativeArm64 the
      plugin's androidNative target group would also add -- declared
      manually in the module's own kotlin{} block instead (alongside its
      already-hand-wired registryBasedMain/nativeMain source-set hierarchy,
      kotlin.mpp.applyDefaultHierarchyTemplate=false, untouched).
    - llm-core opts out of the plugin's explicitApi=true default
      (DecoderGgufWeightLoader.kt has a handful of pre-existing declarations
      missing visibility modifiers, never caught before since explicit API
      mode was never on here -- fixing that source is a separate, smaller
      follow-up, not folded into this build-tooling migration).
    
    The other 24-ish modules in this repo (llm-agent, llm-inference/*,
    llm-runtime/*, etc.) are NOT migrated here -- several have much more
    extensive custom source-set wiring (llm-runtime/kgemma: 257 lines/14
    custom source sets; llm-runtime/kllama: 220 lines/21) that deserves
    individual, careful handling rather than a batch pass, and none of them
    are on the dependency path cartridge releases/publishing or asr-cli
    actually need.
    
    Verified: full multi-project configuration green; asr-domain/
    transformer-core/llm-core compile clean on jvm + linuxX64 (+
    androidNativeArm32 for llm-core); real jvmTest green for transformer-core
    and llm-core; publishToMavenLocal green; and -- the real proof -- all
    three downstream consumers (asr-whisper-iree-cartridge,
    asr-moonshine-iree-cartridge, asr-cli) verified green against the
    mavenLocal-published result via their own full `check` (+ asr-cli's
    shadowJar).
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    michalharakal and claude committed Sep 12, 2026
    Configuration menu
    Copy the full SHA
    a42ccc9 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #434 from SKaiNET-developers/feature/adopt-skainet…

    …-build-logic
    
    Adopt sk.ainet.multiplatform from SKaiNET-build-logic (asr-domain, transformer-core, llm-core)
    michalharakal authored Sep 12, 2026
    Configuration menu
    Copy the full SHA
    4695631 View commit details
    Browse the repository at this point in the history
Loading