Files
wyndham-ARR/.project-docs/50-evidence/topics/2026-08-11-0806-xml-invalid-utf8.md
2026-08-11 17:23:33 +08:00

2.3 KiB

0806.XML invalid UTF-8 diagnosis

Metadata

  • Date: 2026-08-11
  • Status: Read-only input diagnosis; source re-export required
  • Scope: exact desktop 0806.XML, processor 4.0.0 isolated replay, public deployment health probe
  • Confidence: High for the inspected file; the authenticated remote artifact hash was not read

Observed behavior

  • The public ARR endpoint at 8.138.234.141:8765 remained healthy: anonymous /healthz returned HTTP 200 while authenticated detail endpoints remained protected.
  • The inspected 0806.XML is 694,286 bytes with SHA-256 b41c103bfad7f9f0abb25af159a0c5920f0f9b89e156d31919521d057b62639f.
  • An isolated active-processor replay exited 3 with status=failed, business_date=null, zero parsed source rows and exactly one XML_PARSE_ERROR: not well-formed (invalid token): line 1872, column 0.
  • The structured result is processor 4.0.0 / Schema 4.0 with activation_eligible=false; every outcome count and review count is zero. No price matching was reached.

Root cause

  • The XML declaration says UTF-8, but line 1872 inside a TRACE_TEXT value begins with bytes ED A0 BC ED BE 89.
  • Those six bytes are the CESU-8 representation of UTF-16 surrogate pair U+D83C U+DF89, whose intended Unicode scalar is U+1F389. UTF-8 must encode that scalar as one four-byte sequence; XML 1.0 also forbids surrogate code points as PCDATA.
  • The file contains exactly one such surrogate pair. Its closing XML structure is present, so this is an encoding defect rather than a truncated export.
  • Manual price review is intentionally unavailable: only a non-empty error set consisting entirely of PRICE_UNMATCHED can enter review_required; XML_PARSE_ERROR is a formal input failure before pricing.

Safe recovery boundary

Re-export the 2026-08-06 Opera XML as standards-compliant UTF-8, preferably after the upstream trace text no longer contains the mis-encoded character, then upload the new export as a fresh task. Do not edit the registered source artifact or convert the failed task into a review case. A fresh replay is still required to discover any later price or business-rule issues after parsing succeeds.

No original XML byte, upload, review item, database fact, Finance version, object-store object, event or runtime process was changed during this diagnosis.