Aglet

Keep Import Text Limits Consistent and Explainable

The lasting lesson is a shared field-length contract with an explicit measurement unit and preservation rule. Keep the boundary that failed, including its character representation or normalization condition. A generic long-string fixture may not reveal the same disagreement between preview, validation, and the destination that accepts the imported text.

Keep the lesson for the next incident

  1. Document the limit and unit

    State the supported field limit, how length is measured, and whether normalization happens before that measurement. Explain rejection and display behavior separately. Keep the same meaning in preview guidance and validation messages so a future interface change does not advertise a character limit while execution enforces a different byte boundary.

  2. Retain discriminating boundary values

    Keep below-limit, exact-limit, and over-limit text with expected acceptance and complete saved content. Include the representation that exposed the inconsistency and a normal control. Record why full-value comparison matters so future checks do not simplify preservation into a successful status or an output-length assertion that misses altered characters.

  3. Review field and normalization changes

    Assign review when destination constraints, encoding, whitespace handling, or preview validation changes. Compare all boundary stages and the correction message. Track confirmed stored truncation separately from explicit rejection and visual clipping so a recurrence remains recognizable even when the import completes and the interface displays a neatly shortened field.

What to carry forward

Close with an explicit length contract, representative boundary fixtures, and an owner for field-rule changes. Preserve any source-format limitation in guidance. The next maintainer should be able to explain why a value is accepted or rejected and demonstrate that accepted text survives intact through storage and retrieval.

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