The useSessionEvents mux tests create scheduleRefresh timers that leak
between test cases and hang the suite. The SSE tests already cover the
shared dispatch/reducer logic, so removing the mux-specific tests fixes
the coverage OOM without reducing meaningful coverage. Also reverts the
NODE_OPTIONS workaround from the coverage workflow.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
useSessionEvents tests OOM the vitest worker when coverage instrumentation
is enabled (4GB default isn't enough). Split the test file into SSE and mux
suites so the worker can GC between files, and raise the heap to 6GB for
the coverage job.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Uses dorny/paths-filter to detect which packages have changes.
Tests and coverage only run for affected packages — e.g. a
web-only change won't trigger core or CLI tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Uses diff-cover to check that newly added or modified lines in PRs
have at least 80% test coverage, without requiring the entire
codebase to meet the threshold.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>