Keep the lesson for the next incident
Document the byte-to-text decision
Record the supported encodings, any inference behavior, and which user choice is authoritative. Explain how invalid sequences are reported. Name the component that performs the initial decoding so future upload or parsing changes do not accidentally introduce another incompatible conversion step.
Keep discriminating text fixtures
Retain sanitized examples whose characters distinguish the supported decoding paths, including the original failure. Pair them with invalid input and a plain-text control. Document expected characters alongside the bytes so a later reviewer can recognize a changed interpretation without relying on a screenshot.
Review producer and conversion changes
Assign review when a new export tool is supported or a decoding library changes. Track confirmed encoding errors separately from generic parsing failures when possible. Include preview and retrieval behavior in that review, since either surface can reintroduce a mismatch after the core parser remains correct.
What to carry forward
Close with a documented decoding owner, representative fixtures, and a concrete review trigger. Preserve any remaining producer limitation in user-facing format guidance. Future confidence should come from a known byte-and-character comparison, not from an absence of complaints or a file that happens to contain only ASCII.
Technical background: PostgreSQL documentation.
Keep the decision with the work.
Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.
Create an account See the product workflow