Aglet

Learn from recurring upload cancellation artifact confusion

Repeated cancellation questions usually indicate that transfer state, artifact retention, and interface language were designed separately. Learning should preserve the race cases that matter and make one lifecycle contract visible to both implementation reviewers and people deciding what a cancelled file means.

Keep the lesson for the next incident

  1. Cluster cancellation outcomes

    Group cases by retained partial data, discarded sessions, late responses, duplicate entries, and revisit behavior. Record which state users expected and which state the system exposed, keeping a harmless delay distinct from an artifact contradiction.

  2. Write the lifecycle rule

    Document the terminal states, retention choice, identity relationship, and allowed next actions after cancellation. Include timing examples for an in-flight response and a final-chunk response so the rule covers ordering rather than only the happy path.

  3. Make changes reviewable

    Add the response-order fixture whenever cancellation, retry, cleanup, persistence, or status copy changes. Name the owner for lifecycle semantics and require new controls to state which artifact state they accept and produce.

What to carry forward

The learning record is complete when cancellation has a stated terminal meaning, timing cases, and artifact disposition that reviewers can test. If retention is intentionally variable, document the visible distinction and the owner responsible for deciding each supported state.

Technical background: MDN reference.

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