FIELD NOTES · ACCEPTANCE EXERCISES

An enquiry draft needs a lifetime and a safe resume rule

Autosave can save typing and still surprise a customer on a shared device. Before adding it to a multi-step brief, agree which fields may be retained, for how long and under which form version. A convenient resume button should not silently restore outdated choices or sensitive attachments.

Who should use this acceptance brief

Businesses collecting longer non-sensitive project briefs. Use this as a scoped website handover task. Where real system evidence is required, teaching examples are not a substitute.

Source-bound platform fact

sessionStorage is scoped to origin and a tab’s page session and can survive reloads. It is not a custom expiry mechanism or an access-control boundary. MDN: sessionStorage · Checked 16 October 2026.

Filled teaching example

Synthetic example, not a client case. Finite inputs, expected decisions and counterexamples follow; no live integration is claimed.

On narrow screens, scroll to read the complete table.

Input / caseCheck basisExpected decision
version2, age10min, TTL30mincurrent non-sensitive draftresume candidate
version1 → current2schema mismatchdiscard/review
age30min, TTL30minexpiry boundaryexpired

Run the acceptance exercise

  1. Approve a minimal non-sensitive field list and disclose the expected draft behaviour.
  2. Test reload, expiry, clear-draft and form-version change in an isolated browser session.
  3. Require current validation before final submission; do not treat restored text as a received enquiry.

Interpret the result and retain evidence

The offline checker validates only a supplied version and age. It stores no data and does not exercise browser persistence. Record why a draft was resumed or rejected, and test shared-device/sign-out expectations in the actual implementation. If cross-device recovery is required, specify an authenticated design rather than assuming sessionStorage provides it.

Limits before implementation

Do not store credentials, health/legal details or private files in this teaching design. Not a privacy-law assessment or authorisation to change existing forms.

Replay the finite example

Save both files in one folder and run with Node22.13 or newer. The example sends no network requests and changes no account or site. Filled inputs and expected outputs · Inspectable functions

node decision-check.mjs multistep-enquiry-draft-expiry.json