Skip to content

Complete LiteRT v0.17 adoption dependency loading and Apple target selection #499

Description

@leehack

Triage update — 2026-09-18

The dependency-order loader and iOS target-selection fixes are merged (#500/#501), and v0.17 adoption landed in #503 followed by v0.17.0-5 in #510. The old instruction to retain v0.16 is historical. Keep this issue open at P2 for remaining downstream Apple/package release coordination: the LiteRT companion changelog still places the v0.17.0-5 SwiftPM pin under Unreleased. Do not close from source adoption alone; verify coordinated companion publication and packaged Apple acceptance first.


Real v0.17.0 adoption qualification found two consumer blockers beyond the runtime inventory fix in #498. Keep the runtime pin unchanged until these are repaired and the corrected owner package is qualified.

  1. prepare_litert_lm_package_swift replaces the legacy iOS GemmaModelConstraintProvider target with macOS CLiteRTLMMac. Published v0.17.0 iOS LiteRtLm still loads @rpath/GemmaModelConstraintProvider.framework/GemmaModelConstraintProvider. Preserve/select the required iOS provider from the owner inventory and test generated SwiftPM target conditions and checksums against actual dependencies.
  2. _openCompanionLibraries opens the inventory order directly. On macOS arm64, the real chat smoke fails opening libLiteRtTopKWebGpuSampler.dylib because its @rpath/libwebgpu_dawn.dylib dependency is not yet loaded. The Dawn dylib exists in the verified runtime cache but comes later in the inventory. ASR capability probing hides the loader error and reports unsupported ABI. Repair dependency loading with positive/negative coverage and rerun the maintained chat and ASR model-backed scenarios without loader environment workarounds.

The owner macOS SwiftPM layout independently needs leehack/litert-lm-native#41 and a corrected forward release. Published v0.17.0 assets must not be treated as repaired by that source PR alone.

Acceptance: verified forward owner artifacts; complete generated iOS/macOS SwiftPM topology; real packaged Apple checks; native chat and Moonshine ASR smoke passing through normal discovery; unchanged typed rejection for unsupported paths; companion version coordination before release prep.

Current adoption blocker (2026-09-15)

The loader/provider fixes merged, and owner v0.17.0-1 repaired the SwiftPM archive. Same-model CI then exposed a SentencePiece compatibility regression: Qwen3-0.6B with tokenizer NORMAL NUL token 188 loads on v0.16.0-native.2 but is rejected by v0.17.0-1. Root cause and exact hashes: leehack/litert-lm-native#42.

PR #502 retains the supported default runtime and only fixes sync/smoke behavior. Adoption remains blocked until the owner provides a safely compatible, independently qualified forward artifact; changing the smoke model or bypassing validation is not acceptance.

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

    dependenciesPull requests that update a dependency filepriority:P2Planned next: useful unblocked work or validation after P1 items

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions