docs(phase5): correct FOCAS probe binding — direct DllImport, not WireFocasClient (integration review)

This commit is contained in:
Joseph Doherty
2026-06-16 07:12:48 -04:00
parent 961b2b558d
commit af280af842
2 changed files with 6 additions and 3 deletions
@@ -26,7 +26,8 @@ operator gets a false "connection OK" and only discovers the truth when the driv
- TwinCAT: `AdsClient.Connect(netId, port)` + `ReadStateAsync` (`AdsTwinCATClient.cs:90,194`).
- OpcUaClient: `DiscoveryClient.GetEndpointsAsync` (no session / cert / auth — `OpcUaClientDriver.cs:422`).
- Galaxy: the `MxGateway.Client` gRPC channel + one lightweight unary call.
- FOCAS: `cnc_allclibhndl3` via the existing wire P/Invoke (`Wire.WireFocasClient`).
- FOCAS: `cnc_allclibhndl3` via a direct `DllImport("fwlib32")` in the probe (the production
`Wire.WireFocasClient` is pure-managed FOCAS/2 TCP, not an FWLIB P/Invoke).
- **Probe dispatch** clamps the timeout to 160 s and passes a cancelled-on-timeout `ct`
(`AdminOperationsActor.cs:284-291`). Probes MUST honour it and MUST NOT mutate state (read-only handshakes).
- **A proven skip-gated E2E harness exists** (`DriverTestConnectE2eTests`) targeting the live Modbus sim with