Docs audit — fill gaps so the top-level docs/ reference matches shipped code
Audit of docs/ against src/ surfaced shipped features without current-reference coverage (FOCAS CLI, Core.Scripting+VirtualTags, Core.ScriptedAlarms, Core.AlarmHistorian), an out-of-date driver count + capability matrix, ADR-002's virtual-tag dispatch not reflected in data-path docs, broken cross-references, and OpcUaServerReqs declaring OPC-020..022 that were never scoped. This commit closes all of those so operators + integrators can stay inside docs/ without falling back to v2/implementation/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Driver test-client CLIs
|
||||
|
||||
Five shell-level ad-hoc validation tools, one per native-protocol driver family.
|
||||
Six shell-level ad-hoc validation tools, one per native-protocol driver family.
|
||||
Each mirrors the v1 `otopcua-cli` shape (probe / read / write / subscribe) against
|
||||
the **same driver** the OtOpcUa server uses — so "does the CLI see it?" and
|
||||
"does the server see it?" are the same question.
|
||||
@@ -12,6 +12,7 @@ the **same driver** the OtOpcUa server uses — so "does the CLI see it?" and
|
||||
| `otopcua-ablegacy-cli` | PCCC (SLC / MicroLogix / PLC-5) | [Driver.AbLegacy.Cli.md](Driver.AbLegacy.Cli.md) |
|
||||
| `otopcua-s7-cli` | S7comm / ISO-on-TCP | [Driver.S7.Cli.md](Driver.S7.Cli.md) |
|
||||
| `otopcua-twincat-cli` | Beckhoff ADS | [Driver.TwinCAT.Cli.md](Driver.TwinCAT.Cli.md) |
|
||||
| `otopcua-focas-cli` | Fanuc FOCAS/2 (CNC) | [Driver.FOCAS.Cli.md](Driver.FOCAS.Cli.md) |
|
||||
|
||||
The OPC UA client CLI lives separately and predates this suite —
|
||||
see [Client.CLI.md](Client.CLI.md) for `otopcua-cli`.
|
||||
@@ -32,11 +33,11 @@ Every driver CLI exposes the same four verbs:
|
||||
decisions #44, #45).
|
||||
- **`subscribe`** — long-running data-change stream until Ctrl+C. Uses native
|
||||
push where available (TwinCAT ADS notifications) and falls back to polling
|
||||
(`PollGroupEngine`) where the protocol has no push (Modbus, AB, S7).
|
||||
(`PollGroupEngine`) where the protocol has no push (Modbus, AB, S7, FOCAS).
|
||||
|
||||
## Shared infrastructure
|
||||
|
||||
All five CLIs depend on `src/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/`:
|
||||
All six CLIs depend on `src/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/`:
|
||||
|
||||
- `DriverCommandBase` — `--verbose` + Serilog configuration + the abstract
|
||||
`Timeout` surface every protocol-specific base overrides with its own
|
||||
@@ -48,9 +49,9 @@ All five CLIs depend on `src/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common/`:
|
||||
with a shortlist for `Good` / `Bad*` / `Uncertain`; unknown codes fall
|
||||
back to hex.
|
||||
|
||||
Writing a sixth CLI (hypothetical Galaxy / FOCAS) costs roughly 150 lines:
|
||||
a `{Family}CommandBase` + four thin command classes that hand their flag
|
||||
values to the already-shipped driver.
|
||||
Writing a seventh CLI (hypothetical Galaxy / OPC UA Client) costs roughly
|
||||
150 lines: a `{Family}CommandBase` + four thin command classes that hand
|
||||
their flag values to the already-shipped driver.
|
||||
|
||||
## Typical cross-CLI workflows
|
||||
|
||||
@@ -86,7 +87,9 @@ values to the already-shipped driver.
|
||||
|
||||
## Tracking
|
||||
|
||||
Tasks #249 / #250 / #251 shipped the suite. 122 unit tests cumulative
|
||||
(16 shared-lib + 106 across the five CLIs) — run
|
||||
Tasks #249 / #250 / #251 shipped the original five. The FOCAS CLI followed
|
||||
alongside the Tier-C isolation work on task #220 — no CLI-level test
|
||||
project (hardware-gated). 122 unit tests cumulative across the first five
|
||||
(16 shared-lib + 106 CLI-specific) — run
|
||||
`dotnet test tests/ZB.MOM.WW.OtOpcUa.Driver.Cli.Common.Tests` +
|
||||
`tests/ZB.MOM.WW.OtOpcUa.Driver.*.Cli.Tests` to re-verify.
|
||||
|
||||
Reference in New Issue
Block a user