v3 contracts: RawTagEntry gains DeviceName (trailing optional) for multi-device tag routing

This commit is contained in:
Joseph Doherty
2026-07-15 19:52:54 -04:00
parent 0bd3269d05
commit c379e246d0
@@ -57,4 +57,10 @@ public sealed class EquipmentTagRefResolver<TDef> where TDef : class
/// <param name="RawPath">The tag's cluster-scoped RawPath — the driver wire reference / identity.</param>
/// <param name="TagConfig">The tag's schemaless driver-specific <c>TagConfig</c> JSON (the dialled address).</param>
/// <param name="WriteIdempotent">Whether writes to this tag are safe to replay (R2 resilience contract).</param>
public sealed record RawTagEntry(string RawPath, string TagConfig, bool WriteIdempotent);
/// <param name="DeviceName">
/// The name of the <c>Device</c> this tag lives under (the RawPath's device segment). Multi-device
/// drivers route the tag to its device/connection by this name; single-device drivers ignore it.
/// Populated by the deploy artifact (which built the RawPath and therefore knows the device);
/// defaults to empty for callers that don't need device routing.
/// </param>
public sealed record RawTagEntry(string RawPath, string TagConfig, bool WriteIdempotent, string DeviceName = "");