docs(galaxy): neutralize remaining stale SystemPlatform/alias terminology in comments + a test name

Replace "SystemPlatform mirror tag", "Galaxy alias", and "SystemPlatform-kind" in doc-comments and
test names with neutral accurate wording ("FolderPath-scoped tag", "EquipmentId == null", etc.).
No code, logic, or test bodies changed — comments and one test method name only.
This commit is contained in:
Joseph Doherty
2026-06-12 22:30:50 -04:00
parent ba42bed538
commit 7d25480fee
8 changed files with 33 additions and 38 deletions
@@ -34,8 +34,8 @@ public sealed record ScriptTagInfo(string Path, string Kind, string DataType, st
/// <summary>
/// Default <see cref="IScriptTagCatalog"/>. Returns ONLY the resolvable keys a script may pass to
/// <c>ctx.GetTag</c> / <c>ctx.SetVirtualTag</c> — the driver <c>FullName</c> for equipment tags,
/// the MXAccess dot-ref for SystemPlatform tags, and the leaf <c>Name</c> (best-effort) for
/// virtual tags.
/// the MXAccess dot-ref for FolderPath-scoped tags (<c>EquipmentId == null</c>), and the leaf
/// <c>Name</c> (best-effort) for virtual tags.
/// </summary>
/// <remarks>
/// <para>
@@ -58,9 +58,9 @@ public sealed record ScriptTagInfo(string Path, string Kind, string DataType, st
/// The per-category resolvable key:
/// <list type="bullet">
/// <item>Equipment driver tag (<c>EquipmentId != null</c>) → the driver <c>FullName</c>
/// extracted from <c>Tag.TagConfig</c> (the verified <c>DependencyMux</c> key).</item>
/// Galaxy points are ordinary equipment tags now (GalaxyMxGateway is a standard
/// Equipment-kind driver), so they resolve by this same <c>FullName</c> key.</item>
/// extracted from <c>Tag.TagConfig</c> (the verified <c>DependencyMux</c> key).
/// GalaxyMxGateway is a standard Equipment-kind driver, so Galaxy points resolve
/// by this same <c>FullName</c> key.</item>
/// <item>VirtualTag → its leaf <c>Name</c> only, as a BEST-EFFORT key (the live resolution
/// of virtual-tag cascade/write targets is unconfirmed).</item>
/// </list>
@@ -137,8 +137,8 @@ public sealed class ScriptTagCatalog(IDbContextFactory<OtOpcUaConfigDbContext> d
await using var db = await dbFactory.CreateDbContextAsync(ct);
// Only the resolvable keys are projected, so no UNS join is needed: the equipment-tag key is
// the FullName from TagConfig, the SystemPlatform key is FolderPath/Name, and the virtual-tag
// key is its own Name. Pull just those columns, untracked.
// the FullName from TagConfig, the FolderPath-scoped tag key is FolderPath/Name, and the
// virtual-tag key is its own Name. Pull just those columns, untracked.
var tagRows = await db.Tags
.AsNoTracking()
.Select(t => new { t.EquipmentId, t.Name, t.FolderPath, t.DataType, t.DriverInstanceId, t.TagConfig })
@@ -154,8 +154,8 @@ public sealed class ScriptTagCatalog(IDbContextFactory<OtOpcUaConfigDbContext> d
foreach (var t in tagRows)
{
var path = t.EquipmentId is null
// SystemPlatform tag — the Galaxy driver subscribes by the MXAccess dot-ref, which is
// "FolderPath.Name" when a folder is set, else just "Name".
// FolderPath-scoped tag (EquipmentId null) — subscribes by the MXAccess dot-ref, which
// is "FolderPath.Name" when a folder is set, else just "Name".
? (string.IsNullOrWhiteSpace(t.FolderPath) ? t.Name : $"{t.FolderPath}.{t.Name}")
// Equipment driver tag — the runtime GetTag key is the driver FullName from TagConfig.
: ExtractFullNameFromTagConfig(t.TagConfig);
@@ -387,8 +387,7 @@ public sealed class DriverHostActor : ReceiveActor, IWithTimers
// folder-scoped NodeIds (EquipmentId/FolderPath/Name), while the driver publishes keyed by
// FullReference (the tag's FullName). The value therefore only lands on the variable once the
// FullName→NodeId routing — the equipment-tag "live values" milestone — is wired; until then
// the variable stays BadWaitingForInitialData. (The retired SystemPlatform mirror matched only
// because its NodeId WAS the FullName.)
// the variable stays BadWaitingForInitialData.
_opcUaPublishActor?.Tell(new ZB.MOM.WW.OtOpcUa.Runtime.OpcUa.OpcUaPublishActor.AttributeValueUpdate(
msg.FullReference, msg.Value, msg.Quality, msg.TimestampUtc));
}