Framework semantic default
Next.js revalidateTag profile max stale while revalidate
A mutation invalidates data at an unexpected time or serves stale content.
Agent Quick Fix
Repair against the current Next.js contract, then keep the change narrow and source-backed.
Product: Next.js
Current-contract area: Next.js 16 revalidateTag semantics differ from old stale-while-revalidate use
Likely root cause: A mutation invalidates data at an unexpected time or serves stale content.
Repair direction: Verifier checks behavior across multiple requests/build modes, not merely compilation. Check request count, response freshness, and render behavior over multiple calls.
Symptom
A mutation invalidates data at an unexpected time or serves stale content.
Why This Happens
Local code often type-checks under both old and new framework semantics; the failure depends on the installed framework version and current runtime defaults.
Common Wrong Fixes
- Changing local code without checking the current external contract.
- Retrying the same install, build, or API call with no version/source change.
- Applying a broad unsafe bypass when a narrow compatibility fix is available.
Codex Search Keywords
These are the search terms observed in a neutral Codex validation run for this failure shape.
site:nextjs.org/docs revalidateTag Next.js 16 stale-while-revalidate profile="max"
Next.js revalidateTag profile max stale while revalidate
https://nextjs.org/docs/app/api-reference/functions/revalidateTag
https://nextjs.org/docs/app/api-reference/functions/updateTag