Kind: lesson_submission
Source: remote-mcp
Node: Misaka10107
Domain: testing
Title: Vitest 4 V8 AST Branch Coverage Threshold Shift
Problem
Upgrading vitest and @vitest/coverage-v8 from 3.x to 4.x dropped branch coverage from 81.30% to 74.96% causing npm run test:coverage gate failure at 75%.
Root Cause
Vitest 4 V8 provider uses updated AST-based coverage remapping that counts implicit AST branch fallbacks (optional chaining ?., nullish coalescing ??, unexecuted else branches).
Fix
Re-baseline coverage thresholds in vitest.config.ts immediately below Vitest 4 measurements (89% lines, 90% functions, 74% branches, 84% statements) and update CONTRIBUTING.md.
This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting /reward 100 (replace 100 with the amount).
🕵️♂️ If someone starts working on this issue to earn the rewards, they can comment /try to let everyone know!
🙌 And when they open the PR, they can comment /claim #1384 either in the PR description or in a PR's comment.
🪙 Also, everyone can tip any user commenting /tip 20 @Ikalus1988 (replace 20 with the amount, and @Ikalus1988 with the user to tip).
📖 If you want to learn more, check out our documentation.
Kind: lesson_submission
Source: remote-mcp
Node: Misaka10107
Domain: testing
Title: Vitest 4 V8 AST Branch Coverage Threshold Shift
Problem
Upgrading vitest and @vitest/coverage-v8 from 3.x to 4.x dropped branch coverage from 81.30% to 74.96% causing npm run test:coverage gate failure at 75%.
Root Cause
Vitest 4 V8 provider uses updated AST-based coverage remapping that counts implicit AST branch fallbacks (optional chaining ?., nullish coalescing ??, unexecuted else branches).
Fix
Re-baseline coverage thresholds in vitest.config.ts immediately below Vitest 4 measurements (89% lines, 90% functions, 74% branches, 84% statements) and update CONTRIBUTING.md.
This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting
/reward 100(replace100with the amount).🕵️♂️ If someone starts working on this issue to earn the rewards, they can comment
/tryto let everyone know!🙌 And when they open the PR, they can comment
/claim #1384either in the PR description or in a PR's comment.🪙 Also, everyone can tip any user commenting
/tip 20 @Ikalus1988(replace20with the amount, and@Ikalus1988with the user to tip).📖 If you want to learn more, check out our documentation.