Context
Follow-up from #646 (PR #681), which re-enabled frontend lint in CI. ESLint exits 0 on warnings (no --max-warnings), so lint is green, but 7 react-hooks/exhaustive-deps warnings remain in pre-existing components and should not silently accumulate.
Warnings
src/app/proof/[req_id]/page.tsx:88 — missing dep reqId
src/components/execution/BatchExecutionMonitor.tsx:105 — missing dep batch
src/components/prd/DiscoveryPanel.tsx:83 — missing dep startNewSession
src/components/prd/StressTestModal.tsx:75 — ambiguities logical expr (×2, useMemo deps)
src/components/tasks/GitHubIssueImportModal.tsx:94 — issues logical expr (×2, useMemo/useCallback deps)
Why deferred
Each fix is behavioral (changing hook deps can alter render/effect timing) and out of scope for the CI-hardening issue #646. Resolving them needs per-component verification, not a blanket autofix.
Acceptance criteria
Context
Follow-up from #646 (PR #681), which re-enabled frontend lint in CI. ESLint exits 0 on warnings (no
--max-warnings), so lint is green, but 7react-hooks/exhaustive-depswarnings remain in pre-existing components and should not silently accumulate.Warnings
src/app/proof/[req_id]/page.tsx:88— missing depreqIdsrc/components/execution/BatchExecutionMonitor.tsx:105— missing depbatchsrc/components/prd/DiscoveryPanel.tsx:83— missing depstartNewSessionsrc/components/prd/StressTestModal.tsx:75—ambiguitieslogical expr (×2, useMemo deps)src/components/tasks/GitHubIssueImportModal.tsx:94—issueslogical expr (×2, useMemo/useCallback deps)Why deferred
Each fix is behavioral (changing hook deps can alter render/effect timing) and out of scope for the CI-hardening issue #646. Resolving them needs per-component verification, not a blanket autofix.
Acceptance criteria
--max-warnings 0in the lint step once clean, to prevent regressions