[ { "sdk": "1.5.378.0", "process": 2095, "cases": [ { "name": "trusted-SignAndEncrypt-API-key", "status": "passed" }, { "name": "raw-UNS-URI-browse", "status": "passed" }, { "name": "initial-quality-explicit-source-and-server-timestamps", "status": "passed" }, { "name": "scalar-read-write-ns-2", "status": "passed" }, { "name": "typed-array-read-write-ns-2", "status": "passed" }, { "name": "scalar-read-write-ns-3", "status": "passed" }, { "name": "typed-array-read-write-ns-3", "status": "passed" }, { "name": "monitor-quality-timestamps", "status": "passed" }, { "name": "event-filter-and-native-ack", "status": "passed" }, { "name": "raw-history-CP-paging", "status": "passed" }, { "name": "event-history-CP-paging", "status": "passed" }, { "name": "event-history-where-filter-positive-and-negative", "status": "passed" } ], "observations": [ { "SecurityMode": "SignAndEncrypt", "SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256" }, { "rawChildren": [ { "NodeId": "ns=2;s=Matrix/dev/Scalar", "DisplayName": "Scalar", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/Vector", "DisplayName": "Vector", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/Alarm", "DisplayName": "Alarm", "NodeClass": "Object", "HasChildren": true }, { "NodeId": "ns=2;s=Matrix/dev/UnsetTimestamp", "DisplayName": "UnsetTimestamp", "NodeClass": "Variable", "HasChildren": false } ], "unsChildren": [ { "NodeId": "ns=3;s=Eq/Scalar", "DisplayName": "Scalar", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=3;s=Eq/Vector", "DisplayName": "Vector", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/Alarm", "DisplayName": "Alarm", "NodeClass": "Object", "HasChildren": true } ] }, { "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", "serverTimestamp": "2026-11-10T17:08:30.7803750Z", "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" }, { "sourceTimestamp": "2026-11-10T17:08:30.8186650Z", "serverTimestamp": "2026-11-10T17:08:30.8189610Z", "status": "Good" }, { "sourceTimestamp": "2026-11-10T17:08:31.3060170Z", "serverTimestamp": "2026-11-10T17:08:31.3060170Z", "timestampObservation": "Fixture source supplied DateTime.MinValue (unset). These are unmodified application/SDK wire observations; no historian algorithm or expected timestamp was changed." }, { "benchmarkRound": 1, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.2347, "p95": 0.2777, "p99": 0.4115, "throughputOperationsPerSecond": 4247.547041583485 }, "scalar-write": { "p50": 0.2475, "p95": 0.3551, "p99": 0.467, "throughputOperationsPerSecond": 3914.9669185295393 }, "array-read": { "p50": 0.22, "p95": 0.348, "p99": 0.4761, "throughputOperationsPerSecond": 4272.5548168783 }, "array-write": { "p50": 0.2162, "p95": 0.2537, "p99": 0.308, "throughputOperationsPerSecond": 4684.411216354217 } }, "clientCpuMilliseconds": 59.439, "clientAllocatedBytes": 1326424, "clientWorkingSetBytes": 136069120, "clientPrivateBytes": 0, "clientThreads": 18, "clientHandles": 0, "collections": [ 0, 0, 0 ] }, { "benchmarkRound": 2, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.2139, "p95": 0.2667, "p99": 9.8394, "throughputOperationsPerSecond": 2467.1255520193436 }, "scalar-write": { "p50": 0.2129, "p95": 0.2416, "p99": 0.2922, "throughputOperationsPerSecond": 4696.82025268893 }, "array-read": { "p50": 0.159, "p95": 0.1834, "p99": 0.1943, "throughputOperationsPerSecond": 6253.204767443315 }, "array-write": { "p50": 0.1596, "p95": 0.1851, "p99": 0.2105, "throughputOperationsPerSecond": 6296.515508317695 } }, "clientCpuMilliseconds": 46.567, "clientAllocatedBytes": 1325560, "clientWorkingSetBytes": 137723904, "clientPrivateBytes": 0, "clientThreads": 18, "clientHandles": 0, "collections": [ 0, 0, 0 ] }, { "benchmarkRound": 3, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.1999, "p95": 0.2326, "p99": 0.2473, "throughputOperationsPerSecond": 4936.467661200353 }, "scalar-write": { "p50": 0.2064, "p95": 0.2288, "p99": 0.2527, "throughputOperationsPerSecond": 4859.794916654518 }, "array-read": { "p50": 0.1617, "p95": 0.225, "p99": 2.4465, "throughputOperationsPerSecond": 4636.928498562553 }, "array-write": { "p50": 0.2002, "p95": 0.2324, "p99": 0.2492, "throughputOperationsPerSecond": 4939.637628183596 } }, "clientCpuMilliseconds": 52.231, "clientAllocatedBytes": 1299672, "clientWorkingSetBytes": 139329536, "clientPrivateBytes": 0, "clientThreads": 18, "clientHandles": 0, "collections": [ 1, 0, 0 ] } ], "failures": 0, "loadedSdkAssemblies": [ { "name": "Opc.Ua.Core", "version": "1.5.378.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/Opc.Ua.Core.dll" }, { "name": "Opc.Ua.Types", "version": "1.5.378.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/Opc.Ua.Types.dll" }, { "name": "Opc.Ua.Configuration", "version": "1.5.378.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/Opc.Ua.Configuration.dll" }, { "name": "Opc.Ua.Security.Certificates", "version": "1.5.378.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" }, { "name": "Opc.Ua.Client", "version": "1.5.378.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll" } ], "name": "baseline-client-to-baseline-server", "server": { "endpoint": "opc.tcp://127.0.0.1:51391/OtOpcUa", "process": 2088, "sdk": "1.5.378.0", "rawUri": "https://zb.com/otopcua/raw", "unsUri": "https://zb.com/otopcua/uns" }, "status": "passed", "historyBackendRequests": [ { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 5 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 } ], "certificateValidation": "explicit trusted peers; server and Shared client autoaccept disabled", "authentication": "ephemeral API-key-shaped credential, exact fixture authenticator; real authority/ACL/method gates" }, { "sdk": "1.5.378.0", "process": 2116, "cases": [ { "name": "trusted-SignAndEncrypt-API-key", "status": "passed" }, { "name": "raw-UNS-URI-browse", "status": "failed", "error": "System.InvalidOperationException: Missing raw children: ns=2;s=Matrix/dev/Alarm\n at ProcessHost.Require(Boolean yes, String message) in /Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 59\n at ProcessHost.<>c__DisplayClass23_0.<b__3>d.MoveNext() in /Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 171\n--- End of stack trace from previous location ---\n at ProcessHost.Case(String name, Func`1 action) in /Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 62" }, { "name": "initial-quality-explicit-source-and-server-timestamps", "status": "passed" }, { "name": "scalar-read-write-ns-2", "status": "passed" }, { "name": "typed-array-read-write-ns-2", "status": "passed" }, { "name": "scalar-read-write-ns-3", "status": "passed" }, { "name": "typed-array-read-write-ns-3", "status": "passed" }, { "name": "monitor-quality-timestamps", "status": "passed" }, { "name": "event-filter-and-native-ack", "status": "passed" }, { "name": "raw-history-CP-paging", "status": "passed" }, { "name": "event-history-CP-paging", "status": "passed" }, { "name": "event-history-where-filter-positive-and-negative", "status": "passed" } ], "observations": [ { "SecurityMode": "SignAndEncrypt", "SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256" }, { "rawChildren": [ { "NodeId": "ns=2;s=Matrix/dev/Scalar", "DisplayName": "Scalar", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/Vector", "DisplayName": "Vector", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/UnsetTimestamp", "DisplayName": "UnsetTimestamp", "NodeClass": "Variable", "HasChildren": false } ], "unsChildren": [ { "NodeId": "ns=3;s=Eq/Scalar", "DisplayName": "Scalar", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=3;s=Eq/Vector", "DisplayName": "Vector", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/Alarm", "DisplayName": "Alarm", "NodeClass": "Object", "HasChildren": true } ] }, { "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", "serverTimestamp": "2026-11-10T17:08:34.9567910Z", "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" }, { "sourceTimestamp": "2026-11-10T17:08:35.0067640Z", "serverTimestamp": "2026-11-10T17:08:35.0082430Z", "status": "Good" }, { "sourceTimestamp": "2026-11-10T17:08:37.4194690Z", "serverTimestamp": "2026-11-10T17:08:37.4194690Z", "timestampObservation": "Fixture source supplied DateTime.MinValue (unset). These are unmodified application/SDK wire observations; no historian algorithm or expected timestamp was changed." }, { "benchmarkRound": 1, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.2877, "p95": 0.3479, "p99": 0.3968, "throughputOperationsPerSecond": 3384.5070803888125 }, "scalar-write": { "p50": 0.2809, "p95": 0.3688, "p99": 0.4182, "throughputOperationsPerSecond": 3591.3348273286215 }, "array-read": { "p50": 0.1883, "p95": 0.2321, "p99": 0.2993, "throughputOperationsPerSecond": 5210.721580724499 }, "array-write": { "p50": 0.2434, "p95": 0.2744, "p99": 0.2913, "throughputOperationsPerSecond": 4162.850720173175 } }, "clientCpuMilliseconds": 64.488, "clientAllocatedBytes": 1311000, "clientWorkingSetBytes": 138821632, "clientPrivateBytes": 0, "clientThreads": 19, "clientHandles": 0, "collections": [ 0, 0, 0 ] }, { "benchmarkRound": 2, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.2007, "p95": 0.2446, "p99": 0.2677, "throughputOperationsPerSecond": 4869.4026216863695 }, "scalar-write": { "p50": 0.1958, "p95": 0.2334, "p99": 0.2659, "throughputOperationsPerSecond": 5017.259372240508 }, "array-read": { "p50": 0.2241, "p95": 0.2746, "p99": 0.3111, "throughputOperationsPerSecond": 4563.167933706297 }, "array-write": { "p50": 0.2413, "p95": 0.2929, "p99": 0.3359, "throughputOperationsPerSecond": 4081.1329224992865 } }, "clientCpuMilliseconds": 49.282, "clientAllocatedBytes": 1342232, "clientWorkingSetBytes": 140460032, "clientPrivateBytes": 0, "clientThreads": 19, "clientHandles": 0, "collections": [ 0, 0, 0 ] }, { "benchmarkRound": 3, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.18, "p95": 0.2434, "p99": 0.2651, "throughputOperationsPerSecond": 5161.610009394129 }, "scalar-write": { "p50": 0.2279, "p95": 0.289, "p99": 2.7065, "throughputOperationsPerSecond": 3560.467418162656 }, "array-read": { "p50": 0.2116, "p95": 0.3061, "p99": 0.3697, "throughputOperationsPerSecond": 4561.794062368847 }, "array-write": { "p50": 0.2069, "p95": 0.5657, "p99": 1.1183, "throughputOperationsPerSecond": 4077.604977940157 } }, "clientCpuMilliseconds": 51.507, "clientAllocatedBytes": 1283712, "clientWorkingSetBytes": 142000128, "clientPrivateBytes": 0, "clientThreads": 19, "clientHandles": 0, "collections": [ 1, 0, 0 ] } ], "failures": 1, "loadedSdkAssemblies": [ { "name": "Opc.Ua.Core", "version": "1.5.378.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/Opc.Ua.Core.dll" }, { "name": "Opc.Ua.Types", "version": "1.5.378.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/Opc.Ua.Types.dll" }, { "name": "Opc.Ua.Configuration", "version": "1.5.378.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/Opc.Ua.Configuration.dll" }, { "name": "Opc.Ua.Security.Certificates", "version": "1.5.378.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" }, { "name": "Opc.Ua.Client", "version": "1.5.378.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll" } ], "name": "baseline-client-to-candidate-server", "server": { "endpoint": "opc.tcp://127.0.0.1:51408/OtOpcUa", "process": 2106, "sdk": "2.0.1.0", "rawUri": "https://zb.com/otopcua/raw", "unsUri": "https://zb.com/otopcua/uns" }, "status": "failed", "historyBackendRequests": [ { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 5 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 } ], "certificateValidation": "explicit trusted peers; server and Shared client autoaccept disabled", "authentication": "ephemeral API-key-shaped credential, exact fixture authenticator; real authority/ACL/method gates" }, { "sdk": "2.0.1.0", "process": 2138, "cases": [ { "name": "trusted-SignAndEncrypt-API-key", "status": "passed" }, { "name": "raw-UNS-URI-browse", "status": "passed" }, { "name": "initial-quality-explicit-source-and-server-timestamps", "status": "passed" }, { "name": "scalar-read-write-ns-2", "status": "passed" }, { "name": "typed-array-read-write-ns-2", "status": "passed" }, { "name": "scalar-read-write-ns-3", "status": "passed" }, { "name": "typed-array-read-write-ns-3", "status": "passed" }, { "name": "monitor-quality-timestamps", "status": "passed" }, { "name": "event-filter-and-native-ack", "status": "passed" }, { "name": "raw-history-CP-paging", "status": "passed" }, { "name": "event-history-CP-paging", "status": "passed" }, { "name": "event-history-where-filter-positive-and-negative", "status": "passed" } ], "observations": [ { "SecurityMode": "SignAndEncrypt", "SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256" }, { "rawChildren": [ { "NodeId": "ns=2;s=Matrix/dev/Scalar", "DisplayName": "Scalar", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/Vector", "DisplayName": "Vector", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/Alarm", "DisplayName": "Alarm", "NodeClass": "Object", "HasChildren": true }, { "NodeId": "ns=2;s=Matrix/dev/UnsetTimestamp", "DisplayName": "UnsetTimestamp", "NodeClass": "Variable", "HasChildren": false } ], "unsChildren": [ { "NodeId": "ns=3;s=Eq/Scalar", "DisplayName": "Scalar", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=3;s=Eq/Vector", "DisplayName": "Vector", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/Alarm", "DisplayName": "Alarm", "NodeClass": "Object", "HasChildren": true } ] }, { "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", "serverTimestamp": "2026-11-10T17:08:40.3331160Z", "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" }, { "sourceTimestamp": "2026-11-10T17:08:40.3846180Z", "serverTimestamp": "2026-11-10T17:08:40.3849830Z", "status": "Good" }, { "sourceTimestamp": "2026-11-10T17:08:42.7341660Z", "serverTimestamp": "2026-11-10T17:08:42.7341660Z", "timestampObservation": "Fixture source supplied DateTime.MinValue (unset). These are unmodified application/SDK wire observations; no historian algorithm or expected timestamp was changed." }, { "benchmarkRound": 1, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.2351, "p95": 0.2742, "p99": 0.3472, "throughputOperationsPerSecond": 4174.842399699412 }, "scalar-write": { "p50": 0.2256, "p95": 0.3225, "p99": 0.3469, "throughputOperationsPerSecond": 4430.2675881623245 }, "array-read": { "p50": 0.1636, "p95": 0.219, "p99": 0.282, "throughputOperationsPerSecond": 5734.0764696438 }, "array-write": { "p50": 0.182, "p95": 0.2217, "p99": 0.3657, "throughputOperationsPerSecond": 5398.635225015117 } }, "clientCpuMilliseconds": 67.659, "clientAllocatedBytes": 682192, "clientWorkingSetBytes": 128434176, "clientPrivateBytes": 0, "clientThreads": 20, "clientHandles": 0, "collections": [ 0, 0, 0 ] }, { "benchmarkRound": 2, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.1898, "p95": 0.2761, "p99": 8.439, "throughputOperationsPerSecond": 2790.5367318350022 }, "scalar-write": { "p50": 0.1579, "p95": 0.2199, "p99": 0.2504, "throughputOperationsPerSecond": 6137.755790972587 }, "array-read": { "p50": 0.1529, "p95": 0.1941, "p99": 0.2041, "throughputOperationsPerSecond": 6405.001024800167 }, "array-write": { "p50": 0.197, "p95": 0.224, "p99": 0.3047, "throughputOperationsPerSecond": 4992.11246230955 } }, "clientCpuMilliseconds": 64.007, "clientAllocatedBytes": 681896, "clientWorkingSetBytes": 129269760, "clientPrivateBytes": 0, "clientThreads": 20, "clientHandles": 0, "collections": [ 0, 0, 0 ] }, { "benchmarkRound": 3, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.1911, "p95": 0.2087, "p99": 0.228, "throughputOperationsPerSecond": 5317.338778288241 }, "scalar-write": { "p50": 0.1544, "p95": 0.1962, "p99": 0.2215, "throughputOperationsPerSecond": 6244.5360309729 }, "array-read": { "p50": 0.1529, "p95": 0.194, "p99": 0.2007, "throughputOperationsPerSecond": 6457.528832866238 }, "array-write": { "p50": 0.1948, "p95": 0.2181, "p99": 0.2209, "throughputOperationsPerSecond": 5132.363658759406 } }, "clientCpuMilliseconds": 62.326, "clientAllocatedBytes": 674328, "clientWorkingSetBytes": 130105344, "clientPrivateBytes": 0, "clientThreads": 20, "clientHandles": 0, "collections": [ 0, 0, 0 ] } ], "failures": 0, "loadedSdkAssemblies": [ { "name": "Opc.Ua.Core", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll" }, { "name": "Opc.Ua.Types", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll" }, { "name": "Opc.Ua.Core.Types", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll" }, { "name": "Opc.Ua.Configuration", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll" }, { "name": "Opc.Ua.Security.Certificates", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" }, { "name": "Opc.Ua.Client", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll" } ], "name": "candidate-client-to-baseline-server", "server": { "endpoint": "opc.tcp://127.0.0.1:51445/OtOpcUa", "process": 2135, "sdk": "1.5.378.0", "rawUri": "https://zb.com/otopcua/raw", "unsUri": "https://zb.com/otopcua/uns" }, "status": "passed", "historyBackendRequests": [ { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 5 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 } ], "certificateValidation": "explicit trusted peers; server and Shared client autoaccept disabled", "authentication": "ephemeral API-key-shaped credential, exact fixture authenticator; real authority/ACL/method gates" }, { "sdk": "2.0.1.0", "process": 2498, "cases": [ { "name": "trusted-SignAndEncrypt-API-key", "status": "passed" }, { "name": "raw-UNS-URI-browse", "status": "failed", "error": "System.InvalidOperationException: Missing raw children: ns=2;s=Matrix/dev/Alarm\n at ProcessHost.Require(Boolean yes, String message) in /Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 59\n at ProcessHost.<>c__DisplayClass23_0.<b__3>d.MoveNext() in /Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 171\n--- End of stack trace from previous location ---\n at ProcessHost.Case(String name, Func`1 action) in /Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 62" }, { "name": "initial-quality-explicit-source-and-server-timestamps", "status": "passed" }, { "name": "scalar-read-write-ns-2", "status": "passed" }, { "name": "typed-array-read-write-ns-2", "status": "passed" }, { "name": "scalar-read-write-ns-3", "status": "passed" }, { "name": "typed-array-read-write-ns-3", "status": "passed" }, { "name": "monitor-quality-timestamps", "status": "passed" }, { "name": "event-filter-and-native-ack", "status": "passed" }, { "name": "raw-history-CP-paging", "status": "passed" }, { "name": "event-history-CP-paging", "status": "passed" }, { "name": "event-history-where-filter-positive-and-negative", "status": "passed" } ], "observations": [ { "SecurityMode": "SignAndEncrypt", "SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256" }, { "rawChildren": [ { "NodeId": "ns=2;s=Matrix/dev/Scalar", "DisplayName": "Scalar", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/Vector", "DisplayName": "Vector", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/UnsetTimestamp", "DisplayName": "UnsetTimestamp", "NodeClass": "Variable", "HasChildren": false } ], "unsChildren": [ { "NodeId": "ns=3;s=Eq/Scalar", "DisplayName": "Scalar", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=3;s=Eq/Vector", "DisplayName": "Vector", "NodeClass": "Variable", "HasChildren": false }, { "NodeId": "ns=2;s=Matrix/dev/Alarm", "DisplayName": "Alarm", "NodeClass": "Object", "HasChildren": true } ] }, { "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", "serverTimestamp": "2026-11-10T17:08:46.4350150Z", "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" }, { "sourceTimestamp": "2026-11-10T17:08:46.4950230Z", "serverTimestamp": "2026-11-10T17:08:46.4964010Z", "status": "Good" }, { "sourceTimestamp": "2026-11-10T17:08:48.8292260Z", "serverTimestamp": "2026-11-10T17:08:48.8292260Z", "timestampObservation": "Fixture source supplied DateTime.MinValue (unset). These are unmodified application/SDK wire observations; no historian algorithm or expected timestamp was changed." }, { "benchmarkRound": 1, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.239, "p95": 0.3001, "p99": 0.358, "throughputOperationsPerSecond": 4126.059365742155 }, "scalar-write": { "p50": 0.2148, "p95": 0.2879, "p99": 0.3175, "throughputOperationsPerSecond": 4492.040104934056 }, "array-read": { "p50": 0.1875, "p95": 0.2319, "p99": 0.2727, "throughputOperationsPerSecond": 5230.89155315632 }, "array-write": { "p50": 0.2125, "p95": 0.2495, "p99": 0.2616, "throughputOperationsPerSecond": 4711.558395054749 } }, "clientCpuMilliseconds": 61.711, "clientAllocatedBytes": 683008, "clientWorkingSetBytes": 130859008, "clientPrivateBytes": 0, "clientThreads": 19, "clientHandles": 0, "collections": [ 0, 0, 0 ] }, { "benchmarkRound": 2, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.222, "p95": 0.2395, "p99": 0.257, "throughputOperationsPerSecond": 4523.863379325944 }, "scalar-write": { "p50": 0.2301, "p95": 0.2691, "p99": 0.2902, "throughputOperationsPerSecond": 4321.110352516183 }, "array-read": { "p50": 0.1783, "p95": 0.2305, "p99": 0.2665, "throughputOperationsPerSecond": 5491.608821720411 }, "array-write": { "p50": 0.1969, "p95": 0.2422, "p99": 0.2482, "throughputOperationsPerSecond": 4943.935768386496 } }, "clientCpuMilliseconds": 61.822, "clientAllocatedBytes": 667360, "clientWorkingSetBytes": 131710976, "clientPrivateBytes": 0, "clientThreads": 19, "clientHandles": 0, "collections": [ 0, 0, 0 ] }, { "benchmarkRound": 3, "warmupOperationsPerKind": 10, "operationsPerKind": 50, "latencyMilliseconds": { "scalar-read": { "p50": 0.2294, "p95": 0.2634, "p99": 0.2932, "throughputOperationsPerSecond": 4350.890627311411 }, "scalar-write": { "p50": 0.2014, "p95": 0.2714, "p99": 0.2784, "throughputOperationsPerSecond": 4738.932223791336 }, "array-read": { "p50": 0.1888, "p95": 0.2546, "p99": 0.2766, "throughputOperationsPerSecond": 5162.3560993237315 }, "array-write": { "p50": 0.2432, "p95": 0.2793, "p99": 0.2975, "throughputOperationsPerSecond": 4101.184422061091 } }, "clientCpuMilliseconds": 66.152, "clientAllocatedBytes": 675104, "clientWorkingSetBytes": 132546560, "clientPrivateBytes": 0, "clientThreads": 19, "clientHandles": 0, "collections": [ 0, 0, 0 ] } ], "failures": 1, "loadedSdkAssemblies": [ { "name": "Opc.Ua.Core", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll" }, { "name": "Opc.Ua.Types", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll" }, { "name": "Opc.Ua.Core.Types", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll" }, { "name": "Opc.Ua.Configuration", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll" }, { "name": "Opc.Ua.Security.Certificates", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" }, { "name": "Opc.Ua.Client", "version": "2.0.1.0", "path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll" } ], "name": "candidate-client-to-candidate-server", "server": { "endpoint": "opc.tcp://127.0.0.1:51485/OtOpcUa", "process": 2491, "sdk": "2.0.1.0", "rawUri": "https://zb.com/otopcua/raw", "unsUri": "https://zb.com/otopcua/uns" }, "status": "failed", "historyBackendRequests": [ { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 7 }, { "operation": "raw", "rows": 5 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 }, { "operation": "events", "rows": 7 } ], "certificateValidation": "explicit trusted peers; server and Shared client autoaccept disabled", "authentication": "ephemeral API-key-shaped credential, exact fixture authenticator; real authority/ACL/method gates" }, { "sdk": "2.0.1.0", "process": 71, "cases": [ { "name": "driver-trusted-encrypted-API-key-connect", "status": "passed" }, { "name": "driver-raw-UNS-URI-scalar-and-array-read", "status": "passed" }, { "name": "driver-scalar-array-write-roundtrip", "status": "passed" }, { "name": "driver-monitor-quality-timestamps", "status": "passed" }, { "name": "production-CLI-read", "status": "passed", "log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-driver-cli-to-baseline-server/cli-read.log", "expectedOutput": "Value: 92" }, { "name": "production-CLI-raw-history", "status": "passed", "log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-driver-cli-to-baseline-server/cli-raw-history.log", "expectedOutput": "25 values returned." }, { "name": "production-CLI-event-history", "status": "passed", "log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-driver-cli-to-baseline-server/cli-event-history.log", "expectedOutput": "25 events returned." } ], "observations": [ { "SourceTimestampUtc": "2026-11-10T17:08:54.4701737Z", "ServerTimestampUtc": "2026-11-10T17:08:54.4710355Z", "StatusCode": 0 }, { "capability": "driver-history", "status": "not-applicable", "evidence": "Driver has no IHistoryProvider/HistoryRead capability; .claude/rules/drivers.md #655. Shared/CLI own history." } ], "failures": 0, "loadedSdkAssemblies": [ { "name": "Opc.Ua.Core", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Core.dll" }, { "name": "Opc.Ua.Types", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Types.dll" }, { "name": "Opc.Ua.Core.Types", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Core.Types.dll" }, { "name": "Opc.Ua.Client", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Client.dll" }, { "name": "Opc.Ua.Configuration", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Configuration.dll" }, { "name": "Opc.Ua.Security.Certificates", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Security.Certificates.dll" } ], "name": "candidate-driver-cli-to-baseline-server", "status": "passed", "container": "otopcua-sdk2-matrix-b25890fd7a1c", "network": "none; all peers in task container, separate SDK processes", "driverCertificateValidation": "explicit trusted peers; autoaccept disabled", "cliCertificateValidation": "explicit exchanged peers; CLI always configures AutoAcceptCertificates=true (CommandBase.CreateConnectionSettings)", "server": { "endpoint": "opc.tcp://127.0.0.1:44507/OtOpcUa", "process": 33, "sdk": "1.5.378.0", "rawUri": "https://zb.com/otopcua/raw", "unsUri": "https://zb.com/otopcua/uns" } }, { "sdk": "2.0.1.0", "process": 79, "cases": [ { "name": "driver-trusted-encrypted-API-key-connect", "status": "passed" }, { "name": "driver-raw-UNS-URI-scalar-and-array-read", "status": "passed" }, { "name": "driver-scalar-array-write-roundtrip", "status": "passed" }, { "name": "driver-monitor-quality-timestamps", "status": "passed" }, { "name": "production-CLI-read", "status": "passed", "log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-driver-cli-to-candidate-server/cli-read.log", "expectedOutput": "Value: 92" }, { "name": "production-CLI-raw-history", "status": "passed", "log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-driver-cli-to-candidate-server/cli-raw-history.log", "expectedOutput": "25 values returned." }, { "name": "production-CLI-event-history", "status": "passed", "log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-driver-cli-to-candidate-server/cli-event-history.log", "expectedOutput": "25 events returned." } ], "observations": [ { "SourceTimestampUtc": "2026-11-10T17:09:02.4564886Z", "ServerTimestampUtc": "2026-11-10T17:09:02.4579244Z", "StatusCode": 0 }, { "capability": "driver-history", "status": "not-applicable", "evidence": "Driver has no IHistoryProvider/HistoryRead capability; .claude/rules/drivers.md #655. Shared/CLI own history." } ], "failures": 0, "loadedSdkAssemblies": [ { "name": "Opc.Ua.Core", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Core.dll" }, { "name": "Opc.Ua.Types", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Types.dll" }, { "name": "Opc.Ua.Core.Types", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Core.Types.dll" }, { "name": "Opc.Ua.Client", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Client.dll" }, { "name": "Opc.Ua.Configuration", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Configuration.dll" }, { "name": "Opc.Ua.Security.Certificates", "version": "2.0.1.0", "path": "/candidate/Opc.Ua.Security.Certificates.dll" } ], "name": "candidate-driver-cli-to-candidate-server", "status": "passed", "container": "otopcua-sdk2-matrix-1d0ef5c8d9ac", "network": "none; all peers in task container, separate SDK processes", "driverCertificateValidation": "explicit trusted peers; autoaccept disabled", "cliCertificateValidation": "explicit exchanged peers; CLI always configures AutoAcceptCertificates=true (CommandBase.CreateConnectionSettings)", "server": { "endpoint": "opc.tcp://127.0.0.1:42475/OtOpcUa", "process": 33, "sdk": "2.0.1.0", "rawUri": "https://zb.com/otopcua/raw", "unsUri": "https://zb.com/otopcua/uns" } } ]