FIELD NOTES · ACCEPTANCE EXERCISES

Returning to a portal is not always a fresh page load

After a customer approves a quote, using Back can restore an earlier screen that still offers the old action. Before buying a visual refresh, ask the supplier to test navigation restoration and server state together. The stale display may be a history-restoration problem, not missing saved data.

Source-bound fact

The pageshow event covers page display, including cache restoration; persisted identifies a persisted page restoration. Official reference · Checked 17 October 2026.

Filled synthetic acceptance example

Synthetic teaching example, not a client case or a real-platform assessment. On narrow screens, scroll to read the complete table.

InputCheck basisExpected
Quotealreadyaccepted; restored oldscreenpersistedtruerevalidate action before enabling
Freshscreen; state fetchedpersistedfalsenormal state check still required
Revalidation fails offlineauthoritative state unknownshow reconnect; no second approval

Supplier acceptance procedure

  1. Demonstrate approve, navigate away and Back with a synthetic quote in a permitted test account.
  2. Record restored-page state and the separately revalidated server revision before allowing another action.
  3. Test offline recovery and expired authorisation without deleting customer data or disabling browser caches globally.

Interpret the output

The checker returns revalidate or hold; it does not observe a real navigation cache. Require the supplier to preserve the restored-screen evidence and server revision. Clearing every draft on Back is not a substitute for deciding which actions require fresh authority.

Explicit limits

No real quote approval, logout or cache policy changes. Draft persistence, draft expiry and server authorisation remain separate decisions.

Replay the finite teaching model

Save both files in one folder and use Node22 or newer. JSON contains inputs and expected results. The script processes synthetic data only, with no network, credentials, payment or paid API calls. Passing is not evidence that a real integration passed acceptance.

Filled inputs and expectations · Inspectable teaching script

node check.mjs portal-history-return-revalidation.json