Purpose
- Feature name: ISR and caching
- Why this feature exists: Keep project pages fast and fresh without full rebuilds.
Scope
In scope
- ISR revalidation for project detail pages
- cache-control headers for static routes
Out of scope
- bundle size monitoring
- analytics and observability dashboards
- project registry provides static params
- cache headers configured in deployment
Procedure / Content
Feature summary
- Feature name: ISR and caching
- Feature group: Performance and observability
- Technical summary: Uses
revalidate on project detail pages and cache-control for static routes.
- Low-tech summary: Pages load fast and update regularly without a full rebuild.
Feature in action
- Where to see it working:
/projects/[slug] pages and cache headers on /.
Confirmation Process
Manual
- Steps: Load a project page, inspect response headers for cache-control.
- What to look for:
max-age and stale-while-revalidate values set.
- Artifacts or reports to inspect: Browser DevTools or
curl -I output.
Tests
- ISR disabled causing stale content.
- Cache headers missing or inconsistent.
Long-term maintenance notes
- Revisit cache strategy after content volume changes.
- Next.js App Router
- Vercel caching
Source code references (GitHub URLs)
ADRs
Runbooks
Additional internal references
External reference links
Validation / Expected outcomes
- Project detail pages revalidate without full rebuilds.
- Cache headers align with documented strategy.
Failure modes / Troubleshooting
- No revalidation: verify ISR configuration and build logs.
References