--- id: use-cache-date-stamp-isr-write-amplifier title: "'use cache' date-stamp ISR write amplifier" status: active candidateKinds: ["use_cache_date_stamp"] frameworks: ["next@>=15.0.0"] scannerPatterns: ["use-cache-date-stamp"] priority: 88 citations: ["https://nextjs.org/docs/app/api-reference/directives/use-cache", "https://nextjs.org/docs/app/api-reference/functions/cacheLife"] maxBriefChars: 900 --- ## Investigation Brief `'use cache'` keys on argument identity and prerender output. A `new Date()`, `Date.now()`, or `Math.random()` baked into the cached output forces a fresh ISR write on every regeneration even when the data is unchanged. ## Evidence To Check Check the scanner finding's `subtype`: `module-scope` (module-level date) or `in-cache-fn` (inside the cached body). Cross-reference `isrWritesByRoute` — a stable write rate against low reads is the symptom. ## Do Not Recommend When Skip if the date is inside `useEffect`/`useCallback`/`useMemo`. Skip if `'use cache'` is only a comment. Skip if the date is the intended cache key. ## Verification Name the file, the specific primitive call, and the replacement: build-time constant or client-side `useEffect`.