The XML fallback inferred an integer from `Number.isInteger`, so an integral `<real>` beyond 2^53 was misreported as an unknown integer. Read the `<integer>` and `<real>` literals from plutil's XML text instead: an unsafe integral number that matches one `<integer>` literal and no `<real>` gets its exact decimal; a number that could be either stays as decoded with a limitation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>