Server actions versus API patching
Pick one mutation path per feature. Hybrid patches usually rot first.
AI-generated App Router work often mixes server actions, client fetches, and ad hoc API routes in the same feature just to keep momentum. That produces a codebase where no reviewer can tell which path is canonical.
- Write one rule for when a form uses a server action versus an API route.
- Delete fallback mutation helpers that exist only because an earlier draft could not decide.
- Review pending PRs for duplicated mutation paths before another one merges.