Aglet

Keep Import Preview and Execution Boundaries Separate

The durable lesson is which state preview may change and which work requires explicit execution. Keep that boundary in domain behavior as well as interface copy. Preserve the action sequence that crossed it so future reuse of validation, assignment, or navigation logic does not recreate an import hidden behind a preview label.

Keep the lesson for the next incident

  1. Document permitted preview effects

    List upload and validation bookkeeping that preview legitimately creates, and identify destination changes reserved for execution. Explain the confirmation action and what cancellation retains. Keep these meanings aligned with the actual operation boundary so a later copy change does not promise a read-only preview that shared behavior cannot provide.

  2. Retain a known-state sequence

    Keep a controlled source fixture, destination baseline, and the preview actions that previously triggered a write. Record expected metadata separately from domain state. Include explicit execution as a contrasting step so future checks preserve useful import behavior while proving that the same destination changes do not occur during preparation or review.

  3. Review shared operation changes

    Assign review when validation, mapping, persistence, or navigation starts reusing another import operation. Trace its permitted effects rather than relying on a method or screen name. Track confirmed premature destination changes separately from ordinary preview-record creation so a recurrence remains visible without generating noise about expected bookkeeping.

What to carry forward

Close with a clear effect boundary, a readable baseline sequence, and an owner for shared-operation changes. Preserve any unobserved side effects and historical reconciliation limits explicitly. The next maintainer should be able to explain what preview saves and why destination work cannot occur before the user reaches the documented execution action.

Technical background: Django import-export 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