MeshanicsDocs
Fleet & groups

Capability selectors

Real fleets are heterogeneous: an arm64 Jetson with a GPU, an x86 industrial PC, a small board with no accelerator at all. Capability selectors are the idea that you target a rollout by what a device can run, not by assuming every device is the same golden image. The raw material for that is the device facts each agent already reports.

The facts a selector can use

Every device reports a hardware profile on registration, detected from the running system rather than declared by hand. These are the dimensions a selector is built from:

DimensionExamples
Architecturearm64, amd64
SoCnvidia-jetson-xavier-nx
Acceleratorsnvidia-gpu, google-edgetpu
Memory / CPURAM bytes, core count
OS / kernelOS pretty-name, kernel version
Tagsyour own labels, e.g. site=plant-7, line=assembly-3

The hardware fields are observed facts the agent gathers; tags are labels you attach to carry your own grouping dimensions — site, line, environment, customer. Together they describe both what a device is and what role you've given it.

Why this matters for safety

Targeting by capability is a guardrail, not just convenience. An ONNX model built for a Jetson's GPU has no business landing on a board that lacks one; an arm64 artifact does not belong on an amd64 device. By matching a rollout to the devices that can actually run it, capability targeting keeps an incompatible artifact from ever reaching a device — failures you prevent are cheaper than rollbacks you trigger.

How targeting works today

The device facts above are reported and stored for every device and visible per device. You target by static group: identify the devices that match the capabilities you care about and build a group from them.

Expressing a group's membership directly as a selector over these facts — a rule like "arm64 devices with an NVIDIA GPU tagged env=prod", re-evaluated as devices change — together with a compatibility check that refuses a mismatched rollout, is a planned extension. Until then, curate the corresponding static group.