feat(commons): HandshakePhase + HandshakeResult for the reset-aware handshake (#36)

Claude-Session: https://claude.ai/code/session_01XPsuy2ZZ5Gbyfpt8PrK5BV
This commit is contained in:
Joseph Doherty
2026-09-10 15:18:10 -04:00
parent 9bb373c4a1
commit e5c536c6b7
3 changed files with 74 additions and 0 deletions
@@ -80,6 +80,10 @@ public readonly record struct HandshakeResult(
HandshakePhase Phase, string? ErrorMessage);
```
`ResetFailed` (`!Matched && Phase == Reset`) is a computed convenience: script bodies import only
`System`, `System.Collections.Generic`, `System.Linq` and `System.Threading.Tasks`, so a script
branching on the enum would have to spell `ZB.MOM.WW.ScadaBridge.Commons.Types.HandshakePhase`.
Semantics of the new overload, in execution order:
1. **Reset write** — `resetKey = resetValue` through the existing `SetAttribute` path (static or