Myna whisper: request for auto-connection

name: myna-whisper
description: Whisper speech-to-text inference snap for Myna
snapcraft: https://github.com/canonical/myna/blob/integration-220627/whisper-snap/snap/snapcraft.yaml
upstream: https://github.com/canonical/myna
upstream-relation: the publisher is the upstream (Canonical); this snap is built from that repository
plugs:
  hardware-observe:
    request-type: auto-connection
    reasoning: |
      modelctl detects local compute with lscompute, which reads /sys/devices/system/cpu/**,
      /sys/class/drm/** and /sys/bus/pci/**. It backs show-engine,
      use-engine --auto and status, and it runs from the install and
      post-refresh hooks, which choose the engine with no user present.
      Read-only: no device node is opened and nothing is written. Without an
      auto-connection the very first boot silently selects the fallback engine
      and the CLI reports unknown hardware, so a later manual connection
      cannot recover the decision it was needed for.
  system-observe:
    request-type: auto-connection
    reasoning: |
      The server daemon runs faster-whisper (CTranslate2), which sizes its
      worker pool from the CPU topology and the cgroup CPU quota: /proc/** and
      /sys/fs/cgroup/**. hardware-observe covers /sys/devices/**; the /proc and
      cgroup reads need system-observe. Under a systemd slice or a container
      with a CPU quota, without it the pool is sized against the host's core
      count and the streaming latency budget for live dictation is blown. The
      daemon is daemon: simple and starts at install, before any user
      interaction.

Notes for the reviewer

  • The snap is strictly confined and fully offline. There is no network plug anywhere in the fleet: model weights ship as snap components, so nothing is fetched at runtime. network-bind is present only because snapd’s seccomp template gates listen(2) behind it even for an AF_UNIX socket.
  • The snap has no access to audio hardware. It receives PCM pushed by a client over a Unix socket exported through a content slot (ubustt-socket).
  • Both requested interfaces are read-only; neither of them is a super-privileged interface, so no installation grant is being asked for.

This request has been added to the queue for review by the @reviewers team.

Hey @charles05

Both interfaces, hardware-observe and system-observe makes sense to me for the detailed use case. Thus, +1 from for granting myna-whisper auto-connection to the said interfaces

Hello,

This is also a +1 from me for granting auto-connect of the hardware-observe and system-observe interfaces to the myna-whisper snap given the described functionality. Thank you for the detailed request!

Thank you both for the review!

Please let me know when you upload the first revision of the snap and we will grant the requested permissions. Thanks!