Build a useful investigation brief
Create discriminating identity fixtures
Use digit strings with leading zeros, long sequences that differ only near the end, and ordinary short controls. Record each expected string without converting it to a number. Include an alphanumeric identifier to compare whether inference changes the treatment of the entire column or only selected rows.
Trace inference and conversion order
Inspect the exporter representation, parser output, inferred type, mapping conversion, and stored value. Capture the first representation that differs from the fixture. Check whether preview sampling sees only short numeric values and chooses a type that later records cannot preserve without losing information.
Compare explicit text handling
Run the same fixture with an explicit text mapping where supported. Keep all matching rules unchanged. If identity is preserved only in this path, investigate inference and coercion; if both paths alter it, examine preprocessing or source export before changing destination relationship behavior.
What to carry forward
Deliver a brief with exact before-and-after strings and the first lossy conversion. Separate preservation from reconciliation: fixing future imports does not identify the correct source for every already altered record. Keep ambiguous historical matches unresolved until independent evidence supports a specific correction rather than a guessed value.
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