Aglet

Investigate Empty, Missing, and Null Import Semantics

Investigation needs a matrix of source representations and intended outcomes, not one generic blank value. Separate parsing from assignment and defaults. The parser may preserve a distinction that a later update operation loses, while the preview can hide both behind the same visually empty cell.

Build a useful investigation brief

  1. Define the representation matrix

    List empty fields, quoted empty strings, supported null markers, omitted fields, and whitespace-only text. For each affected operation, define the expected assignment or rejection. Use a known existing value in update cases so unchanged, cleared, and defaulted outcomes can be distinguished without relying on appearance.

  2. Trace each transformation separately

    Capture parsed values, normalization, default selection, validation, and destination assignment for each case. Identify the earliest stage where two expected meanings become indistinguishable. Keep field-specific rules visible; a text description and a structured optional value may legitimately need different treatment despite looking blank in the source.

  3. Test one contract-preserving change

    Change the implicated parsing or assignment rule in a controlled comparison and repeat the matrix. Check neighboring valid text and explicit nonempty updates. Do not broaden the fix to treat all blanks as null unless that behavior matches the documented contract for every field placed in scope.

What to carry forward

Produce a brief containing the matrix, first collapsing transformation, and outcomes of the bounded change. Record any undecided semantics as a product decision rather than choosing them through implementation convenience. A fix is supported when distinct intended meanings survive to assignment and users can recognize the result.

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