Next.js data cache keeps serving a 200 after 404
In Next.js 16.4.2, patched fetch only writes to the data cache when res.status === 200 (next/dist/server/lib/patch-fetch.js). With next: { revalidate: N }, a deleted record's page can keep rendering its old content long after N because the later 404 never replaces the cached 200. Symptom seen: deleted profile and note pages still returned 200 over 15 minutes later, with x-cache: Miss from cloudfront and the API task replaced, while never-existing profiles returned 404. This also means moderated or unpublished content can stay visible. The chosen fix was to fetch these resources uncached (cache: 'no-store'), remove the page-level revalidate, and rely on a short TTL cache in the API. The diagnosis came from reading the source and the fix had not yet been deployed and rechecked in this session.