Keep the lesson for the next incident
Explain the record boundary
Write a short example showing a quoted newline inside one record and the next true record boundary. Record whether the incident involved preprocessing, quote state, or error numbering. Keep the explanation tied to the observed behavior rather than a generic warning about CSV complexity.
Retain the decisive placement case
Keep the fixture location that exposed the defect, including any relevant chunk boundary or end-of-file condition. Pair it with an unbalanced quote example. Both expectations matter: preserving valid content and rejecting an incomplete structure should remain independently understandable to a future maintainer.
Review line-based consumers
List the preview, progress counter, validator, and error report that consume record positions. Assign follow-up where physical lines still stand in for logical rows. Revisit those assumptions when a file-processing library, streaming path, or progress display changes rather than waiting for another imported note to split.
What to carry forward
Close the lesson with a named boundary, readable fixtures, and an owner for affected line-based consumers. Track any still-inaccurate progress or error numbering separately from parser correctness. The durable outcome is a shared record model that remains clear across the import journey.
Technical background: DuckDB 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