diff --git a/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/artifact-hashes.json b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/artifact-hashes.json new file mode 100644 index 000000000..d202f8cdf --- /dev/null +++ b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/artifact-hashes.json @@ -0,0 +1,807 @@ +[ + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/Opc.Ua.Client.dll", + "sha256": "fd000b186f4bc5dbd9947e876f96c178e8c4259ee3e8717d672a4ac2f4c3a058", + "bytes": 852096 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/Opc.Ua.Configuration.dll", + "sha256": "30fb5142f13a3b3083c0484bcdedaec2efe2f50e57f10ec6a61257ca5359aa7e", + "bytes": 85120 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/Opc.Ua.Core.dll", + "sha256": "602e85316943ad7ebae33a23d60a69a6ea50d91250ad0556906b816435daa37c", + "bytes": 7945344 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/Opc.Ua.Security.Certificates.dll", + "sha256": "a2a05c64348f6f8aa60de0fe27d8e5e22d12e09b1ba6172ca34b3773620e394c", + "bytes": 79488 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/Opc.Ua.Types.dll", + "sha256": "c5c5e36cf6381444b408fe1b51726b17deca74173764cd62ccee954b3c8c2718", + "bytes": 1127552 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/ZB.MOM.WW.OtOpcUa.Client.Shared.deps.json", + "sha256": "d78bbff242c51bb464f007a52c174d4aa7b18d5f1128c3922f557405c6e35735", + "bytes": 10571 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/ZB.MOM.WW.OtOpcUa.Client.Shared.dll", + "sha256": "5fd5c90c6560a031a581d32e985d1a1803fbec96fc537f1d3085b1bff4f3b16f", + "bytes": 111616 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Client.dll", + "sha256": "fd000b186f4bc5dbd9947e876f96c178e8c4259ee3e8717d672a4ac2f4c3a058", + "bytes": 852096 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Configuration.dll", + "sha256": "30fb5142f13a3b3083c0484bcdedaec2efe2f50e57f10ec6a61257ca5359aa7e", + "bytes": 85120 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Core.dll", + "sha256": "602e85316943ad7ebae33a23d60a69a6ea50d91250ad0556906b816435daa37c", + "bytes": 7945344 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Security.Certificates.dll", + "sha256": "a2a05c64348f6f8aa60de0fe27d8e5e22d12e09b1ba6172ca34b3773620e394c", + "bytes": 79488 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Server.dll", + "sha256": "d8d9706dea577858325730cd89896826ed82f7bfcf9503ccd0260311663a69f4", + "bytes": 642176 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Types.dll", + "sha256": "c5c5e36cf6381444b408fe1b51726b17deca74173764cd62ccee954b3c8c2718", + "bytes": 1127552 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/OtOpcUa.Host.deps.json", + "sha256": "f47fb25d83e40a5c1d96c063f1d63b02a04c222a10554220df58cac896654ea9", + "bytes": 153279 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/OtOpcUa.Host.dll", + "sha256": "b264064b4a59122c2f14d98b177079fda5d82fe37764aff10a994525dba33066", + "bytes": 193024 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/OtOpcUa.Host.runtimeconfig.json", + "sha256": "eff38a9750f7cca2407b1d639a963d56ffea92088e6da971bbbfa74e3dcd7224", + "bytes": 540 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.AdminUI.dll", + "sha256": "fc16c4b36916f49b0a4112632c95054f1d7b77a85f870b5cf71a1bb852b7f80a", + "bytes": 2152448 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Cluster.dll", + "sha256": "581231468d10849bba17de7fe8d0daccea1010784c80dab4e88f9f338fdd2ad9", + "bytes": 68096 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Commons.dll", + "sha256": "16f8d417e46de3edc017692e0f0a092a84aea7d442891f3f92d8c3b3bb01c422", + "bytes": 231424 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Configuration.dll", + "sha256": "f0d2478de9ed67e84346969c007af038a42b265ee43b5315f16c25929a93c668", + "bytes": 542720 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.ControlPlane.dll", + "sha256": "df08af92d5d57054011f77c12218925b320dddc205a45372a749d612b3e6cc73", + "bytes": 179712 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll", + "sha256": "d4e769c2b59a9c313f7927d447c553b0bebd3024e1f6d9e519aa0f11d0d0628d", + "bytes": 124416 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll", + "sha256": "2f0d2feae2b71f7ab1202e43dfd137641741e73bc9caa91f121be8856a486818", + "bytes": 56320 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll", + "sha256": "8c9a595b8900fb5e203cd025403597e400d367f1ca477324144c456e63ffb7fe", + "bytes": 83968 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll", + "sha256": "ff3ee0236916241a5c82bfddc17115e7726cc3f6f93dc1dcf533de177ee39cb9", + "bytes": 13312 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll", + "sha256": "d540b13aa70182ab4e9c33c9217dc37313afd9636126e9d7d8c25504ee19cfae", + "bytes": 135680 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll", + "sha256": "f23969e21dfea92e3c749cbd5e496b77f60e81e72139a475c67ca610e79cb344", + "bytes": 117248 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll", + "sha256": "749a56e2d2e6ff405db01f0990fe023458b9cd7386a65d1dca93db0e9219232d", + "bytes": 121856 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll", + "sha256": "077e40cce67d2b4ab5486d214307b4571e2289ae883d24c7133c01470309c226", + "bytes": 11264 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.dll", + "sha256": "d0f6db9b4c8defd718e189fa05b57ee9acb7b048efe75dc8dcb1e6496ffaecf1", + "bytes": 124928 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll", + "sha256": "362cfc701e0ca8ea6c86b1d1e80e0a31285f329e5f0f24c8ecb8ecb3d0c977f8", + "bytes": 123392 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll", + "sha256": "5f16a65afe449c7920e915a6dddb050c1824d6794229985a455d998409087116", + "bytes": 24576 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll", + "sha256": "6d13c2c121d6100df4629822466a4c2a52092982b4135e82d3f18944543bf3fd", + "bytes": 214016 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll", + "sha256": "537d9b4469bfce23c09690eac7b70e6a37a0985a2e723f2ce3a8acddaee217ff", + "bytes": 30720 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll", + "sha256": "0f48f9a2b2f7914d43edbc2223def87f4ab81e6c95f1a743f5217ad91ee5d090", + "bytes": 136704 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll", + "sha256": "0f8c6e9f7490adc24c56e4d5c18e8f90ba097f28322f24d77a517a434ef01305", + "bytes": 10240 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll", + "sha256": "fc2d4183a9a99d7d482029eea3d793166abecbc1d7366f6ccced39c3ea88293e", + "bytes": 57344 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll", + "sha256": "43dfad220a0e6819429b7c5c514227e8413db5a59bb44cf80ec6245e9932ce26", + "bytes": 38912 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll", + "sha256": "8e4db91400216c45bc6151c005a7a3d4c6e3201ff2151b9a268323874aa701d5", + "bytes": 300032 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll", + "sha256": "1e8838ef08a316173cbb252bb5bd8cd0bbad6e241bf2a3c0945844ef0579fc99", + "bytes": 19456 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll", + "sha256": "2d58d3d0ebac97fcee43c84b5d0f762ae1db12b939fb67765d40d0443bed0a64", + "bytes": 24576 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll", + "sha256": "f06f088d66bceb2ee0e093d386132334e12ab2a37803c4aea86e8dc5971b163d", + "bytes": 224768 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll", + "sha256": "86097cc175bb8f155939db6b0a53560bede36ba3837b4e866bfe615bc69d46a4", + "bytes": 129536 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll", + "sha256": "596a11caa92f9273794c5a80b336335200a737676b0726d5103eb94b1e72190e", + "bytes": 167424 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll", + "sha256": "7850f5aca729c4c2fa53aabad939b3fbbb9baae45e8878dd2b7c68d19970e898", + "bytes": 51712 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll", + "sha256": "1b1ca631d0a4b400c2b5b6db0a16cc4956ad78dbd88f282ce962e4b6407877b9", + "bytes": 143872 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll", + "sha256": "c402b1ec80f3f71b265ad4b31d8b41df92ad881c80478d453f56f933384887bb", + "bytes": 19456 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll", + "sha256": "5f2a4e76285763a0ecfc1816ef5c655eb80c643637f894a0e90bd29e7fd3fbbe", + "bytes": 214016 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll", + "sha256": "69abb1f7f8b14a18ead61ad9a05cc622945401c907592ce8309a53b4fbe4e3b4", + "bytes": 25088 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll", + "sha256": "82b8b6f4f209ad8293699fc8b379c3c55668f53f4190875f4e5bf3d2e280dec5", + "bytes": 39424 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll", + "sha256": "0f1164a0689261be9beb1a3b46ec458bb507fe72cb1af7e82b62463287c30a7e", + "bytes": 131584 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll", + "sha256": "5e23328639a208371107e2485e15d903bc8e86ab81835489bf316cfe53864816", + "bytes": 48128 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll", + "sha256": "0fb006b0fffd17fcab2a76fa7a2356c57710fe72a3ce1111614ea2872d4f806b", + "bytes": 139776 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll", + "sha256": "1ec9249dd23d7654767907e25338c9ed8f90266c4cbdee007e0d740f84a67dd1", + "bytes": 12800 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll", + "sha256": "0951132e2d8b9c3a1c2109dccda1279b69cba861d65ff1416006cb4bc504277a", + "bytes": 195072 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll", + "sha256": "d50e34586d818212dc56b8ec2c20e78aabd4bf03cad9c4f1ef65088b38f9982f", + "bytes": 35840 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll", + "sha256": "921b1fa57e07e26a8699e423786fa331a22d4c1059956f5dc7ddbb62e789ae87", + "bytes": 20480 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll", + "sha256": "7690e272a28ca0dcea787c2edf42984c23c870bf934b99093119cc04a0f1c3b0", + "bytes": 16384 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll", + "sha256": "d6dddfe88d51a954590de0613df8eb51d4d535eab3d1307c0aac53454a986598", + "bytes": 144384 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll", + "sha256": "f5557fdef3eb58f46dd7d0320e4395f08b3e6fbf1e41b99245c32ebb90748a49", + "bytes": 29696 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.S7.dll", + "sha256": "2a1bffbe5ef24377e9922c5e52875349f39152a347096cfa1853c54e5d4625da", + "bytes": 124928 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll", + "sha256": "6b2a492722380d15d03c9a6a1d14275e1eecabd84ac5ef23ea346065adaa6446", + "bytes": 43008 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll", + "sha256": "7359d464b7015f6f2fd0e6967f3e1a358ca6c2fd0b173510273b885824c9823d", + "bytes": 38912 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll", + "sha256": "19e252647ce19589c5b963a3ff16e14e00ca15dd41a34aa3ae1ecc90937dedce", + "bytes": 40448 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.dll", + "sha256": "94725002a09d82b23c7f086321d8f8397946ff24920f239bcd227720089a69f5", + "bytes": 144384 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll", + "sha256": "eb99028838839a62273c9d429bbf197f8d2ec156a664856d7464b09ad594c312", + "bytes": 17408 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll", + "sha256": "e5ab99a8ba7b6361b614d06f887b9e7e5f18f1c46212f2a644a3a2ef0725915c", + "bytes": 188928 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.OpcUaServer.dll", + "sha256": "0208a648365281dcb3a236b8720dc79cf04aa35624ca63e70c0fb5240318eee7", + "bytes": 363008 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Runtime.dll", + "sha256": "3887391844d1e332eb52ed549928afb32e6aea0b113daf9f41c7bb3e7b93d15a", + "bytes": 540160 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Security.dll", + "sha256": "864a961bd4089a0e8cfd1cbd89c87fd25bd43d6a15fec70f56c492af1cbfda20", + "bytes": 52736 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "sha256": "a2e328499bf7535aebec86d28db5178e39c73d30e0e22529d6e4cce76f5ffd96", + "bytes": 99328 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll", + "sha256": "620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd", + "bytes": 2442880 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll", + "sha256": "6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7", + "bytes": 117376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Schema.dll", + "sha256": "51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e", + "bytes": 135168 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll", + "sha256": "a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96", + "bytes": 12703872 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll", + "sha256": "9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a", + "bytes": 2549376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll", + "sha256": "7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0", + "bytes": 118400 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Server.dll", + "sha256": "930e714a2f6e15d393840bcdc95e1afa8012bc740c3738a655f958142721864e", + "bytes": 3332224 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll", + "sha256": "c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1", + "bytes": 1792640 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/OtOpcUa.Host.deps.json", + "sha256": "6b5027f75392f0f10f98a68af8458865bb335e52865a72dbec065f9f4090aaed", + "bytes": 180876 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/OtOpcUa.Host.dll", + "sha256": "535091bcd165b758c1c0241eae7a29daef21747dc1d2cdfba54fffa9a6e84c80", + "bytes": 198656 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/OtOpcUa.Host.runtimeconfig.json", + "sha256": "eff38a9750f7cca2407b1d639a963d56ffea92088e6da971bbbfa74e3dcd7224", + "bytes": 540 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ProcessHost.deps.json", + "sha256": "99e7a38270ac1f82856cdca7110417dd853fdca0010a0c2a5548df725d83e38a", + "bytes": 166559 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "sha256": "8934241d5a65d080a52bb53dcfa338485e9f70d8741a2d728ba31bbe83e4d3ac", + "bytes": 104448 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ProcessHost.runtimeconfig.json", + "sha256": "bdbb6b43e509fbbab6c78b7004c4debf1e9791a648a08f730ff5997f71ef7099", + "bytes": 508 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.AdminUI.dll", + "sha256": "7e1ee5c3a0cb17a78776fa4b836c3b3ec225e8f46801a37ba11b0993052c59ec", + "bytes": 2267648 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Client.Shared.dll", + "sha256": "290c74fab79b4ce82916c5d07f7292629adb5858db785e8b3146600d05ebb61a", + "bytes": 120320 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Cluster.dll", + "sha256": "d4792466ec275a3656abd65dc02f84df5c44d25f81c3cd5694f029fac45d3907", + "bytes": 68096 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Commons.dll", + "sha256": "aeb1f8e4ce55b5e52304e323326bb60c4728fe01bc8850c3d593106814c548f5", + "bytes": 235520 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Configuration.dll", + "sha256": "6689bea6448543891355ed8e52834a910af90d49f5ad8780b65250307fb29abb", + "bytes": 605696 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.ControlPlane.dll", + "sha256": "1b473c4bd9d726f8fb486f7fef947acf21be55ce7d9d7e3fb1c599d48d2857be", + "bytes": 205824 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll", + "sha256": "3ee857534ac11502ae7b52b5e4d87a72d33ae02c7cd66fc4a34c1974cf40d4e3", + "bytes": 165376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll", + "sha256": "017a301af635eae02c74ab578935935cc764af933e50fe4cf8940bae2f6f486e", + "bytes": 56320 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll", + "sha256": "34dd333d729190c9848e0f12457a6f79ab9359669bd66898ba1c20e10e0994ff", + "bytes": 84480 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll", + "sha256": "ded4333ad2c4c9a08e604aff264a4a1c405f3296892e9dcc317fa04241a4317d", + "bytes": 13312 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll", + "sha256": "0c3d6d8ab677337b52fd623d645d580df1c714bfc188c7e7ec29b3ea7b331aa8", + "bytes": 141824 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll", + "sha256": "68cf3fbf30a4f365365122d0f71bf00baeb377b7352f3d9ae97c144ca9020e02", + "bytes": 125440 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll", + "sha256": "a0339f27264fd384b18948a0bafdf570a06e57e3653bb55d65fb7f5ffedadb5f", + "bytes": 122368 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll", + "sha256": "8faf5836f7425d0dad5e7b2f49fac89e226b4c8c715bdfea05600fedd1299351", + "bytes": 11264 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.dll", + "sha256": "49978edb8023b300134e23f4255a3094c1c3d85c699b64b0411039c77c73626d", + "bytes": 130560 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll", + "sha256": "9116cfd545e8c06013a1edfdbf71cb3f162d9c6fc891157ce92adf8590f24023", + "bytes": 123392 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll", + "sha256": "9b9bd83167d149fdc34a0cf357bfc1c134b9d9324c026c2de6cf086a1b34f0fa", + "bytes": 24576 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll", + "sha256": "f1a167196557647918f16987c718587a7b6704e3caccf21007f72f760a0a8566", + "bytes": 214016 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll", + "sha256": "2a22ec18f3a75e6eb4ae5c78a0ada59fc9bff83f46b0d811165e088f41f7f04b", + "bytes": 30720 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll", + "sha256": "8254cf9915fb8e3bbaada1ae41a5ab809e4a49236c37836e2b5a4152ebf55178", + "bytes": 136704 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll", + "sha256": "dadb0a0d47e43f8bc511ad37d4154cee51bec0c61eeac16ef6f0e1112cca5e70", + "bytes": 10240 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll", + "sha256": "a4612a9d78ca049eb6f113aef59e9a8d299394c15e6c6a0ce75c0b06906002eb", + "bytes": 57344 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll", + "sha256": "9b0e325d2e82d918dcd9dac0e13cdcdb572fb6651f6cd9902bbfe84f4c8f2da3", + "bytes": 38912 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll", + "sha256": "6e34ba86f045e1f07d36628b1a1dd85a79ea0794f13fb948a443d3278a433bc5", + "bytes": 300032 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll", + "sha256": "3724d30443a6e7a41b1018d030de97f096309f6090843adc5ed9fb438eb4ff86", + "bytes": 19456 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll", + "sha256": "bc90d841b29e4161bca087e2938cb8b4af3e7bfbaec5dc6b4c22a0caf4859d57", + "bytes": 28672 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll", + "sha256": "1789630bf8139ce9cb4f04b58b961217717d313b69629163478ad252bb93cb4b", + "bytes": 267776 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Heidenhain.Contracts.dll", + "sha256": "5e2b6ec5df6d7835507de3112b6a64cceade116b418ea464ad47299d307bbd04", + "bytes": 55808 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Heidenhain.dll", + "sha256": "d8e26f57b5e7d2edd82e0ddc187103ae4d232f561d6429be5d1f35d4d2d64bcf", + "bytes": 137728 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll", + "sha256": "0d9de298c029716d3bbb72f35f1b494872cb617b3d05a5ce9b760fc7b4383ca3", + "bytes": 129536 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll", + "sha256": "25a7dff44fd7a674b90f0f41ca433402f3ae8480070e08d4b0df09cd1bb1fce9", + "bytes": 167936 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll", + "sha256": "91a07acd0ce705ad19d21a127994567f1f2b45f83ee897c74e1db7b2e59d73ff", + "bytes": 51712 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll", + "sha256": "efc956b9e470adbb1e4fb13e81092a8b7707e99b4124bb23fc7407ffaf1e0e30", + "bytes": 143872 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll", + "sha256": "793446a1aaa9e1fc2a030f8b919ec5e6931968a64b85f4eea466bac5edfb8234", + "bytes": 19968 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll", + "sha256": "07e16230adab36c22379329b701a5c9f6e0168c8bd5cb5c7a2e665a20335c31f", + "bytes": 228352 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll", + "sha256": "29a7f3c00be19845c0343d477bf6168b963bbe7f3c9f54ddceb6584eb7ee612d", + "bytes": 25088 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll", + "sha256": "85841b7d55803f8c5bd70debbe3c4b1b2dbe8792ef9639ffaf3a9062a0ac7a8e", + "bytes": 39424 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll", + "sha256": "5e8f2b9a5441fb64576969b7c30e7f0f5fc5a284c4d393ec6d1ff7843e077a26", + "bytes": 131584 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll", + "sha256": "0df95c19a75ad6b4ce40903b36f7ae9f796a991d71a001a2631f28bc37d03992", + "bytes": 48128 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll", + "sha256": "dba003d3846ec2521ba8ba4d27cbd5022fd0f34191d3a03b9688777cde721124", + "bytes": 139776 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll", + "sha256": "437a921f496590fc76e72075d075f35eefd3963c1e60b950573b82c50212b49a", + "bytes": 12800 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll", + "sha256": "9c6142bbdce0d3a733ba741f2e307eae254436bc23540fe0ed19bbe87bde3e9e", + "bytes": 195584 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll", + "sha256": "e9b60f65c2b833ba2e977d028e01a910504967f3ab8c2c7c764f348c5502cd61", + "bytes": 34816 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll", + "sha256": "15d25fde18009a6b8a28fe2c50cc42e18ef7739a01beca77d1572c3f53691e2b", + "bytes": 22528 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll", + "sha256": "b4cc3f8ca842a80b623d93e0b5aeeaaf8a01901170259a0871cc891736a61e91", + "bytes": 29696 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll", + "sha256": "054444e3558eeabb8cbc825c7229e6d27c765f2c8462fac98d361ce461915d2a", + "bytes": 147968 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll", + "sha256": "bc98c88f85fd5b7a7fea46f33b06cc73a157ab5cfabaa72c1f7f0829a9bae1d5", + "bytes": 29696 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.dll", + "sha256": "b8e3fc8808639a83c1531bb2de21405e92045ab07360bcba3a3352cb94194052", + "bytes": 124928 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll", + "sha256": "11f22a14f53eb963106a4bb7dc75349bec2c072c1ef59cf5d71c5ca2fa4a1ba4", + "bytes": 43008 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll", + "sha256": "4c77e5cf3505581ee45ecefd710dc19ff40d9582ead9f853e14fc7166c7b6e7a", + "bytes": 38912 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll", + "sha256": "4511b055530c43ec7589e82a347f1b36993d1ae879b105031a321cf0643062c2", + "bytes": 40448 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.dll", + "sha256": "6e221a35f0444ac33c6fb3549097b37c36018034502d49a110b16385fe6f37d8", + "bytes": 144896 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll", + "sha256": "3586f46bb6ee7f6dcddab89d23d5fe66d94af85b469f32a960ffcc5b81c529f4", + "bytes": 17408 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll", + "sha256": "7f3f097ca8aa88dc9bb79079a1d97a585660f4dbf3ed8df1279870b7d85cce89", + "bytes": 190976 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.OpcUaServer.dll", + "sha256": "60bdb8f1aac94c999425d455c3b7fc4811f2f2ac2137cdd0e1a62468904438de", + "bytes": 523776 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Runtime.dll", + "sha256": "25c36847ff64aa489957cefc474072c660a07588940e86338f9ddedf2e0944a2", + "bytes": 549888 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Security.dll", + "sha256": "e183b4c02c9ee67a296092949ff34c1b14da8d05c856f98d51592b03028fe827", + "bytes": 52736 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/Opc.Ua.Client.dll", + "sha256": "620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd", + "bytes": 2442880 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/Opc.Ua.Configuration.dll", + "sha256": "6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7", + "bytes": 117376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/Opc.Ua.Core.Schema.dll", + "sha256": "51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e", + "bytes": 135168 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/Opc.Ua.Core.Types.dll", + "sha256": "a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96", + "bytes": 12703872 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/Opc.Ua.Core.dll", + "sha256": "9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a", + "bytes": 2549376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/Opc.Ua.Security.Certificates.dll", + "sha256": "7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0", + "bytes": 118400 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/Opc.Ua.Types.dll", + "sha256": "c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1", + "bytes": 1792640 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.deps.json", + "sha256": "9b69ae776f440962bd8913f185ae153ac0eea375c9097c3be9ed0fcb1a908654", + "bytes": 39639 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.dll", + "sha256": "cc407980e4d3693b802bb3ed839171d84a1293345d823d138075aa66d3c3aab7", + "bytes": 92672 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.runtimeconfig.json", + "sha256": "9950d4583cfc9a106857c0d5b8a75b53e8774852b57b80bc3823a74d44a4d87f", + "bytes": 330 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.Shared.dll", + "sha256": "290c74fab79b4ce82916c5d07f7292629adb5858db785e8b3146600d05ebb61a", + "bytes": 120320 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll", + "sha256": "3ee857534ac11502ae7b52b5e4d87a72d33ae02c7cd66fc4a34c1974cf40d4e3", + "bytes": 165376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll", + "sha256": "15d25fde18009a6b8a28fe2c50cc42e18ef7739a01beca77d1572c3f53691e2b", + "bytes": 22528 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll", + "sha256": "b4cc3f8ca842a80b623d93e0b5aeeaaf8a01901170259a0871cc891736a61e91", + "bytes": 29696 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/base15/Directory.Packages.props", + "sha256": "7e6459447843b93bc94fbc1f3eeb1c695b5c46c08aeb94debe86a7d419c63221", + "bytes": 18829 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880/Directory.Packages.props", + "sha256": "20c0c24c9e5406ce57c0ec6ca833085e27f6a8997d6c5d51745878ef22ffc54e", + "bytes": 19000 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs", + "sha256": "75e7a45c34b66e52d993e1f9145d9eb69d6049eebe08b065e84b0d40370fc9ab", + "bytes": 35069 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880/scripts/validation/opcua-sdk-compatibility/container-leg.sh", + "sha256": "1f5d1158572379b8a6304c3a3134a78c112043940f5bce468621677f7da3ef9e", + "bytes": 2589 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880/scripts/validation/opcua-sdk-compatibility/run.py", + "sha256": "f0db8346cdd66033cbf01c9d5bcff971dca01917084d86cecddb1d544096ec67", + "bytes": 13080 + } +] diff --git a/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/commands.json b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/commands.json new file mode 100644 index 000000000..11eca6f27 --- /dev/null +++ b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/commands.json @@ -0,0 +1,206 @@ +[ + { + "argv": [ + "dotnet", + "build", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/ProcessHost.csproj", + "-c", + "Release", + "-m:1", + "--nologo" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/build.log" + }, + { + "argv": [ + "dotnet", + "build", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/ProcessHost.csproj", + "-c", + "Release", + "-m:1", + "--nologo" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/build.log" + }, + { + "argv": [ + "dotnet", + "publish", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880/src/Client/ZB.MOM.WW.OtOpcUa.Client.CLI/ZB.MOM.WW.OtOpcUa.Client.CLI.csproj", + "-c", + "Release", + "-o", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli", + "-m:1", + "--nologo" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli-build.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "prepare", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-baseline-server/shared" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-baseline-server/prepare.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "server", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-baseline-server/server" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-baseline-server/server.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "client", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-baseline-server/shared", + "opc.tcp://127.0.0.1:57748/OtOpcUa", + "1.5.378.0" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-baseline-server/shared.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "prepare", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-candidate-server/shared" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-candidate-server/prepare.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "server", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-candidate-server/server" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-candidate-server/server.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "client", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-candidate-server/shared", + "opc.tcp://127.0.0.1:57811/OtOpcUa", + "2.0.1.0" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/baseline-client-to-candidate-server/shared.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "prepare", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-baseline-server/shared" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-baseline-server/prepare.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "server", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-baseline-server/server" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-baseline-server/server.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "client", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-baseline-server/shared", + "opc.tcp://127.0.0.1:57886/OtOpcUa", + "1.5.378.0" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-baseline-server/shared.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "prepare", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-candidate-server/shared" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-candidate-server/prepare.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "server", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-candidate-server/server" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-candidate-server/server.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "client", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-candidate-server/shared", + "opc.tcp://127.0.0.1:57999/OtOpcUa", + "2.0.1.0" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-client-to-candidate-server/shared.log" + }, + { + "argv": [ + "docker", + "run", + "--rm", + "--name", + "otopcua-sdk2-matrix-c9b6fca5b769", + "--network", + "none", + "-e", + "OPCUA_MATRIX_PASSWORD", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0:/candidate:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0:/server:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli:/cli:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-driver-cli-to-baseline-server:/task", + "mcr.microsoft.com/dotnet/sdk:10.0.103-noble", + "bash", + "/task/run.sh" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-driver-cli-to-baseline-server/container.log" + }, + { + "argv": [ + "docker", + "run", + "--rm", + "--name", + "otopcua-sdk2-matrix-5262f65fe5d3", + "--network", + "none", + "-e", + "OPCUA_MATRIX_PASSWORD", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0:/candidate:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0:/server:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-cli:/cli:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-driver-cli-to-candidate-server:/task", + "mcr.microsoft.com/dotnet/sdk:10.0.103-noble", + "bash", + "/task/run.sh" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-driver-cli-to-candidate-server/container.log" + } +] diff --git a/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/matrix.json b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/matrix.json new file mode 100644 index 000000000..09796cd23 --- /dev/null +++ b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/matrix.json @@ -0,0 +1,1715 @@ +[ + { + "sdk": "1.5.378.0", + "process": 12215, + "cases": [ + { + "name": "trusted-SignAndEncrypt-API-key", + "status": "passed" + }, + { + "name": "production-length-API-key-wrong-secret-reaches-key-check", + "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" + }, + { + "apiKeyLength": 65, + "serverSdk": "1.5.378.0", + "note": "ApiKeySecret.Generate shape; SDK 2.0.1 sends a UserName password over 64 bytes as RsaEncryptedSecret unless the client forces the legacy format (#880)" + }, + { + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "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 + } + ] + }, + { + "rawReferences": [ + { + "nodeId": "ns=2;s=Matrix/dev/Scalar", + "browseName": "2:Matrix/dev/Scalar", + "nodeClass": "Variable", + "typeDefinition": "i=63", + "referenceType": "i=35", + "IsForward": true + }, + { + "nodeId": "ns=2;s=Matrix/dev/Vector", + "browseName": "2:Matrix/dev/Vector", + "nodeClass": "Variable", + "typeDefinition": "i=63", + "referenceType": "i=35", + "IsForward": true + }, + { + "nodeId": "ns=2;s=Matrix/dev/Alarm", + "browseName": "2:Alarm", + "nodeClass": "Object", + "typeDefinition": "i=10637", + "referenceType": "i=47", + "IsForward": true + }, + { + "nodeId": "ns=2;s=Matrix/dev/UnsetTimestamp", + "browseName": "2:Matrix/dev/UnsetTimestamp", + "nodeClass": "Variable", + "typeDefinition": "i=63", + "referenceType": "i=35", + "IsForward": true + }, + { + "nodeId": "i=61", + "browseName": "FolderType", + "nodeClass": "ObjectType", + "typeDefinition": "i=0", + "referenceType": "i=40", + "IsForward": true + } + ] + }, + { + "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", + "serverTimestamp": "2026-11-12T16:06:32.3068650Z", + "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" + }, + { + "sourceTimestamp": "2026-11-12T16:06:32.3520680Z", + "serverTimestamp": "2026-11-12T16:06:32.3524470Z", + "status": "Good" + }, + { + "sourceTimestamp": "2026-11-12T16:06:34.3945930Z", + "serverTimestamp": "2026-11-12T16:06:34.3945930Z", + "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.1635, + "p95": 0.2638, + "p99": 0.2992, + "throughputOperationsPerSecond": 5735.326167999174 + }, + "scalar-write": { + "p50": 0.1602, + "p95": 0.2073, + "p99": 0.2346, + "throughputOperationsPerSecond": 5930.424262551743 + }, + "array-read": { + "p50": 0.1328, + "p95": 0.2753, + "p99": 0.5263, + "throughputOperationsPerSecond": 6134.969325153374 + }, + "array-write": { + "p50": 0.1339, + "p95": 0.5638, + "p99": 11.6375, + "throughputOperationsPerSecond": 2454.1684050359545 + } + }, + "clientCpuMilliseconds": 42.056, + "clientAllocatedBytes": 1350880, + "clientAllocatedBytesPerOperation": 6754.4, + "clientWorkingSetBytes": 140967936, + "clientPrivateBytes": 0, + "clientThreads": 20, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 2, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.136, + "p95": 0.1828, + "p99": 0.197, + "throughputOperationsPerSecond": 7172.777873414818 + }, + "scalar-write": { + "p50": 0.1299, + "p95": 0.1646, + "p99": 0.1761, + "throughputOperationsPerSecond": 7484.581761571166 + }, + "array-read": { + "p50": 0.1238, + "p95": 0.1471, + "p99": 0.1561, + "throughputOperationsPerSecond": 7938.524069604981 + }, + "array-write": { + "p50": 0.132, + "p95": 0.15, + "p99": 0.1554, + "throughputOperationsPerSecond": 7590.363274786329 + } + }, + "clientCpuMilliseconds": 39.434, + "clientAllocatedBytes": 1326920, + "clientAllocatedBytesPerOperation": 6634.6, + "clientWorkingSetBytes": 142589952, + "clientPrivateBytes": 0, + "clientThreads": 20, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 3, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.1356, + "p95": 0.5737, + "p99": 2.6556, + "throughputOperationsPerSecond": 3939.5515214547972 + }, + "scalar-write": { + "p50": 0.1398, + "p95": 0.2366, + "p99": 0.6711, + "throughputOperationsPerSecond": 6269.592476489029 + }, + "array-read": { + "p50": 0.137, + "p95": 0.2861, + "p99": 0.6525, + "throughputOperationsPerSecond": 6094.216588457554 + }, + "array-write": { + "p50": 0.1408, + "p95": 0.3463, + "p99": 2.0573, + "throughputOperationsPerSecond": 4752.806532257298 + } + }, + "clientCpuMilliseconds": 36.305, + "clientAllocatedBytes": 1341264, + "clientAllocatedBytesPerOperation": 6706.32, + "clientWorkingSetBytes": 143572992, + "clientPrivateBytes": 0, + "clientThreads": 20, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + } + ], + "failures": 0, + "loadedSdkAssemblies": [ + { + "name": "Opc.Ua.Core", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/Opc.Ua.Core.dll" + }, + { + "name": "Opc.Ua.Types", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/Opc.Ua.Types.dll" + }, + { + "name": "Opc.Ua.Configuration", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/Opc.Ua.Configuration.dll" + }, + { + "name": "Opc.Ua.Security.Certificates", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" + }, + { + "name": "Opc.Ua.Client", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll" + } + ], + "name": "baseline-client-to-baseline-server", + "server": { + "endpoint": "opc.tcp://127.0.0.1:57748/OtOpcUa", + "process": 12205, + "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": 12303, + "cases": [ + { + "name": "trusted-SignAndEncrypt-API-key", + "status": "passed" + }, + { + "name": "production-length-API-key-wrong-secret-reaches-key-check", + "status": "passed" + }, + { + "name": "raw-UNS-URI-browse", + "status": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "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": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "name": "typed-array-read-write-ns-3", + "status": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "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" + }, + { + "apiKeyLength": 65, + "serverSdk": "2.0.1.0", + "note": "ApiKeySecret.Generate shape; SDK 2.0.1 sends a UserName password over 64 bytes as RsaEncryptedSecret unless the client forces the legacy format (#880)" + }, + { + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", + "serverTimestamp": "2026-11-12T16:06:43.8364800Z", + "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" + }, + { + "sourceTimestamp": "2026-11-12T16:06:43.8903990Z", + "serverTimestamp": "2026-11-12T16:06:43.8918480Z", + "status": "Good" + }, + { + "sourceTimestamp": "2026-11-12T16:06:46.0467830Z", + "serverTimestamp": "2026-11-12T16:06:46.0467830Z", + "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.1982, + "p95": 0.2441, + "p99": 0.2649, + "throughputOperationsPerSecond": 4956.87518588282 + }, + "scalar-write": { + "p50": 0.2287, + "p95": 0.2673, + "p99": 0.3185, + "throughputOperationsPerSecond": 4356.653044864814 + }, + "array-read": { + "p50": 0.1806, + "p95": 0.221, + "p99": 0.2248, + "throughputOperationsPerSecond": 5451.670937142233 + }, + "array-write": { + "p50": 0.1798, + "p95": 0.2525, + "p99": 2.3822, + "throughputOperationsPerSecond": 4410.6490711173055 + } + }, + "clientCpuMilliseconds": 51.552, + "clientAllocatedBytes": 1325872, + "clientAllocatedBytesPerOperation": 6629.36, + "clientWorkingSetBytes": 140623872, + "clientPrivateBytes": 0, + "clientThreads": 18, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 2, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.1646, + "p95": 0.1841, + "p99": 0.1913, + "throughputOperationsPerSecond": 6052.902366684825 + }, + "scalar-write": { + "p50": 0.1858, + "p95": 0.2317, + "p99": 0.2338, + "throughputOperationsPerSecond": 5342.907824154217 + }, + "array-read": { + "p50": 0.186, + "p95": 0.2115, + "p99": 0.23, + "throughputOperationsPerSecond": 5351.829255239441 + }, + "array-write": { + "p50": 0.1892, + "p95": 0.22, + "p99": 0.2414, + "throughputOperationsPerSecond": 5242.848754299135 + } + }, + "clientCpuMilliseconds": 45.525, + "clientAllocatedBytes": 1326824, + "clientAllocatedBytesPerOperation": 6634.12, + "clientWorkingSetBytes": 142262272, + "clientPrivateBytes": 0, + "clientThreads": 18, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 3, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.167, + "p95": 0.2054, + "p99": 2.7737, + "throughputOperationsPerSecond": 4544.256514191715 + }, + "scalar-write": { + "p50": 0.1702, + "p95": 0.1913, + "p99": 0.1932, + "throughputOperationsPerSecond": 5855.8980605265615 + }, + "array-read": { + "p50": 0.1657, + "p95": 0.1888, + "p99": 0.2062, + "throughputOperationsPerSecond": 5942.053098186485 + }, + "array-write": { + "p50": 0.1802, + "p95": 0.2136, + "p99": 0.2222, + "throughputOperationsPerSecond": 5463.824021155926 + } + }, + "clientCpuMilliseconds": 47.105, + "clientAllocatedBytes": 1286520, + "clientAllocatedBytesPerOperation": 6432.6, + "clientWorkingSetBytes": 143327232, + "clientPrivateBytes": 0, + "clientThreads": 18, + "clientHandles": 0, + "collections": [ + 1, + 0, + 0 + ] + } + ], + "failures": 3, + "loadedSdkAssemblies": [ + { + "name": "Opc.Ua.Core", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/Opc.Ua.Core.dll" + }, + { + "name": "Opc.Ua.Types", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/Opc.Ua.Types.dll" + }, + { + "name": "Opc.Ua.Configuration", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/Opc.Ua.Configuration.dll" + }, + { + "name": "Opc.Ua.Security.Certificates", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" + }, + { + "name": "Opc.Ua.Client", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll" + } + ], + "name": "baseline-client-to-candidate-server", + "server": { + "endpoint": "opc.tcp://127.0.0.1:57811/OtOpcUa", + "process": 12259, + "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": 12391, + "cases": [ + { + "name": "trusted-SignAndEncrypt-API-key", + "status": "passed" + }, + { + "name": "production-length-API-key-wrong-secret-reaches-key-check", + "status": "passed" + }, + { + "name": "sdk2-default-RsaEncryptedSecret-control", + "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" + }, + { + "apiKeyLength": 65, + "serverSdk": "1.5.378.0", + "note": "ApiKeySecret.Generate shape; SDK 2.0.1 sends a UserName password over 64 bytes as RsaEncryptedSecret unless the client forces the legacy format (#880)" + }, + { + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "sdkDefaultFormatStatus": "BadIdentityTokenInvalid", + "serverSdk": "1.5.378.0" + }, + { + "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 + } + ] + }, + { + "rawReferences": [ + { + "nodeId": "ns=2;s=Matrix/dev/Scalar", + "browseName": "2:Matrix/dev/Scalar", + "nodeClass": "Variable", + "typeDefinition": "i=63", + "referenceType": "i=35", + "IsForward": true + }, + { + "nodeId": "ns=2;s=Matrix/dev/Vector", + "browseName": "2:Matrix/dev/Vector", + "nodeClass": "Variable", + "typeDefinition": "i=63", + "referenceType": "i=35", + "IsForward": true + }, + { + "nodeId": "ns=2;s=Matrix/dev/Alarm", + "browseName": "2:Alarm", + "nodeClass": "Object", + "typeDefinition": "i=10637", + "referenceType": "i=47", + "IsForward": true + }, + { + "nodeId": "ns=2;s=Matrix/dev/UnsetTimestamp", + "browseName": "2:Matrix/dev/UnsetTimestamp", + "nodeClass": "Variable", + "typeDefinition": "i=63", + "referenceType": "i=35", + "IsForward": true + }, + { + "nodeId": "i=61", + "browseName": "FolderType", + "nodeClass": "ObjectType", + "typeDefinition": "", + "referenceType": "i=40", + "IsForward": true + } + ] + }, + { + "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", + "serverTimestamp": "2026-11-12T16:07:02.5525570Z", + "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" + }, + { + "sourceTimestamp": "2026-11-12T16:07:02.6096640Z", + "serverTimestamp": "2026-11-12T16:07:02.6100230Z", + "status": "Good" + }, + { + "sourceTimestamp": "2026-11-12T16:07:04.7002510Z", + "serverTimestamp": "2026-11-12T16:07:04.7002510Z", + "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.17, + "p95": 0.2086, + "p99": 0.2175, + "throughputOperationsPerSecond": 5771.139684664929 + }, + "scalar-write": { + "p50": 0.1879, + "p95": 0.2378, + "p99": 0.2659, + "throughputOperationsPerSecond": 5147.21021206506 + }, + "array-read": { + "p50": 0.1562, + "p95": 0.1967, + "p99": 0.207, + "throughputOperationsPerSecond": 6343.809076722027 + }, + "array-write": { + "p50": 0.1542, + "p95": 0.2456, + "p99": 8.0502, + "throughputOperationsPerSecond": 3147.2867241151403 + } + }, + "clientCpuMilliseconds": 58.813, + "clientAllocatedBytes": 690400, + "clientAllocatedBytesPerOperation": 3452, + "clientWorkingSetBytes": 137805824, + "clientPrivateBytes": 0, + "clientThreads": 19, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 2, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.1557, + "p95": 0.202, + "p99": 0.2238, + "throughputOperationsPerSecond": 6293.503845330847 + }, + "scalar-write": { + "p50": 0.1364, + "p95": 0.182, + "p99": 0.1986, + "throughputOperationsPerSecond": 7034.624421402143 + }, + "array-read": { + "p50": 0.1394, + "p95": 0.163, + "p99": 0.1809, + "throughputOperationsPerSecond": 7329.6587310894765 + }, + "array-write": { + "p50": 0.1565, + "p95": 0.1937, + "p99": 0.2259, + "throughputOperationsPerSecond": 6242.3531174311465 + } + }, + "clientCpuMilliseconds": 52.264, + "clientAllocatedBytes": 682784, + "clientAllocatedBytesPerOperation": 3413.92, + "clientWorkingSetBytes": 138657792, + "clientPrivateBytes": 0, + "clientThreads": 19, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 3, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.1383, + "p95": 0.1709, + "p99": 0.2007, + "throughputOperationsPerSecond": 7135.21227256511 + }, + "scalar-write": { + "p50": 0.1385, + "p95": 0.1742, + "p99": 0.1881, + "throughputOperationsPerSecond": 6997.117187718659 + }, + "array-read": { + "p50": 0.1219, + "p95": 0.154, + "p99": 0.1857, + "throughputOperationsPerSecond": 7967.873533911271 + }, + "array-write": { + "p50": 0.1346, + "p95": 0.1606, + "p99": 0.1661, + "throughputOperationsPerSecond": 7415.427054444064 + } + }, + "clientCpuMilliseconds": 47.412, + "clientAllocatedBytes": 676880, + "clientAllocatedBytesPerOperation": 3384.4, + "clientWorkingSetBytes": 139247616, + "clientPrivateBytes": 0, + "clientThreads": 19, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + } + ], + "failures": 0, + "loadedSdkAssemblies": [ + { + "name": "Opc.Ua.Core", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll" + }, + { + "name": "Opc.Ua.Types", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll" + }, + { + "name": "Opc.Ua.Core.Types", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll" + }, + { + "name": "Opc.Ua.Configuration", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll" + }, + { + "name": "Opc.Ua.Security.Certificates", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" + }, + { + "name": "Opc.Ua.Client", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll" + } + ], + "name": "candidate-client-to-baseline-server", + "server": { + "endpoint": "opc.tcp://127.0.0.1:57886/OtOpcUa", + "process": 12386, + "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": 12627, + "cases": [ + { + "name": "trusted-SignAndEncrypt-API-key", + "status": "passed" + }, + { + "name": "production-length-API-key-wrong-secret-reaches-key-check", + "status": "passed" + }, + { + "name": "sdk2-default-RsaEncryptedSecret-control", + "status": "passed" + }, + { + "name": "raw-UNS-URI-browse", + "status": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "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": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "name": "typed-array-read-write-ns-3", + "status": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "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" + }, + { + "apiKeyLength": 65, + "serverSdk": "2.0.1.0", + "note": "ApiKeySecret.Generate shape; SDK 2.0.1 sends a UserName password over 64 bytes as RsaEncryptedSecret unless the client forces the legacy format (#880)" + }, + { + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "sdkDefaultFormatStatus": "Good", + "serverSdk": "2.0.1.0" + }, + { + "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", + "serverTimestamp": "2026-11-12T16:07:23.8184970Z", + "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" + }, + { + "sourceTimestamp": "2026-11-12T16:07:24.0379700Z", + "serverTimestamp": "2026-11-12T16:07:24.0397930Z", + "status": "Good" + }, + { + "sourceTimestamp": "2026-11-12T16:07:25.5307000Z", + "serverTimestamp": "2026-11-12T16:07:25.5307000Z", + "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.2488, + "p95": 0.717, + "p99": 0.7317, + "throughputOperationsPerSecond": 3223.8513417669287 + }, + "scalar-write": { + "p50": 0.4056, + "p95": 10.575, + "p99": 44.4046, + "throughputOperationsPerSecond": 442.83959375667024 + }, + "array-read": { + "p50": 0.3105, + "p95": 1.9147, + "p99": 10.5212, + "throughputOperationsPerSecond": 1387.6053539364977 + }, + "array-write": { + "p50": 0.3317, + "p95": 8.3318, + "p99": 21.192, + "throughputOperationsPerSecond": 759.9696620110925 + } + }, + "clientCpuMilliseconds": 48.15, + "clientAllocatedBytes": 682656, + "clientAllocatedBytesPerOperation": 3413.28, + "clientWorkingSetBytes": 105037824, + "clientPrivateBytes": 0, + "clientThreads": 21, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 2, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.6827, + "p95": 9.0464, + "p99": 19.8075, + "throughputOperationsPerSecond": 471.4734961174158 + }, + "scalar-write": { + "p50": 0.8447, + "p95": 24.119, + "p99": 32.4115, + "throughputOperationsPerSecond": 187.43713826975278 + }, + "array-read": { + "p50": 0.3734, + "p95": 10.7092, + "p99": 12.5353, + "throughputOperationsPerSecond": 342.7420598660701 + }, + "array-write": { + "p50": 2.6731, + "p95": 13.5048, + "p99": 18.3889, + "throughputOperationsPerSecond": 172.34877601346255 + } + }, + "clientCpuMilliseconds": 151.38, + "clientAllocatedBytes": 703216, + "clientAllocatedBytesPerOperation": 3516.08, + "clientWorkingSetBytes": 109379584, + "clientPrivateBytes": 0, + "clientThreads": 21, + "clientHandles": 0, + "collections": [ + 1, + 0, + 0 + ] + }, + { + "benchmarkRound": 3, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.3207, + "p95": 10.3305, + "p99": 13.1922, + "throughputOperationsPerSecond": 604.6673060015648 + }, + "scalar-write": { + "p50": 0.4282, + "p95": 10.5973, + "p99": 15.8935, + "throughputOperationsPerSecond": 574.0771996054941 + }, + "array-read": { + "p50": 0.8233, + "p95": 14.5327, + "p99": 37.0639, + "throughputOperationsPerSecond": 218.7753916188898 + }, + "array-write": { + "p50": 0.6186, + "p95": 14.3218, + "p99": 22.7617, + "throughputOperationsPerSecond": 305.12009832190046 + } + }, + "clientCpuMilliseconds": 170.551, + "clientAllocatedBytes": 701200, + "clientAllocatedBytesPerOperation": 3506, + "clientWorkingSetBytes": 110755840, + "clientPrivateBytes": 0, + "clientThreads": 21, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + } + ], + "failures": 3, + "loadedSdkAssemblies": [ + { + "name": "Opc.Ua.Core", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll" + }, + { + "name": "Opc.Ua.Types", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll" + }, + { + "name": "Opc.Ua.Core.Types", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll" + }, + { + "name": "Opc.Ua.Configuration", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll" + }, + { + "name": "Opc.Ua.Security.Certificates", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" + }, + { + "name": "Opc.Ua.Client", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll" + } + ], + "name": "candidate-client-to-candidate-server", + "server": { + "endpoint": "opc.tcp://127.0.0.1:57999/OtOpcUa", + "process": 12607, + "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": 74, + "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": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-driver-cli-to-baseline-server/cli-read.log", + "expectedOutput": "Value: 92" + }, + { + "name": "production-CLI-raw-history", + "status": "passed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-driver-cli-to-baseline-server/cli-raw-history.log", + "expectedOutput": "25 values returned." + }, + { + "name": "production-CLI-event-history", + "status": "passed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-driver-cli-to-baseline-server/cli-event-history.log", + "expectedOutput": "25 events returned." + } + ], + "observations": [ + { + "SourceTimestampUtc": "2026-11-12T16:07:32.6959976Z", + "ServerTimestampUtc": "2026-11-12T16:07:32.696913Z", + "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-c9b6fca5b769", + "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:41705/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": "failed", + "error": "System.InvalidOperationException: Read failure\n at ProcessHost.Require(Boolean yes, String message) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 60\n at ProcessHost.<>c__DisplayClass31_0.<b__1>d.MoveNext() in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 336\n--- End of stack trace from previous location ---\n at ProcessHost.Case(String name, Func`1 action) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 63" + }, + { + "name": "driver-scalar-array-write-roundtrip", + "status": "passed" + }, + { + "name": "driver-monitor-quality-timestamps", + "status": "passed" + }, + { + "name": "production-CLI-read", + "status": "passed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-driver-cli-to-candidate-server/cli-read.log", + "expectedOutput": "Value: 92" + }, + { + "name": "production-CLI-raw-history", + "status": "passed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-driver-cli-to-candidate-server/cli-raw-history.log", + "expectedOutput": "25 values returned." + }, + { + "name": "production-CLI-event-history", + "status": "passed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-fixed/candidate-driver-cli-to-candidate-server/cli-event-history.log", + "expectedOutput": "25 events returned." + } + ], + "observations": [ + { + "SourceTimestampUtc": "2026-11-12T16:07:40.9847341Z", + "ServerTimestampUtc": "2026-11-12T16:07:40.9866789Z", + "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": 1, + "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": "failed", + "container": "otopcua-sdk2-matrix-5262f65fe5d3", + "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:35535/OtOpcUa", + "process": 33, + "sdk": "2.0.1.0", + "rawUri": "https://zb.com/otopcua/raw", + "unsUri": "https://zb.com/otopcua/uns" + } + } +] diff --git a/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/source-info.json b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/source-info.json new file mode 100644 index 000000000..5a81be4ce --- /dev/null +++ b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/fixed/source-info.json @@ -0,0 +1,15 @@ +{ + "baseline": { + "root": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/base15", + "commit": "83ed880e4471344deaf008da9bd028c7e170bdc7", + "sdkPackages": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/base15/Directory.Packages.props" + }, + "candidate": { + "root": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880", + "commit": "da948e5fb5547827a72f0d6495704e9a240af207", + "sdkPackages": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880/Directory.Packages.props" + }, + "scope": "Loopback application contract and 3 warmed 50-operation rounds per scalar/Int32[3] read/write kind; shared development host, no full load/reconnect/failover/backend/soak performance claim.", + "dateUtc": "2026-11-12T16:06:06Z", + "apiKey": "random per run, production ApiKeySecret.Generate shape, 65 chars (#880); value never recorded" +} diff --git a/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/artifact-hashes.json b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/artifact-hashes.json new file mode 100644 index 000000000..f2cfd4464 --- /dev/null +++ b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/artifact-hashes.json @@ -0,0 +1,807 @@ +[ + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/Opc.Ua.Client.dll", + "sha256": "fd000b186f4bc5dbd9947e876f96c178e8c4259ee3e8717d672a4ac2f4c3a058", + "bytes": 852096 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/Opc.Ua.Configuration.dll", + "sha256": "30fb5142f13a3b3083c0484bcdedaec2efe2f50e57f10ec6a61257ca5359aa7e", + "bytes": 85120 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/Opc.Ua.Core.dll", + "sha256": "602e85316943ad7ebae33a23d60a69a6ea50d91250ad0556906b816435daa37c", + "bytes": 7945344 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/Opc.Ua.Security.Certificates.dll", + "sha256": "a2a05c64348f6f8aa60de0fe27d8e5e22d12e09b1ba6172ca34b3773620e394c", + "bytes": 79488 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/Opc.Ua.Types.dll", + "sha256": "c5c5e36cf6381444b408fe1b51726b17deca74173764cd62ccee954b3c8c2718", + "bytes": 1127552 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/ZB.MOM.WW.OtOpcUa.Client.Shared.deps.json", + "sha256": "d78bbff242c51bb464f007a52c174d4aa7b18d5f1128c3922f557405c6e35735", + "bytes": 10571 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/client/ZB.MOM.WW.OtOpcUa.Client.Shared.dll", + "sha256": "5fd5c90c6560a031a581d32e985d1a1803fbec96fc537f1d3085b1bff4f3b16f", + "bytes": 111616 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Client.dll", + "sha256": "fd000b186f4bc5dbd9947e876f96c178e8c4259ee3e8717d672a4ac2f4c3a058", + "bytes": 852096 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Configuration.dll", + "sha256": "30fb5142f13a3b3083c0484bcdedaec2efe2f50e57f10ec6a61257ca5359aa7e", + "bytes": 85120 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Core.dll", + "sha256": "602e85316943ad7ebae33a23d60a69a6ea50d91250ad0556906b816435daa37c", + "bytes": 7945344 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Security.Certificates.dll", + "sha256": "a2a05c64348f6f8aa60de0fe27d8e5e22d12e09b1ba6172ca34b3773620e394c", + "bytes": 79488 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Server.dll", + "sha256": "d8d9706dea577858325730cd89896826ed82f7bfcf9503ccd0260311663a69f4", + "bytes": 642176 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/Opc.Ua.Types.dll", + "sha256": "c5c5e36cf6381444b408fe1b51726b17deca74173764cd62ccee954b3c8c2718", + "bytes": 1127552 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/OtOpcUa.Host.deps.json", + "sha256": "f47fb25d83e40a5c1d96c063f1d63b02a04c222a10554220df58cac896654ea9", + "bytes": 153279 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/OtOpcUa.Host.dll", + "sha256": "b264064b4a59122c2f14d98b177079fda5d82fe37764aff10a994525dba33066", + "bytes": 193024 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/OtOpcUa.Host.runtimeconfig.json", + "sha256": "eff38a9750f7cca2407b1d639a963d56ffea92088e6da971bbbfa74e3dcd7224", + "bytes": 540 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.AdminUI.dll", + "sha256": "fc16c4b36916f49b0a4112632c95054f1d7b77a85f870b5cf71a1bb852b7f80a", + "bytes": 2152448 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Cluster.dll", + "sha256": "581231468d10849bba17de7fe8d0daccea1010784c80dab4e88f9f338fdd2ad9", + "bytes": 68096 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Commons.dll", + "sha256": "16f8d417e46de3edc017692e0f0a092a84aea7d442891f3f92d8c3b3bb01c422", + "bytes": 231424 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Configuration.dll", + "sha256": "f0d2478de9ed67e84346969c007af038a42b265ee43b5315f16c25929a93c668", + "bytes": 542720 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.ControlPlane.dll", + "sha256": "df08af92d5d57054011f77c12218925b320dddc205a45372a749d612b3e6cc73", + "bytes": 179712 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll", + "sha256": "d4e769c2b59a9c313f7927d447c553b0bebd3024e1f6d9e519aa0f11d0d0628d", + "bytes": 124416 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll", + "sha256": "2f0d2feae2b71f7ab1202e43dfd137641741e73bc9caa91f121be8856a486818", + "bytes": 56320 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll", + "sha256": "8c9a595b8900fb5e203cd025403597e400d367f1ca477324144c456e63ffb7fe", + "bytes": 83968 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll", + "sha256": "ff3ee0236916241a5c82bfddc17115e7726cc3f6f93dc1dcf533de177ee39cb9", + "bytes": 13312 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll", + "sha256": "d540b13aa70182ab4e9c33c9217dc37313afd9636126e9d7d8c25504ee19cfae", + "bytes": 135680 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll", + "sha256": "f23969e21dfea92e3c749cbd5e496b77f60e81e72139a475c67ca610e79cb344", + "bytes": 117248 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll", + "sha256": "749a56e2d2e6ff405db01f0990fe023458b9cd7386a65d1dca93db0e9219232d", + "bytes": 121856 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll", + "sha256": "077e40cce67d2b4ab5486d214307b4571e2289ae883d24c7133c01470309c226", + "bytes": 11264 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Core.dll", + "sha256": "d0f6db9b4c8defd718e189fa05b57ee9acb7b048efe75dc8dcb1e6496ffaecf1", + "bytes": 124928 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll", + "sha256": "362cfc701e0ca8ea6c86b1d1e80e0a31285f329e5f0f24c8ecb8ecb3d0c977f8", + "bytes": 123392 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll", + "sha256": "5f16a65afe449c7920e915a6dddb050c1824d6794229985a455d998409087116", + "bytes": 24576 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll", + "sha256": "6d13c2c121d6100df4629822466a4c2a52092982b4135e82d3f18944543bf3fd", + "bytes": 214016 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll", + "sha256": "537d9b4469bfce23c09690eac7b70e6a37a0985a2e723f2ce3a8acddaee217ff", + "bytes": 30720 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll", + "sha256": "0f48f9a2b2f7914d43edbc2223def87f4ab81e6c95f1a743f5217ad91ee5d090", + "bytes": 136704 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll", + "sha256": "0f8c6e9f7490adc24c56e4d5c18e8f90ba097f28322f24d77a517a434ef01305", + "bytes": 10240 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll", + "sha256": "fc2d4183a9a99d7d482029eea3d793166abecbc1d7366f6ccced39c3ea88293e", + "bytes": 57344 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll", + "sha256": "43dfad220a0e6819429b7c5c514227e8413db5a59bb44cf80ec6245e9932ce26", + "bytes": 38912 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll", + "sha256": "8e4db91400216c45bc6151c005a7a3d4c6e3201ff2151b9a268323874aa701d5", + "bytes": 300032 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll", + "sha256": "1e8838ef08a316173cbb252bb5bd8cd0bbad6e241bf2a3c0945844ef0579fc99", + "bytes": 19456 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll", + "sha256": "2d58d3d0ebac97fcee43c84b5d0f762ae1db12b939fb67765d40d0443bed0a64", + "bytes": 24576 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll", + "sha256": "f06f088d66bceb2ee0e093d386132334e12ab2a37803c4aea86e8dc5971b163d", + "bytes": 224768 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll", + "sha256": "86097cc175bb8f155939db6b0a53560bede36ba3837b4e866bfe615bc69d46a4", + "bytes": 129536 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll", + "sha256": "596a11caa92f9273794c5a80b336335200a737676b0726d5103eb94b1e72190e", + "bytes": 167424 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll", + "sha256": "7850f5aca729c4c2fa53aabad939b3fbbb9baae45e8878dd2b7c68d19970e898", + "bytes": 51712 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll", + "sha256": "1b1ca631d0a4b400c2b5b6db0a16cc4956ad78dbd88f282ce962e4b6407877b9", + "bytes": 143872 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll", + "sha256": "c402b1ec80f3f71b265ad4b31d8b41df92ad881c80478d453f56f933384887bb", + "bytes": 19456 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll", + "sha256": "5f2a4e76285763a0ecfc1816ef5c655eb80c643637f894a0e90bd29e7fd3fbbe", + "bytes": 214016 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll", + "sha256": "69abb1f7f8b14a18ead61ad9a05cc622945401c907592ce8309a53b4fbe4e3b4", + "bytes": 25088 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll", + "sha256": "82b8b6f4f209ad8293699fc8b379c3c55668f53f4190875f4e5bf3d2e280dec5", + "bytes": 39424 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll", + "sha256": "0f1164a0689261be9beb1a3b46ec458bb507fe72cb1af7e82b62463287c30a7e", + "bytes": 131584 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll", + "sha256": "5e23328639a208371107e2485e15d903bc8e86ab81835489bf316cfe53864816", + "bytes": 48128 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll", + "sha256": "0fb006b0fffd17fcab2a76fa7a2356c57710fe72a3ce1111614ea2872d4f806b", + "bytes": 139776 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll", + "sha256": "1ec9249dd23d7654767907e25338c9ed8f90266c4cbdee007e0d740f84a67dd1", + "bytes": 12800 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll", + "sha256": "0951132e2d8b9c3a1c2109dccda1279b69cba861d65ff1416006cb4bc504277a", + "bytes": 195072 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll", + "sha256": "d50e34586d818212dc56b8ec2c20e78aabd4bf03cad9c4f1ef65088b38f9982f", + "bytes": 35840 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll", + "sha256": "921b1fa57e07e26a8699e423786fa331a22d4c1059956f5dc7ddbb62e789ae87", + "bytes": 20480 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll", + "sha256": "7690e272a28ca0dcea787c2edf42984c23c870bf934b99093119cc04a0f1c3b0", + "bytes": 16384 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll", + "sha256": "d6dddfe88d51a954590de0613df8eb51d4d535eab3d1307c0aac53454a986598", + "bytes": 144384 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll", + "sha256": "f5557fdef3eb58f46dd7d0320e4395f08b3e6fbf1e41b99245c32ebb90748a49", + "bytes": 29696 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.S7.dll", + "sha256": "2a1bffbe5ef24377e9922c5e52875349f39152a347096cfa1853c54e5d4625da", + "bytes": 124928 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll", + "sha256": "6b2a492722380d15d03c9a6a1d14275e1eecabd84ac5ef23ea346065adaa6446", + "bytes": 43008 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll", + "sha256": "7359d464b7015f6f2fd0e6967f3e1a358ca6c2fd0b173510273b885824c9823d", + "bytes": 38912 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll", + "sha256": "19e252647ce19589c5b963a3ff16e14e00ca15dd41a34aa3ae1ecc90937dedce", + "bytes": 40448 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.dll", + "sha256": "94725002a09d82b23c7f086321d8f8397946ff24920f239bcd227720089a69f5", + "bytes": 144384 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll", + "sha256": "eb99028838839a62273c9d429bbf197f8d2ec156a664856d7464b09ad594c312", + "bytes": 17408 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll", + "sha256": "e5ab99a8ba7b6361b614d06f887b9e7e5f18f1c46212f2a644a3a2ef0725915c", + "bytes": 188928 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.OpcUaServer.dll", + "sha256": "0208a648365281dcb3a236b8720dc79cf04aa35624ca63e70c0fb5240318eee7", + "bytes": 363008 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Runtime.dll", + "sha256": "3887391844d1e332eb52ed549928afb32e6aea0b113daf9f41c7bb3e7b93d15a", + "bytes": 540160 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/base15-artifacts/host/ZB.MOM.WW.OtOpcUa.Security.dll", + "sha256": "864a961bd4089a0e8cfd1cbd89c87fd25bd43d6a15fec70f56c492af1cbfda20", + "bytes": 52736 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "sha256": "174c1a4a3db0d26efd82decb52c2ca17987e7a3487223e4002ae7dc6fd045b67", + "bytes": 99328 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll", + "sha256": "620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd", + "bytes": 2442880 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll", + "sha256": "6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7", + "bytes": 117376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Schema.dll", + "sha256": "51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e", + "bytes": 135168 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll", + "sha256": "a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96", + "bytes": 12703872 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll", + "sha256": "9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a", + "bytes": 2549376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll", + "sha256": "7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0", + "bytes": 118400 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Server.dll", + "sha256": "930e714a2f6e15d393840bcdc95e1afa8012bc740c3738a655f958142721864e", + "bytes": 3332224 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll", + "sha256": "c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1", + "bytes": 1792640 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/OtOpcUa.Host.deps.json", + "sha256": "6b5027f75392f0f10f98a68af8458865bb335e52865a72dbec065f9f4090aaed", + "bytes": 180876 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/OtOpcUa.Host.dll", + "sha256": "f7c1937755e7d76e9f5683a623f151e5b7324921efcf615965a0d970d45944de", + "bytes": 198656 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/OtOpcUa.Host.runtimeconfig.json", + "sha256": "eff38a9750f7cca2407b1d639a963d56ffea92088e6da971bbbfa74e3dcd7224", + "bytes": 540 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ProcessHost.deps.json", + "sha256": "99e7a38270ac1f82856cdca7110417dd853fdca0010a0c2a5548df725d83e38a", + "bytes": 166559 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "sha256": "edd2060856207a61abc3aaa8ddb3351d803b16a0c5af721a83b84cfa714a73e8", + "bytes": 104448 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ProcessHost.runtimeconfig.json", + "sha256": "bdbb6b43e509fbbab6c78b7004c4debf1e9791a648a08f730ff5997f71ef7099", + "bytes": 508 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.AdminUI.dll", + "sha256": "01a04ed0c2370fd941c70b39f4b2065fcf777c3d8798a99789173954b120e073", + "bytes": 2267648 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Client.Shared.dll", + "sha256": "776e6053eea83e096a48632c76432f05a544fe95727da9bbd6521f2706315cd8", + "bytes": 120320 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Cluster.dll", + "sha256": "35b70c66647a5a5d56ff4d7e930fc372e615ecba104214a3592e3ae412ef7c57", + "bytes": 68096 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Commons.dll", + "sha256": "20e3d03b77e664081f489c13ec762a840a5704cc3c2d731036e2b64b63177754", + "bytes": 235520 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Configuration.dll", + "sha256": "edad3769e6bb2a8a9b7dd1f6dc6cf9ffcaa68766cd2528867a449197108f7a06", + "bytes": 605696 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.ControlPlane.dll", + "sha256": "b54268c56357e9e93e6ba72d09202b345cf92caa14c25c3fdefde0170c75cc4c", + "bytes": 205824 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll", + "sha256": "ebd0e5b7201872aab5fd7d3340e92d895cd3fbf4b4977f55099902914ddce613", + "bytes": 165376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll", + "sha256": "87b9692161bca6e99c612b1bb3669ce2d969e70a81f1f155d8f0d1dcd5905e69", + "bytes": 56320 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll", + "sha256": "e61fc20ce0e1ab4e68d12b464b793b9614a40eeeb2b45376ec6152b9f2eef710", + "bytes": 84480 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll", + "sha256": "e170198e3486a410459ec19e91f3137d670b28a3b51db674c7fd71f1699c697f", + "bytes": 13312 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll", + "sha256": "fc42acbb3535c9c6b2405e563acc98210ebdffddfb67714fd6b738e3e6ba6570", + "bytes": 141824 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll", + "sha256": "0157a7f2aace7a2613a47768697b14de78cd179bbaef55fdf1ba831e8e6f2cb6", + "bytes": 125440 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll", + "sha256": "ade1aef43972661776cc2535911b383cb2c917d06487dba8d61bebf8d61884e1", + "bytes": 122368 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll", + "sha256": "2a954e39fe637b87918ecb1a93f3d2d58867e9f4966ba01d3ac7d4b475d1ac63", + "bytes": 11264 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.dll", + "sha256": "00736dca16d2cd54376c8a2f101c028ed8bd9c24faace10893eaaf2d74e243e9", + "bytes": 130560 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll", + "sha256": "13cbac91392ddaeb09b19769900a755c874cea93f330b0f164a437d32f622dbb", + "bytes": 123392 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll", + "sha256": "c807d919b3d0fe76b0ccd15213fedf0481661456db67772a1eea79c969d9eb3f", + "bytes": 24576 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll", + "sha256": "89ed75ec136c95e1af356850802ff4648ed7206583ed5a6447856524427615b5", + "bytes": 214016 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll", + "sha256": "d3e3e7a59663863c1a13f53c790e5e6e7e716b2fd31fde96f6d8965099471171", + "bytes": 30720 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll", + "sha256": "23c741fda31dbb3280f5d1fbcf5689b722460db6a358c286fa149ec9f8db4985", + "bytes": 136704 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll", + "sha256": "4c809cb46d63a467d81feedc9cf68704d97bc89a92b7c6d3ce20e54be8cad557", + "bytes": 10240 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll", + "sha256": "3466b35bcfe83ad9723e01f1fb74ad3c90f1a8b9b6fceaba557d3a7cdb5f8a81", + "bytes": 57344 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll", + "sha256": "d97df2cd53dedaa730291f4147e57d8ed07233c19ce91421a4fd6fb90076a780", + "bytes": 38912 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll", + "sha256": "de38703e646338c0aa274d1bdd5db3c8305011bc694b9e2256c809c91c076a33", + "bytes": 300032 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll", + "sha256": "9de00320d2f84e1316b218b9e9356f8742f713f137dd1cf642e90a2476ffc976", + "bytes": 19456 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll", + "sha256": "c4d3ad6223f01b2d8a57df907f33c8179801d044aac051c48e7a36846cbd4eb2", + "bytes": 28672 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll", + "sha256": "9d84518215762ea6ba47b9c9f44830f29441c0d4b43e40785ce9a5de045e4a34", + "bytes": 267776 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Heidenhain.Contracts.dll", + "sha256": "a762ef6e4976983b924ebd7faa0ff524091441ddd8a268172a57586f412b36c0", + "bytes": 55808 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Heidenhain.dll", + "sha256": "94ff3a6261d74907b652584b098c633fbc9b5b935fc0a8829eb0fbfd61db5e7a", + "bytes": 137728 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll", + "sha256": "f4f6493299042330da6e2c76396eae5f1756bcf49576f1056aec216a9600b43c", + "bytes": 129536 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll", + "sha256": "232d31f62b6eac33f8274855b1c99d39253018317388d1bdaa72b861479ba300", + "bytes": 167936 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll", + "sha256": "3182aaad00775f385ee9f467a21407f1679cd475f87f7e2003fd8f3adec2e04b", + "bytes": 51712 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll", + "sha256": "f43526a5f9b4a443797b5ac87242358f2a3712b59a15f3795dd674b8043bfd49", + "bytes": 143872 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll", + "sha256": "0e1f914586f1b202014a16a959d71a4501534203eb1120f4d6324988de491763", + "bytes": 19968 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll", + "sha256": "385253215a50f0835d99dc9e859a3914d9f85bdd0fa3433eddd1baf373e990fb", + "bytes": 228352 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll", + "sha256": "01dd84b8160809f298a7d5a875c49a058ff1aaf2b2a6920405766724accdf8d2", + "bytes": 25088 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll", + "sha256": "3add28691877b9cdb4037c4118774e73b24883f76559b5ad0b766572faa1706c", + "bytes": 39424 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll", + "sha256": "c4cfba733b554faf171260f1b41758c1c0e94043bcbf381303c72ea2fd433163", + "bytes": 131584 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll", + "sha256": "5b0a61de9c9dfc72938259d725a3f9762db78af59458c9900da19b6700c1f59b", + "bytes": 48128 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll", + "sha256": "cb05028b2e48a430d2f3072028d9a9c9d9bf28909be1c36ce256ee6cd166b9ce", + "bytes": 139776 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll", + "sha256": "b8920ca8e5b717b6d162e3e120477acea52dd79023750eca00cd6b2a8450681a", + "bytes": 12800 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll", + "sha256": "c15095209b79d3bed7d2cfc9e9b775d2bf02d2b84b7707899bfa953ab42a0b19", + "bytes": 195584 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll", + "sha256": "7f30100eeed54a87b28235d56a31ab8c9afc7021e30f951574f72af005c15c03", + "bytes": 34816 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll", + "sha256": "a10cde84069c8aeb75ebdec1d8ec42607677efd152cd9f19b508dba99c6edd7b", + "bytes": 22528 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll", + "sha256": "cabead20418357e29c9aa4afaae2ef2dd7a2722fe8319b4fb416888836cbd973", + "bytes": 29696 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll", + "sha256": "fab45c2e6006d5296f421bb6f31feb7c3cc471d83b7b9597c0eff3a4df59fe0e", + "bytes": 147968 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll", + "sha256": "1f26110b80d015b39557779f2a47e5a1a0e47c427462fd292cd177baaece7c0d", + "bytes": 29696 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.dll", + "sha256": "efb7affd4b6ac52e114b4d4613667da4ae2d44d6373b4ca345de318b7a9f9656", + "bytes": 124928 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll", + "sha256": "23b1be28487950d1b4739ad7106b29510e99700d0c1270e2ad63faa6e54184a7", + "bytes": 43008 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll", + "sha256": "c9bfa2ba26f8b93872aac26da4b3e5f7be1827d0d60d2f82b7ebcbdf4fed689f", + "bytes": 38912 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll", + "sha256": "8eaaeabf09a7cf736bdd31f5234577d62e8d0d5455e791e5a01bad38caf059eb", + "bytes": 40448 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.dll", + "sha256": "af9a7f74f2fb5de70c476ea63ebbd5a54c10be208a3da34f74c25c7bbd28961f", + "bytes": 144896 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll", + "sha256": "86adc111a5e234035ca2de13c4aaff1001bb80091c2500508def6f037ad9e1f2", + "bytes": 17408 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll", + "sha256": "5a1efd71c1bbf169829b4146078fb2c54dfb2d7991ef7741ed82b0c45aa6f8ea", + "bytes": 190976 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.OpcUaServer.dll", + "sha256": "f1e38da30c8bb35bb3416d3c71b319ba1a3c2ef9b66aafe069217aeb505c524e", + "bytes": 523776 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Runtime.dll", + "sha256": "3d0c34c3d34f90ece90ee16d5dd88e4a19d32c60a543566d5fa92dd5b5bf7d37", + "bytes": 549888 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Security.dll", + "sha256": "70ff93577ec917d555c708c172e4ebcf1c226b2ab65b238df791ff5c86cd7738", + "bytes": 52736 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/Opc.Ua.Client.dll", + "sha256": "620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd", + "bytes": 2442880 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/Opc.Ua.Configuration.dll", + "sha256": "6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7", + "bytes": 117376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/Opc.Ua.Core.Schema.dll", + "sha256": "51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e", + "bytes": 135168 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/Opc.Ua.Core.Types.dll", + "sha256": "a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96", + "bytes": 12703872 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/Opc.Ua.Core.dll", + "sha256": "9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a", + "bytes": 2549376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/Opc.Ua.Security.Certificates.dll", + "sha256": "7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0", + "bytes": 118400 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/Opc.Ua.Types.dll", + "sha256": "c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1", + "bytes": 1792640 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.deps.json", + "sha256": "9b69ae776f440962bd8913f185ae153ac0eea375c9097c3be9ed0fcb1a908654", + "bytes": 39639 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.dll", + "sha256": "aa0645cf09e85ca0004fb63779252960846979187ca04181f2cba6bb54ed2902", + "bytes": 92672 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.runtimeconfig.json", + "sha256": "9950d4583cfc9a106857c0d5b8a75b53e8774852b57b80bc3823a74d44a4d87f", + "bytes": 330 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.Shared.dll", + "sha256": "776e6053eea83e096a48632c76432f05a544fe95727da9bbd6521f2706315cd8", + "bytes": 120320 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll", + "sha256": "ebd0e5b7201872aab5fd7d3340e92d895cd3fbf4b4977f55099902914ddce613", + "bytes": 165376 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll", + "sha256": "a10cde84069c8aeb75ebdec1d8ec42607677efd152cd9f19b508dba99c6edd7b", + "bytes": 22528 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll", + "sha256": "cabead20418357e29c9aa4afaae2ef2dd7a2722fe8319b4fb416888836cbd973", + "bytes": 29696 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/base15/Directory.Packages.props", + "sha256": "7e6459447843b93bc94fbc1f3eeb1c695b5c46c08aeb94debe86a7d419c63221", + "bytes": 18829 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/Directory.Packages.props", + "sha256": "20c0c24c9e5406ce57c0ec6ca833085e27f6a8997d6c5d51745878ef22ffc54e", + "bytes": 19000 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs", + "sha256": "75e7a45c34b66e52d993e1f9145d9eb69d6049eebe08b065e84b0d40370fc9ab", + "bytes": 35069 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/container-leg.sh", + "sha256": "1f5d1158572379b8a6304c3a3134a78c112043940f5bce468621677f7da3ef9e", + "bytes": 2589 + }, + { + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/run.py", + "sha256": "f0db8346cdd66033cbf01c9d5bcff971dca01917084d86cecddb1d544096ec67", + "bytes": 13080 + } +] diff --git a/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/commands.json b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/commands.json new file mode 100644 index 000000000..3967eee58 --- /dev/null +++ b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/commands.json @@ -0,0 +1,206 @@ +[ + { + "argv": [ + "dotnet", + "build", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/ProcessHost.csproj", + "-c", + "Release", + "-m:1", + "--nologo" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/build.log" + }, + { + "argv": [ + "dotnet", + "build", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/ProcessHost.csproj", + "-c", + "Release", + "-m:1", + "--nologo" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/build.log" + }, + { + "argv": [ + "dotnet", + "publish", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/src/Client/ZB.MOM.WW.OtOpcUa.Client.CLI/ZB.MOM.WW.OtOpcUa.Client.CLI.csproj", + "-c", + "Release", + "-o", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli", + "-m:1", + "--nologo" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli-build.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "prepare", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-baseline-server/shared" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-baseline-server/prepare.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "server", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-baseline-server/server" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-baseline-server/server.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "client", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-baseline-server/shared", + "opc.tcp://127.0.0.1:60064/OtOpcUa", + "1.5.378.0" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-baseline-server/shared.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "prepare", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-candidate-server/shared" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-candidate-server/prepare.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "server", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-candidate-server/server" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-candidate-server/server.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "client", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-candidate-server/shared", + "opc.tcp://127.0.0.1:60082/OtOpcUa", + "2.0.1.0" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/baseline-client-to-candidate-server/shared.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "prepare", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-baseline-server/shared" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-baseline-server/prepare.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/ProcessHost.dll", + "server", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-baseline-server/server" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-baseline-server/server.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "client", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-baseline-server/shared", + "opc.tcp://127.0.0.1:60097/OtOpcUa", + "1.5.378.0" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-baseline-server/shared.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "prepare", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-candidate-server/shared" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-candidate-server/prepare.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "server", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-candidate-server/server" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-candidate-server/server.log" + }, + { + "argv": [ + "dotnet", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/ProcessHost.dll", + "client", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-candidate-server/shared", + "opc.tcp://127.0.0.1:60116/OtOpcUa", + "2.0.1.0" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-client-to-candidate-server/shared.log" + }, + { + "argv": [ + "docker", + "run", + "--rm", + "--name", + "otopcua-sdk2-matrix-736416bb401a", + "--network", + "none", + "-e", + "OPCUA_MATRIX_PASSWORD", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0:/candidate:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0:/server:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli:/cli:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-driver-cli-to-baseline-server:/task", + "mcr.microsoft.com/dotnet/sdk:10.0.103-noble", + "bash", + "/task/run.sh" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-driver-cli-to-baseline-server/container.log" + }, + { + "argv": [ + "docker", + "run", + "--rm", + "--name", + "otopcua-sdk2-matrix-f095e2999aa2", + "--network", + "none", + "-e", + "OPCUA_MATRIX_PASSWORD", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0:/candidate:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0:/server:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-cli:/cli:ro", + "-v", + "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-driver-cli-to-candidate-server:/task", + "mcr.microsoft.com/dotnet/sdk:10.0.103-noble", + "bash", + "/task/run.sh" + ], + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-driver-cli-to-candidate-server/container.log" + } +] diff --git a/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/matrix.json b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/matrix.json new file mode 100644 index 000000000..e6ac00328 --- /dev/null +++ b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/matrix.json @@ -0,0 +1,1363 @@ +[ + { + "sdk": "1.5.378.0", + "process": 15164, + "cases": [ + { + "name": "trusted-SignAndEncrypt-API-key", + "status": "passed" + }, + { + "name": "production-length-API-key-wrong-secret-reaches-key-check", + "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" + }, + { + "apiKeyLength": 65, + "serverSdk": "1.5.378.0", + "note": "ApiKeySecret.Generate shape; SDK 2.0.1 sends a UserName password over 64 bytes as RsaEncryptedSecret unless the client forces the legacy format (#880)" + }, + { + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "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 + } + ] + }, + { + "rawReferences": [ + { + "nodeId": "ns=2;s=Matrix/dev/Scalar", + "browseName": "2:Matrix/dev/Scalar", + "nodeClass": "Variable", + "typeDefinition": "i=63", + "referenceType": "i=35", + "IsForward": true + }, + { + "nodeId": "ns=2;s=Matrix/dev/Vector", + "browseName": "2:Matrix/dev/Vector", + "nodeClass": "Variable", + "typeDefinition": "i=63", + "referenceType": "i=35", + "IsForward": true + }, + { + "nodeId": "ns=2;s=Matrix/dev/Alarm", + "browseName": "2:Alarm", + "nodeClass": "Object", + "typeDefinition": "i=10637", + "referenceType": "i=47", + "IsForward": true + }, + { + "nodeId": "ns=2;s=Matrix/dev/UnsetTimestamp", + "browseName": "2:Matrix/dev/UnsetTimestamp", + "nodeClass": "Variable", + "typeDefinition": "i=63", + "referenceType": "i=35", + "IsForward": true + }, + { + "nodeId": "i=61", + "browseName": "FolderType", + "nodeClass": "ObjectType", + "typeDefinition": "i=0", + "referenceType": "i=40", + "IsForward": true + } + ] + }, + { + "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", + "serverTimestamp": "2026-11-12T16:11:01.4683550Z", + "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" + }, + { + "sourceTimestamp": "2026-11-12T16:11:01.5117100Z", + "serverTimestamp": "2026-11-12T16:11:01.5120570Z", + "status": "Good" + }, + { + "sourceTimestamp": "2026-11-12T16:11:03.4530400Z", + "serverTimestamp": "2026-11-12T16:11:03.4530400Z", + "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.207, + "p95": 0.2408, + "p99": 0.2717, + "throughputOperationsPerSecond": 4739.201728860793 + }, + "scalar-write": { + "p50": 0.2134, + "p95": 0.278, + "p99": 0.3065, + "throughputOperationsPerSecond": 4587.113879689178 + }, + "array-read": { + "p50": 0.1711, + "p95": 0.2021, + "p99": 0.229, + "throughputOperationsPerSecond": 5879.378667262443 + }, + "array-write": { + "p50": 0.1817, + "p95": 0.224, + "p99": 0.234, + "throughputOperationsPerSecond": 5466.3328559402635 + } + }, + "clientCpuMilliseconds": 57.503, + "clientAllocatedBytes": 1326952, + "clientAllocatedBytesPerOperation": 6634.76, + "clientWorkingSetBytes": 137543680, + "clientPrivateBytes": 0, + "clientThreads": 18, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 2, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.1774, + "p95": 0.2407, + "p99": 8.691, + "throughputOperationsPerSecond": 2845.6302501878117 + }, + "scalar-write": { + "p50": 0.1832, + "p95": 0.3181, + "p99": 10.2365, + "throughputOperationsPerSecond": 2540.5858590991093 + }, + "array-read": { + "p50": 0.1757, + "p95": 0.2073, + "p99": 0.2281, + "throughputOperationsPerSecond": 5627.0186929561 + }, + "array-write": { + "p50": 0.1803, + "p95": 0.2253, + "p99": 0.2366, + "throughputOperationsPerSecond": 5422.699419771162 + } + }, + "clientCpuMilliseconds": 51.705, + "clientAllocatedBytes": 1326688, + "clientAllocatedBytesPerOperation": 6633.44, + "clientWorkingSetBytes": 139198464, + "clientPrivateBytes": 0, + "clientThreads": 18, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 3, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.1845, + "p95": 0.241, + "p99": 2.2406, + "throughputOperationsPerSecond": 4362.278505308892 + }, + "scalar-write": { + "p50": 0.1784, + "p95": 0.2025, + "p99": 0.222, + "throughputOperationsPerSecond": 5627.715372667315 + }, + "array-read": { + "p50": 0.173, + "p95": 0.2192, + "p99": 0.2515, + "throughputOperationsPerSecond": 5759.041695461878 + }, + "array-write": { + "p50": 0.1782, + "p95": 0.2097, + "p99": 0.2277, + "throughputOperationsPerSecond": 5586.155272771963 + } + }, + "clientCpuMilliseconds": 56.323, + "clientAllocatedBytes": 1288472, + "clientAllocatedBytesPerOperation": 6442.36, + "clientWorkingSetBytes": 140279808, + "clientPrivateBytes": 0, + "clientThreads": 18, + "clientHandles": 0, + "collections": [ + 1, + 0, + 0 + ] + } + ], + "failures": 0, + "loadedSdkAssemblies": [ + { + "name": "Opc.Ua.Core", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/Opc.Ua.Core.dll" + }, + { + "name": "Opc.Ua.Types", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/Opc.Ua.Types.dll" + }, + { + "name": "Opc.Ua.Configuration", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/Opc.Ua.Configuration.dll" + }, + { + "name": "Opc.Ua.Security.Certificates", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" + }, + { + "name": "Opc.Ua.Client", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll" + } + ], + "name": "baseline-client-to-baseline-server", + "server": { + "endpoint": "opc.tcp://127.0.0.1:60064/OtOpcUa", + "process": 15133, + "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": 15299, + "cases": [ + { + "name": "trusted-SignAndEncrypt-API-key", + "status": "passed" + }, + { + "name": "production-length-API-key-wrong-secret-reaches-key-check", + "status": "passed" + }, + { + "name": "raw-UNS-URI-browse", + "status": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "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": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "name": "typed-array-read-write-ns-3", + "status": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "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" + }, + { + "apiKeyLength": 65, + "serverSdk": "2.0.1.0", + "note": "ApiKeySecret.Generate shape; SDK 2.0.1 sends a UserName password over 64 bytes as RsaEncryptedSecret unless the client forces the legacy format (#880)" + }, + { + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", + "serverTimestamp": "2026-11-12T16:11:07.9113570Z", + "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" + }, + { + "sourceTimestamp": "2026-11-12T16:11:07.9624610Z", + "serverTimestamp": "2026-11-12T16:11:07.9641430Z", + "status": "Good" + }, + { + "sourceTimestamp": "2026-11-12T16:11:09.8874390Z", + "serverTimestamp": "2026-11-12T16:11:09.8874390Z", + "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.2031, + "p95": 0.2529, + "p99": 0.2952, + "throughputOperationsPerSecond": 4780.754594305165 + }, + "scalar-write": { + "p50": 0.2332, + "p95": 0.2994, + "p99": 0.3149, + "throughputOperationsPerSecond": 4244.626303100275 + }, + "array-read": { + "p50": 0.1893, + "p95": 0.2057, + "p99": 0.2132, + "throughputOperationsPerSecond": 5362.677906839558 + }, + "array-write": { + "p50": 0.1985, + "p95": 0.2258, + "p99": 2.4923, + "throughputOperationsPerSecond": 4064.7432301701506 + } + }, + "clientCpuMilliseconds": 51.159, + "clientAllocatedBytes": 1326304, + "clientAllocatedBytesPerOperation": 6631.52, + "clientWorkingSetBytes": 138395648, + "clientPrivateBytes": 0, + "clientThreads": 18, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 2, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.1865, + "p95": 0.2163, + "p99": 0.2667, + "throughputOperationsPerSecond": 5300.653040454583 + }, + "scalar-write": { + "p50": 0.1925, + "p95": 0.2142, + "p99": 0.2635, + "throughputOperationsPerSecond": 5176.304946477007 + }, + "array-read": { + "p50": 0.1783, + "p95": 0.2, + "p99": 0.2089, + "throughputOperationsPerSecond": 5646.336092509572 + }, + "array-write": { + "p50": 0.1939, + "p95": 0.2188, + "p99": 0.2265, + "throughputOperationsPerSecond": 5068.629239908359 + } + }, + "clientCpuMilliseconds": 44.138, + "clientAllocatedBytes": 1317720, + "clientAllocatedBytesPerOperation": 6588.6, + "clientWorkingSetBytes": 140017664, + "clientPrivateBytes": 0, + "clientThreads": 18, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 3, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.1965, + "p95": 0.2862, + "p99": 2.0937, + "throughputOperationsPerSecond": 4211.554821809115 + }, + "scalar-write": { + "p50": 0.1971, + "p95": 0.2542, + "p99": 0.2705, + "throughputOperationsPerSecond": 4956.039925857643 + }, + "array-read": { + "p50": 0.1845, + "p95": 0.2067, + "p99": 0.27, + "throughputOperationsPerSecond": 5421.347096326495 + }, + "array-write": { + "p50": 0.1995, + "p95": 0.246, + "p99": 0.2684, + "throughputOperationsPerSecond": 4911.494862576374 + } + }, + "clientCpuMilliseconds": 50.22, + "clientAllocatedBytes": 1296128, + "clientAllocatedBytesPerOperation": 6480.64, + "clientWorkingSetBytes": 141164544, + "clientPrivateBytes": 0, + "clientThreads": 18, + "clientHandles": 0, + "collections": [ + 1, + 0, + 0 + ] + } + ], + "failures": 3, + "loadedSdkAssemblies": [ + { + "name": "Opc.Ua.Core", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/Opc.Ua.Core.dll" + }, + { + "name": "Opc.Ua.Types", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/Opc.Ua.Types.dll" + }, + { + "name": "Opc.Ua.Configuration", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/Opc.Ua.Configuration.dll" + }, + { + "name": "Opc.Ua.Security.Certificates", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" + }, + { + "name": "Opc.Ua.Client", + "version": "1.5.378.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll" + } + ], + "name": "baseline-client-to-candidate-server", + "server": { + "endpoint": "opc.tcp://127.0.0.1:60082/OtOpcUa", + "process": 15267, + "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": 15491, + "cases": [ + { + "name": "trusted-SignAndEncrypt-API-key", + "status": "failed", + "error": "[80200000] (BadIdentityTokenInvalid)\n[80200000] (BadIdentityTokenInvalid)" + }, + { + "name": "production-length-API-key-wrong-secret-reaches-key-check", + "status": "failed", + "error": "System.InvalidOperationException: Expected BadIdentityTokenRejected (key check), got BadIdentityTokenInvalid\n at ProcessHost.Require(Boolean yes, String message) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 60\n at ProcessHost.<>c__DisplayClass26_0.<b__0>d.MoveNext() in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 192\n--- End of stack trace from previous location ---\n at ProcessHost.Case(String name, Func`1 action) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 63" + }, + { + "name": "sdk2-default-RsaEncryptedSecret-control", + "status": "passed" + } + ], + "observations": [ + { + "apiKeyLength": 65, + "serverSdk": "1.5.378.0", + "note": "ApiKeySecret.Generate shape; SDK 2.0.1 sends a UserName password over 64 bytes as RsaEncryptedSecret unless the client forces the legacy format (#880)" + }, + { + "wrongSecretStatus": "BadIdentityTokenInvalid" + }, + { + "sdkDefaultFormatStatus": "BadIdentityTokenInvalid", + "serverSdk": "1.5.378.0" + } + ], + "failures": 2, + "loadedSdkAssemblies": [ + { + "name": "Opc.Ua.Core", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll" + }, + { + "name": "Opc.Ua.Types", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll" + }, + { + "name": "Opc.Ua.Core.Types", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll" + }, + { + "name": "Opc.Ua.Configuration", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll" + }, + { + "name": "Opc.Ua.Security.Certificates", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" + }, + { + "name": "Opc.Ua.Client", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll" + } + ], + "name": "candidate-client-to-baseline-server", + "server": { + "endpoint": "opc.tcp://127.0.0.1:60097/OtOpcUa", + "process": 15422, + "sdk": "1.5.378.0", + "rawUri": "https://zb.com/otopcua/raw", + "unsUri": "https://zb.com/otopcua/uns" + }, + "status": "failed", + "historyBackendRequests": [], + "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": 15597, + "cases": [ + { + "name": "trusted-SignAndEncrypt-API-key", + "status": "passed" + }, + { + "name": "production-length-API-key-wrong-secret-reaches-key-check", + "status": "passed" + }, + { + "name": "sdk2-default-RsaEncryptedSecret-control", + "status": "passed" + }, + { + "name": "raw-UNS-URI-browse", + "status": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "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": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "name": "typed-array-read-write-ns-3", + "status": "failed", + "error": "[801F0000] (BadUserAccessDenied)\n[801F0000] (BadUserAccessDenied)" + }, + { + "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" + }, + { + "apiKeyLength": 65, + "serverSdk": "2.0.1.0", + "note": "ApiKeySecret.Generate shape; SDK 2.0.1 sends a UserName password over 64 bytes as RsaEncryptedSecret unless the client forces the legacy format (#880)" + }, + { + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "sdkDefaultFormatStatus": "Good", + "serverSdk": "2.0.1.0" + }, + { + "sourceTimestamp": "2026-10-01T00:00:00.0000000Z", + "serverTimestamp": "2026-11-12T16:11:19.4724470Z", + "contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes" + }, + { + "sourceTimestamp": "2026-11-12T16:11:19.5343880Z", + "serverTimestamp": "2026-11-12T16:11:19.5358140Z", + "status": "Good" + }, + { + "sourceTimestamp": "2026-11-12T16:11:21.0123840Z", + "serverTimestamp": "2026-11-12T16:11:21.0123840Z", + "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.1923, + "p95": 0.2752, + "p99": 0.31, + "throughputOperationsPerSecond": 5006.9095351585165 + }, + "scalar-write": { + "p50": 0.2015, + "p95": 0.2507, + "p99": 0.2775, + "throughputOperationsPerSecond": 4951.181351870556 + }, + "array-read": { + "p50": 0.1735, + "p95": 0.2233, + "p99": 0.2389, + "throughputOperationsPerSecond": 5641.367016055331 + }, + "array-write": { + "p50": 0.1822, + "p95": 0.2131, + "p99": 2.2007, + "throughputOperationsPerSecond": 4476.5963542599275 + } + }, + "clientCpuMilliseconds": 61.793, + "clientAllocatedBytes": 681648, + "clientAllocatedBytesPerOperation": 3408.24, + "clientWorkingSetBytes": 136232960, + "clientPrivateBytes": 0, + "clientThreads": 19, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 2, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.1619, + "p95": 0.1916, + "p99": 0.2027, + "throughputOperationsPerSecond": 6114.039056481492 + }, + "scalar-write": { + "p50": 0.1717, + "p95": 0.1953, + "p99": 0.1992, + "throughputOperationsPerSecond": 5763.954533926638 + }, + "array-read": { + "p50": 0.1663, + "p95": 0.1894, + "p99": 0.1942, + "throughputOperationsPerSecond": 5978.858755440761 + }, + "array-write": { + "p50": 0.1734, + "p95": 0.1985, + "p99": 0.2049, + "throughputOperationsPerSecond": 5695.214880457442 + } + }, + "clientCpuMilliseconds": 56.424, + "clientAllocatedBytes": 675392, + "clientAllocatedBytesPerOperation": 3376.96, + "clientWorkingSetBytes": 137084928, + "clientPrivateBytes": 0, + "clientThreads": 19, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + }, + { + "benchmarkRound": 3, + "warmupOperationsPerKind": 10, + "operationsPerKind": 50, + "latencyMilliseconds": { + "scalar-read": { + "p50": 0.1617, + "p95": 0.1754, + "p99": 0.1799, + "throughputOperationsPerSecond": 6193.33102115642 + }, + "scalar-write": { + "p50": 0.1638, + "p95": 0.1988, + "p99": 0.2346, + "throughputOperationsPerSecond": 6039.449685344672 + }, + "array-read": { + "p50": 0.1662, + "p95": 0.1964, + "p99": 0.2236, + "throughputOperationsPerSecond": 5903.466515537925 + }, + "array-write": { + "p50": 0.1813, + "p95": 0.2394, + "p99": 0.2482, + "throughputOperationsPerSecond": 5399.68465841595 + } + }, + "clientCpuMilliseconds": 56.783, + "clientAllocatedBytes": 685184, + "clientAllocatedBytesPerOperation": 3425.92, + "clientWorkingSetBytes": 137641984, + "clientPrivateBytes": 0, + "clientThreads": 19, + "clientHandles": 0, + "collections": [ + 0, + 0, + 0 + ] + } + ], + "failures": 3, + "loadedSdkAssemblies": [ + { + "name": "Opc.Ua.Core", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll" + }, + { + "name": "Opc.Ua.Types", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll" + }, + { + "name": "Opc.Ua.Core.Types", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll" + }, + { + "name": "Opc.Ua.Configuration", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll" + }, + { + "name": "Opc.Ua.Security.Certificates", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll" + }, + { + "name": "Opc.Ua.Client", + "version": "2.0.1.0", + "path": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll" + } + ], + "name": "candidate-client-to-candidate-server", + "server": { + "endpoint": "opc.tcp://127.0.0.1:60116/OtOpcUa", + "process": 15577, + "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": 67, + "cases": [ + { + "name": "driver-trusted-encrypted-API-key-connect", + "status": "failed", + "error": "System.AggregateException: OPC UA Client failed to connect to any of the configured endpoints. Tried:\n opc.tcp://127.0.0.1:36347/OtOpcUa -> ServiceResultException: [80200000] (BadIdentityTokenInvalid) (opc.tcp://127.0.0.1:36347/OtOpcUa -> ServiceResultException: [80200000] (BadIdentityTokenInvalid))\n ---> System.InvalidOperationException: opc.tcp://127.0.0.1:36347/OtOpcUa -> ServiceResultException: [80200000] (BadIdentityTokenInvalid)\n --- End of inner exception stack trace ---\n at ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.OpcUaClientDriver.InitializeAsync(String driverConfigJson, CancellationToken cancellationToken) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient/OpcUaClientDriver.cs:line 599\n at ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.OpcUaClientDriver.InitializeAsync(String driverConfigJson, CancellationToken cancellationToken) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient/OpcUaClientDriver.cs:line 673\n at ProcessHost.Case(String name, Func`1 action) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 63" + }, + { + "name": "driver-raw-UNS-URI-scalar-and-array-read", + "status": "failed", + "error": "System.InvalidOperationException: OpcUaClientDriver not initialized\n at ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.OpcUaClientDriver.RequireSession() in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient/OpcUaClientDriver.cs:line 1605\n at ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.OpcUaClientDriver.ReadAsync(IReadOnlyList`1 fullReferences, CancellationToken cancellationToken) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient/OpcUaClientDriver.cs:line 1384\n at ProcessHost.<>c__DisplayClass31_0.<b__1>d.MoveNext() in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 335\n--- End of stack trace from previous location ---\n at ProcessHost.Case(String name, Func`1 action) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 63" + }, + { + "name": "driver-scalar-array-write-roundtrip", + "status": "failed", + "error": "System.InvalidOperationException: OpcUaClientDriver not initialized\n at ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.OpcUaClientDriver.RequireSession() in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient/OpcUaClientDriver.cs:line 1605\n at ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.OpcUaClientDriver.WriteAsync(IReadOnlyList`1 writes, CancellationToken cancellationToken) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient/OpcUaClientDriver.cs:line 1486\n at ProcessHost.<>c__DisplayClass31_0.<b__2>d.MoveNext() in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 341\n--- End of stack trace from previous location ---\n at ProcessHost.Case(String name, Func`1 action) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 63" + }, + { + "name": "driver-monitor-quality-timestamps", + "status": "failed", + "error": "System.InvalidOperationException: OpcUaClientDriver not initialized\n at ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.OpcUaClientDriver.RequireSession() in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient/OpcUaClientDriver.cs:line 1605\n at ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.OpcUaClientDriver.SubscribeAsync(IReadOnlyList`1 fullReferences, TimeSpan publishingInterval, CancellationToken cancellationToken) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient/OpcUaClientDriver.cs:line 1923\n at ProcessHost.<>c__DisplayClass31_0.<b__3>d.MoveNext() in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 350\n--- End of stack trace from previous location ---\n at ProcessHost.Case(String name, Func`1 action) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 63" + }, + { + "name": "production-CLI-read", + "status": "failed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-driver-cli-to-baseline-server/cli-read.log", + "expectedOutput": "Value: 92" + }, + { + "name": "production-CLI-raw-history", + "status": "failed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-driver-cli-to-baseline-server/cli-raw-history.log", + "expectedOutput": "25 values returned." + }, + { + "name": "production-CLI-event-history", + "status": "failed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-driver-cli-to-baseline-server/cli-event-history.log", + "expectedOutput": "25 events returned." + } + ], + "observations": [ + { + "capability": "driver-history", + "status": "not-applicable", + "evidence": "Driver has no IHistoryProvider/HistoryRead capability; .claude/rules/drivers.md #655. Shared/CLI own history." + } + ], + "failures": 4, + "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": "failed", + "container": "otopcua-sdk2-matrix-736416bb401a", + "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:36347/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": 75, + "cases": [ + { + "name": "driver-trusted-encrypted-API-key-connect", + "status": "passed" + }, + { + "name": "driver-raw-UNS-URI-scalar-and-array-read", + "status": "failed", + "error": "System.InvalidOperationException: Read failure\n at ProcessHost.Require(Boolean yes, String message) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 60\n at ProcessHost.<>c__DisplayClass31_0.<b__1>d.MoveNext() in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 336\n--- End of stack trace from previous location ---\n at ProcessHost.Case(String name, Func`1 action) in /private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs:line 63" + }, + { + "name": "driver-scalar-array-write-roundtrip", + "status": "passed" + }, + { + "name": "driver-monitor-quality-timestamps", + "status": "passed" + }, + { + "name": "production-CLI-read", + "status": "passed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-driver-cli-to-candidate-server/cli-read.log", + "expectedOutput": "Value: 92" + }, + { + "name": "production-CLI-raw-history", + "status": "passed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-driver-cli-to-candidate-server/cli-raw-history.log", + "expectedOutput": "25 values returned." + }, + { + "name": "production-CLI-event-history", + "status": "passed", + "log": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/matrix-mutation/candidate-driver-cli-to-candidate-server/cli-event-history.log", + "expectedOutput": "25 events returned." + } + ], + "observations": [ + { + "SourceTimestampUtc": "2026-11-12T16:11:29.3930602Z", + "ServerTimestampUtc": "2026-11-12T16:11:29.3943406Z", + "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": 1, + "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": "failed", + "container": "otopcua-sdk2-matrix-f095e2999aa2", + "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:39059/OtOpcUa", + "process": 33, + "sdk": "2.0.1.0", + "rawUri": "https://zb.com/otopcua/raw", + "unsUri": "https://zb.com/otopcua/uns" + } + } +] diff --git a/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/source-info.json b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/source-info.json new file mode 100644 index 000000000..4e5e36aac --- /dev/null +++ b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/mutation/source-info.json @@ -0,0 +1,15 @@ +{ + "baseline": { + "root": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/base15", + "commit": "83ed880e4471344deaf008da9bd028c7e170bdc7", + "sdkPackages": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/base15/Directory.Packages.props" + }, + "candidate": { + "root": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut", + "commit": "19930411cda3aeacc2175fc6f67ab9401289dc1a", + "sdkPackages": "/private/tmp/claude-501/-Users-dohertj2-Desktop-scadaproj/a6d396bd-5e2c-4e21-a60d-576a5e97f6b7/scratchpad/wt/i880mut/Directory.Packages.props" + }, + "scope": "Loopback application contract and 3 warmed 50-operation rounds per scalar/Int32[3] read/write kind; shared development host, no full load/reconnect/failover/backend/soak performance claim.", + "dateUtc": "2026-11-12T16:10:42Z", + "apiKey": "random per run, production ApiKeySecret.Generate shape, 65 chars (#880); value never recorded" +} diff --git a/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/summary.json b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/summary.json new file mode 100644 index 000000000..085c63e0a --- /dev/null +++ b/scripts/validation/opcua-sdk-compatibility/evidence/2026-11-12-880/summary.json @@ -0,0 +1,162 @@ +{ + "issue": "lmxopcua#880", + "dateUtc": "2026-11-12", + "baseline": "83ed880e (SDK 1.5.378.182), host/ and Client.Shared/ published Release from an untouched worktree", + "candidate": { + "fixed": "the #880 fix and matrix cases as a working tree on da948e5f (source-info records da948e5f); the same content landed on master as be28aa44 + 2ad72130 after a rebase onto 3fff439b", + "mutation": "19930411 (pre-rebase commit of that content) with OpcUaUserIdentityFactory.UserName reverted to new UserIdentity(username, bytes), i.e. the SDK default handler" + }, + "apiKey": "random per run, ApiKeySecret.Generate shape, 65 chars; never recorded", + "fixed": [ + { + "leg": "baseline-client-to-baseline-server", + "status": "passed", + "cases": 13, + "passed": 13, + "failed": [], + "apiKeyLength": 65, + "serverSdk": "1.5.378.0", + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "leg": "baseline-client-to-candidate-server", + "status": "failed", + "cases": 13, + "passed": 10, + "failed": [ + "raw-UNS-URI-browse", + "scalar-read-write-ns-3", + "typed-array-read-write-ns-3" + ], + "apiKeyLength": 65, + "serverSdk": "2.0.1.0", + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "leg": "candidate-client-to-baseline-server", + "status": "passed", + "cases": 14, + "passed": 14, + "failed": [], + "apiKeyLength": 65, + "serverSdk": "1.5.378.0", + "wrongSecretStatus": "BadIdentityTokenRejected", + "sdkDefaultFormatStatus": "BadIdentityTokenInvalid" + }, + { + "leg": "candidate-client-to-candidate-server", + "status": "failed", + "cases": 14, + "passed": 11, + "failed": [ + "raw-UNS-URI-browse", + "scalar-read-write-ns-3", + "typed-array-read-write-ns-3" + ], + "apiKeyLength": 65, + "serverSdk": "2.0.1.0", + "wrongSecretStatus": "BadIdentityTokenRejected", + "sdkDefaultFormatStatus": "Good" + }, + { + "leg": "candidate-driver-cli-to-baseline-server", + "status": "passed", + "cases": 7, + "passed": 7, + "failed": [] + }, + { + "leg": "candidate-driver-cli-to-candidate-server", + "status": "failed", + "cases": 7, + "passed": 6, + "failed": [ + "driver-raw-UNS-URI-scalar-and-array-read" + ] + } + ], + "mutation": [ + { + "leg": "baseline-client-to-baseline-server", + "status": "passed", + "cases": 13, + "passed": 13, + "failed": [], + "apiKeyLength": 65, + "serverSdk": "1.5.378.0", + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "leg": "baseline-client-to-candidate-server", + "status": "failed", + "cases": 13, + "passed": 10, + "failed": [ + "raw-UNS-URI-browse", + "scalar-read-write-ns-3", + "typed-array-read-write-ns-3" + ], + "apiKeyLength": 65, + "serverSdk": "2.0.1.0", + "wrongSecretStatus": "BadIdentityTokenRejected" + }, + { + "leg": "candidate-client-to-baseline-server", + "status": "failed", + "cases": 3, + "passed": 1, + "failed": [ + "trusted-SignAndEncrypt-API-key", + "production-length-API-key-wrong-secret-reaches-key-check" + ], + "apiKeyLength": 65, + "serverSdk": "1.5.378.0", + "wrongSecretStatus": "BadIdentityTokenInvalid", + "sdkDefaultFormatStatus": "BadIdentityTokenInvalid" + }, + { + "leg": "candidate-client-to-candidate-server", + "status": "failed", + "cases": 14, + "passed": 11, + "failed": [ + "raw-UNS-URI-browse", + "scalar-read-write-ns-3", + "typed-array-read-write-ns-3" + ], + "apiKeyLength": 65, + "serverSdk": "2.0.1.0", + "wrongSecretStatus": "BadIdentityTokenRejected", + "sdkDefaultFormatStatus": "Good" + }, + { + "leg": "candidate-driver-cli-to-baseline-server", + "status": "failed", + "cases": 7, + "passed": 0, + "failed": [ + "driver-trusted-encrypted-API-key-connect", + "driver-raw-UNS-URI-scalar-and-array-read", + "driver-scalar-array-write-roundtrip", + "driver-monitor-quality-timestamps", + "production-CLI-read", + "production-CLI-raw-history", + "production-CLI-event-history" + ] + }, + { + "leg": "candidate-driver-cli-to-candidate-server", + "status": "failed", + "cases": 7, + "passed": 6, + "failed": [ + "driver-raw-UNS-URI-scalar-and-array-read" + ] + } + ], + "readout": [ + "Fixed: every SDK 2 client (Shared, driver, CLI) logs in to the SDK 1.5 server with the 65-char key; a wrong 65-char key reaches the key check (BadIdentityTokenRejected); the SDK default handler control is refused BadIdentityTokenInvalid by 1.5 and admitted by SDK 2.", + "Mutation: the SDK 2 Shared connect, the wrong-key case (BadIdentityTokenInvalid instead of Rejected), the driver connect and all three CLI calls fail against the SDK 1.5 server exactly as #880 reports; the SDK 2 server legs are unaffected.", + "Both runs: the UNS cases (raw-UNS-URI-browse, scalar/typed-array ns-3, driver UNS read) fail against the master server for every client SDK; a fixture gap since #808 (lmxopcua#888), not #880." + ] +}