docs(re): correct Status interface-version comments (4 on gRPC, not 0)

Claude-Session: https://claude.ai/code/session_012SDSQ3AcaXqPcBtDESBRii
This commit is contained in:
Joseph Doherty
2026-06-25 15:03:22 -04:00
parent dea9107b4b
commit aa56d2d81b
3 changed files with 10 additions and 6 deletions
@@ -18,8 +18,9 @@
> captured correctly; the table uses a unified column header for readability. > captured correctly; the table uses a unified column header for readability.
> **Status note:** `StatusService.GetStatusInterfaceVersion` returned UiVersion=4, UiError=0 on the live > **Status note:** `StatusService.GetStatusInterfaceVersion` returned UiVersion=4, UiError=0 on the live
> 2023 R2 server. Status is classified as reachability-only — its version integer carries no semantic > 2023 R2 server. This differs from the historical 0 observed on 2020 WCF — both are reachability-only.
> meaning for the SDK's byte serializers — so its UiVersion is not gated and not asserted in tests. > Status is classified as reachability-only: its version integer carries no semantic meaning for the
> SDK's byte serializers, so its UiVersion is not gated and not asserted in tests.
## Evidence Test ## Evidence Test
@@ -29,8 +29,9 @@ internal enum HistorianServiceInterface
/// <item>Retrieval (<c>Retr</c>) interface version = 4</item> /// <item>Retrieval (<c>Retr</c>) interface version = 4</item>
/// <item>Transaction (<c>Trx</c>) interface version = 2</item> /// <item>Transaction (<c>Trx</c>) interface version = 2</item>
/// </list> /// </list>
/// The Status (<c>Stat</c>) service's <c>GetInterfaceVersion</c> returns 0 (not a real /// The Status (<c>Stat</c>) service's <c>GetInterfaceVersion</c> is not a real version (0 on
/// version), so the Status interface is validated for reachability only, never value. /// 2020 WCF, 4 on 2023 R2 gRPC) — it carries no meaning for the byte serializers either way — so
/// the Status interface is validated for reachability only, never value.
/// ///
/// A 2023 R2 gRPC server reports History interface version 12 even though it carries the /// A 2023 R2 gRPC server reports History interface version 12 even though it carries the
/// same proven 2020 native buffers. That value is captured and accepted (see /// same proven 2020 native buffers. That value is captured and accepted (see
@@ -59,7 +60,8 @@ internal static class HistorianServerVersionGate
/// <summary> /// <summary>
/// True when the service interface reports a meaningful version that should be matched. /// True when the service interface reports a meaningful version that should be matched.
/// Status is reachability-only (its <c>GetInterfaceVersion</c> returns 0). /// Status is reachability-only (its <c>GetInterfaceVersion</c> is not a real version —
/// 0 on 2020 WCF, 4 on 2023 R2 gRPC).
/// </summary> /// </summary>
public static bool IsValueGated(HistorianServiceInterface service) => service switch public static bool IsValueGated(HistorianServiceInterface service) => service switch
{ {
@@ -72,7 +72,8 @@ public sealed class GrpcInterfaceVersionEvidenceTests
Assert.Equal(0u, transaction.Error); Assert.Equal(0u, transaction.Error);
Assert.Equal(2u, transaction.Version); Assert.Equal(2u, transaction.Version);
// Status: reachability-only — UiError must be 0; UiVersion is intentionally 0 by design. // Status: reachability-only — assert UiError==0 only; UiVersion is not value-gated
// (observed 4 on 2023 R2 gRPC, 0 on 2020 WCF).
Assert.Equal(0u, status.UiError); Assert.Equal(0u, status.UiError);
} }