docs(archreview): cross-reference historiangw#11 for the Int1 EnsureTags gap
This commit is contained in:
@@ -331,7 +331,9 @@ convention) + a regression unit test + `StorageRateMs` on the live-suite inline
|
||||
gateway's histsdk on this historian**: `EnsureTags(Int1)` returns `ProtocolEvidenceMissingException` (the vendored
|
||||
client's "no capture evidence for this type" guard → gRPC `Unimplemented`), both fresh and as a retype target.
|
||||
A **type sweep** confirmed it is Int1-specific: **Int2/UInt2/Int4/UInt4/Float/Double all provision `success=True`;
|
||||
only Int1 fails.** This is a **gateway/histsdk type-support gap**, not an OtOpcUa defect.
|
||||
only Int1 fails.** Root cause: `histsdk` `HistorianTagWriteProtocol.GetAnalogDataTypeCode` has no captured
|
||||
CTagMetadata wire code for Int1. This is a **gateway/histsdk type-support gap**, not an OtOpcUa defect — **filed as
|
||||
[historiangw#11](https://gitea.dohertylan.com/dohertj2/historiangw/issues/11)**.
|
||||
|
||||
**✅ U-7 retype policy — ANSWERED (via `grpcurl` against the real historian):**
|
||||
- `EnsureTags` is a **real create-or-update upsert** — re-`EnsureTags` of an existing tag at the same type → `success`.
|
||||
|
||||
+3
-1
@@ -173,7 +173,9 @@ mapper code change is needed or wanted). Consequences:
|
||||
- **Net for a pre-bump Float Boolean tag asked to become Int1:** the provision **fails** (per-tag
|
||||
`Success=false` → `failed=N` tally). It is **neither silently retyped nor data-lost** — the tag stays Float
|
||||
and remains readable; the Int1 provision simply doesn't land until the gateway's histsdk gains `Int1`
|
||||
create-evidence. (Prerequisite for reaching this outcome at all: the provisioner must stamp a **positive
|
||||
create-evidence — filed as
|
||||
[historiangw#11](https://gitea.dohertylan.com/dohertj2/historiangw/issues/11). (Prerequisite for reaching this
|
||||
outcome at all: the provisioner must stamp a **positive
|
||||
`StorageRateMs`** — a `0` made `EnsureTags` throw `ArgumentOutOfRangeException` and fail *every* provision;
|
||||
fixed in `GatewayTagProvisioner`, PR #439.)
|
||||
3. **The failure mode is bounded and observable either way.** Provisioning is fire-and-forget and never
|
||||
|
||||
Reference in New Issue
Block a user