Keep both timestamps.
Keep the evidence.
An encrypted, read-only collector checked against an independently implemented server. Use it to review units, quality and acquisition timing before data reaches an edge model.
Two problems exposed by an independent server
The previous collector asked for source timestamps only. The independent server correctly omitted the server time. Asking for both then exposed a dependency decoder error: a fractional source timestamp could be read as part of the server timestamp.
The revised collector requests both timestamps and follows the specified binary field order. Original DateTime ticks are kept at 100 ns resolution. Unit identifiers and finer timestamp fields stay in the collection evidence.
Tested pairing: asyncua 2.0.1 and node-opcua 2.186.13. The adapter is scoped to each single-value Read response; the installed dependency, session and encryption implementation remain unchanged.
What the fixture confirms
| Capture or probe | Observed result |
|---|---|
| Good metadata | Both timestamps and declared unit identifiers retained |
| Wrong or missing unit | Rejected; no conversion or substitution from the profile |
| Uncertain quality | Raw status retained and rejected |
| SemanticsChanged | Requires review of the metadata contract |
| Fractional timestamp | 100 ns ticks and raw 10 ps interval fields retained independently |
| Different certificate, same key | Correct certificate succeeds; the wrong receiver thumbprint is rejected |
| Separate server-role probes | Write and Call denied by the server role |
The role probes deliberately send Write and Call once each. Those requests are observed separately from the collector’s read traffic.
Carry the collection record with the handover
Keep the original capture.audit.json beside the portable six-file handover. It holds the connection receipt, declared unit identity and wire timestamp metadata. The handover regenerates its audit from the profile and CSV; it cannot recreate the original connection record.
Finer picosecond offsets are retained in metadata but are not added to CSV timestamps. The CSV audit therefore does not cover sub-100 ns boundary differences.