The coverage script parses "All files" from vitest text table output, but
vitest was only configured with json-summary reporter. This caused frontend
coverage to show as 0%, pulling overall coverage below threshold.
Frontend line coverage is 68.4%, making overall coverage 66.4% vs 64.60% threshold.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>