Summary
Task 141 (rerender audit & React 19 optimization) was deferred with the rationale that "React 19 compiler handles most automatic optimizations" — but the React Compiler is not enabled in this repo.
Analysis (2026-08-17)
- Stack: React 19.0 + Next.js 16.2.12. Next.js 16 promotes
reactCompiler from experimental to stable (not enabled by default).
- No
reactCompiler config in next.config.ts today.
- The codebase is already compiler-friendly:
- Zustand selector subscriptions (
useStudioStore((s) => s.entities)) throughout
useMemo/useCallback already applied in hot views (graph-view, mindmap-view, chat-view, library-entities)
- No
any in src/, no empty catch {} blocks, no LOC > 500 violations, no TODO/FIXME debt
- Plan 122 already added a scoped
react-hooks/incompatible-library suppression for the virtualizer hook — evidence the compiler was anticipated
Plan
pnpm add -D babel-plugin-react-compiler
- Set
reactCompiler: true in next.config.ts
- Run full quality gate: lint, typecheck, unit tests, build, E2E
- Reconcile Task 141 plan status + add a plan/ doc following repo convention
Acceptance Criteria
Summary
Task 141 (rerender audit & React 19 optimization) was deferred with the rationale that "React 19 compiler handles most automatic optimizations" — but the React Compiler is not enabled in this repo.
Analysis (2026-08-17)
reactCompilerfromexperimentalto stable (not enabled by default).reactCompilerconfig innext.config.tstoday.useStudioStore((s) => s.entities)) throughoutuseMemo/useCallbackalready applied in hot views (graph-view, mindmap-view, chat-view, library-entities)anyinsrc/, no emptycatch {}blocks, no LOC > 500 violations, no TODO/FIXME debtreact-hooks/incompatible-librarysuppression for the virtualizer hook — evidence the compiler was anticipatedPlan
pnpm add -D babel-plugin-react-compilerreactCompiler: trueinnext.config.tsAcceptance Criteria
pnpm run buildpasses (Next.js 16 + Turbopack)