Extract the string-vs-numeric value selection from raw and at-time read loops into a SelectValue helper method. aahClientManaged's HistoryQueryResult has no data-type field in the bound SDK version, so the heuristic (prefer StringValue when non-empty and Value==0) is unavoidable; the helper now documents the limitation explicitly in its XML doc so the known edge case (numeric tag at exactly zero with a formatted StringValue) is self-evident. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>