DiscoverAsync now unconditionally emits SecurityClassification.ViewOnly for every user-authored FOCAS tag. Previously the SecurityClass was tag.Writable ? Operate : ViewOnly, but WireFocasClient.WriteAsync always returns BadNotWritable — advertising Operate misleads OPC UA clients and the DriverNodeManager ACL layer into granting write permission on nodes that can never be written. Updated FocasCapabilityTests.DiscoverAsync_emits_pre_declared_tags to assert ViewOnly for the writable-by-config tag so it matches the corrected behaviour. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
9.5 KiB
9.5 KiB