FIELD NOTES · ACCEPTANCE EXERCISES

A replaced brochure needs a deliberate public cache version

Replacing a brochure behind the same long-lived URL can leave visitors seeing an older file. Before a new release, agree a versioned asset address or a reviewed revalidation/invalidation strategy. Do not describe a file upload as proof that every intermediary and device has the new bytes.

Who should use this acceptance brief

Businesses updating public catalogues and brand assets. Use this as a scoped website handover task. Where real system evidence is required, teaching examples are not a substitute.

Source-bound platform fact

HTTP caching guidance describes versioned URLs for cache busting and freshness/revalidation mechanisms. Changing a URL does not prove that every page now links to it. MDN: HTTP caching · 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
oldURL=v1, newURL=v2; hash changesnew identityversioned candidate
same URL; hash changesidentity reusedreview cache strategy
new URL; same hashsame contentno content delta

Run the acceptance exercise

  1. Record approved old/new file hashes, public URLs and cache-policy intent.
  2. Test an ordinary repeat visit and verify actual response bytes, not just the filename.
  3. Verify all authorised new release entry points and document recovery without deleting old evidence.

Interpret the result and retain evidence

The fixture compares supplied identities and hashes; it never purges a CDN. A new identity is a release strategy candidate, not a guarantee of instant propagation. Keep actual headers and retrieved hashes as acceptance evidence. Private-account storage policy is a different problem from this public asset freshness contract.

Limits before implementation

No old asset URLs, cache headers or site dependencies are changed. Excludes service-worker update logic and automatic invalidation.

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 public-asset-version-contract.json