Keep the lesson for the next incident
Document blank handling by structure
State which empty lines, whitespace, and empty-field records are ignored, retained, or rejected. Explain how ignored rows affect displayed counts and source locations. Keep quoted multiline content outside physical-line cleanup assumptions so future preview or performance work does not change legitimate text while trying to simplify row processing.
Retain a neighboring-record fixture
Keep each relevant blank form next to a distinct valid record and a controlled error. Record expected final identities, text, counts, and locations. Include the original placement condition, such as a trailing blank or quoted newline, so the fixture remains discriminating when the importer’s streaming or preprocessing path changes.
Review new skip and count rules
Assign review when preprocessing, blank classification, progress totals, or error numbering changes. Compare the source matrix across preview and execution. Track confirmed lost-record or unwanted-empty-record outcomes separately from harmless ignored spacers so the team can recognize a recurrence without treating all whitespace-related feedback as equivalent.
What to carry forward
Close with a clear structure-aware contract, readable neighboring-record fixtures, and an owner for skip-rule changes. Preserve any unresolved source form in guidance. The next maintainer should be able to explain exactly why a blank-looking input is ignored or retained and how that choice affects the records that follow it.
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