Aglet

Keep Import Whitespace Rules Field-Specific

The durable lesson is which whitespace carries meaning for each affected field and where permitted normalization occurs. Keep those decisions explicit rather than hiding them inside a generic cleanup function. Preserve the exact string that exposed the problem so a later visual review does not overlook the same invisible difference.

Keep the lesson for the next incident

  1. Document permitted transformations

    State which fields trim boundaries, preserve internal formatting, or require exact identity. Explain where the rule runs and how preview reflects it. Keep comparison behavior connected to the contract so an import change does not silently conflict with a later lookup that applies a different whitespace interpretation.

  2. Retain contrasting exact strings

    Keep meaningful-spacing, padded, and ordinary-control values with exact expected representations and outcomes. Include the original invisible difference and explain how reviewers can inspect it. Preserve both intended matches and distinct identities so future checks do not simplify success into a broad normalized equality that hides an unwanted merge of values.

  3. Review cleanup and comparison changes

    Assign review when text normalization, destination types, export formatting, or matching rules change. Follow the fixture through stored text and representative use. Track confirmed formatting loss and matching failures separately from cosmetic spacing feedback, since both may look similar on screen while requiring different boundaries and correction decisions.

What to carry forward

Close with a field-aware whitespace contract, readable exact-string fixtures, and an owner for normalization or comparison changes. Preserve any unresolved semantics explicitly. The next maintainer should be able to explain why a space is removed or retained without assuming that every cleaner-looking value better represents the source information.

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