Meridian::Config::AccessoryIdentity
Canonical identity of an accessory as a host resource.
Two services declaring the same accessory name on the same host refer to the same underlying container. This module decides whether their declarations agree, by reducing each to an ordered list of normalized fields and hashing it. Collections are sorted and blank values are elided, so YAML key order and formatting never change the identity, while any field that changes the generated Quadlet does.
Class methods
The canonical definition as an ordered map, so it can be stored in a service manifest and diffed later. Crystal Hashes keep insertion order, and so does the JSON round trip.
Field-level diff between two canonical definitions of the same accessory, so a conflict can say what actually differs rather than just that it does. Fields absent from either side are skipped: a manifest written by an older Meridian records fewer of them.
Ordered field list. The order is fixed here, never derived from Hash iteration, so the fingerprint is stable across runs and processes.