Skip to content

Add a preflight check for addon/fabric compatibility before mobile E2E #3655

Description

@localhost41

Problem

The SDK can assemble addon packages whose embedded qvac-fabric/GGML dependencies are not compatible under a shared mobile backend name.

This surfaced during #3579: the VLA addon update introduced a backend BuildId that was incompatible with the older embedding addon. The Android matrix then failed after the initial model load, with the consumer crashing during model-load-embedding.

The coordinated addon update in #3588 fixes the immediate version-alignment problem, but there is not currently a preflight check that prevents a future mixed addon set from reaching the mobile device matrix.

Proposed contribution

I would like to add a preflight check that runs against the published addon set selected by the SDK and verifies that the addons agree on the qvac-fabric/GGML compatibility identity they depend on.

The check would:

  • resolve the addon versions selected by the SDK;
  • identify the relevant qvac-fabric/GGML compatibility information for each addon;
  • detect a mixed or incompatible addon set before device tests start;
  • report the conflicting packages and versions clearly; and
  • fail early with an actionable message explaining what needs to be aligned.

The preflight should run before the mobile E2E matrix. It would complement the device tests, not replace them.

Initial scope

I would start with the SDK addon set and the published-package path used by the mobile E2E workflow. I would avoid changing addon APIs or runtime behavior unless the team identifies a compatibility signal that is not currently exposed.

Before implementing, I would like to confirm where the team wants the authoritative compatibility metadata to come from. Once that is agreed, I can add the check, a deliberately mismatched-package regression case, and coverage showing that the aligned versions from #3588 pass.

Acceptance criteria

  • A deliberately mismatched addon set is rejected before device tests start.
  • The aligned versions from QVAC-23051 chore: bump addon versions to use same fabric #3588 pass the preflight.
  • A failure identifies the conflicting addons and compatibility versions.
  • The check works against published packages, not only local workspace builds.
  • Existing desktop, iOS, and Android test coverage remains in place, with the preflight acting as an earlier validation step.

Related: #3579 and #3588.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions