Keep the lesson for the next incident
Compare loss boundaries
Align form, field shape, invalid condition, controller response, render path, nested values, browser recovery, and user consequence. Separate one-off browser history behavior from server-rendered loss.
Define retention expectations
Document which valid values must survive rejection, which invalid values may be normalized, and how errors identify the correction. Keep sensitive fields represented by safe structure only.
Set a recurrence rule
Trigger review after changes to parameter filtering, form builders, validation, redirects, nested inputs, or error pages. Name representative drafts that should be replayed before release confidence is stated.
What to carry forward
The lesson should preserve one explicit draft-retention contract and a recurrence rule for form changes. Treat it as provisional until later invalid submissions retain the same meaningful fields through correction and retry. Preserve a draft-retention contract for representative forms and review it after parameter, validation, redirect, nested-input, or error-rendering changes. Include one nested or long-text example because simple scalar fields can conceal the loss boundary.
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