Problem
The current symbolic API requires callers to supply raw access-area IDs, LID paths, SymbolCRC values and byte payloads. Browsing can discover symbols, but there is no stable public path from a symbol name to a typed read or write.
Other active implementations provide cached symbol resolution, typed values, batch access and automatic SymbolCRC recovery.
Scope
- Introduce a public symbolic tag descriptor preserving name, access path, datatype, array metadata and SymbolCRC.
- Build a catalog from the existing browse/type-info machinery.
- Add
resolve_tag, read_tag, write_tag, read_tags and write_tags.
- Encode writes according to the resolved PValue datatype instead of always using raw BLOB semantics.
- Detect SymbolCRC mismatch, invalidate the affected catalog and re-resolve once for safe read operations.
- Preserve the existing low-level symbolic methods.
Acceptance criteria
- A caller can read and write an optimized DB tag by name without manually handling LIDs.
- Scalar and array metadata survive browsing and resolution.
- Batched results retain per-item success/error information.
- Writes are never automatically retried after an ambiguous transport failure.
- Program-layout change tests demonstrate deterministic CRC invalidation and re-resolution.
Out of scope
Problem
The current symbolic API requires callers to supply raw access-area IDs, LID paths, SymbolCRC values and byte payloads. Browsing can discover symbols, but there is no stable public path from a symbol name to a typed read or write.
Other active implementations provide cached symbol resolution, typed values, batch access and automatic SymbolCRC recovery.
Scope
resolve_tag,read_tag,write_tag,read_tagsandwrite_tags.Acceptance criteria
Out of scope