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!