Added Codecov coverage gates, type-aware linting, and optional mutation testing - #57
Merged
CodyCBakerPhD merged 12 commits intoJul 28, 2026
Merged
Conversation
… Stryker mutation testing Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9
for more information, see https://pre-commit.ci
|
Tip All tests passed and all changes approved!🟢 UI Tests: bbqs-uploader-storybook: 28 tests unchanged |
|
|
Tip All tests passed and all changes approved!🟢 UI Tests: bbqs-uploader-playwright: 2 tests unchanged |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9
CodyCBakerPhD
commented
Jul 28, 2026
… pre-commit.ci, dropped npm ci README note per review Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9
Signed-off-by: Cody Baker <51133164+CodyCBakerPhD@users.noreply.github.com>
…ment Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9
Codecov Report❌ Patch coverage is
@@ Coverage Diff @@
## main #57 +/- ##
===========================================
- Coverage 56.32% 32.50% -23.83%
===========================================
Files 16 26 +10
Lines 632 1529 +897
Branches 130 289 +159
===========================================
+ Hits 356 497 +141
- Misses 264 1032 +768
+ Partials 12 0 -12
... and 15 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Strengthened the deterministic quality gates around the existing Vitest/Playwright setup, keeping the app fully static and backend-free.
Coverage / Codecov
src/(wassrc/lib/only) withtext/lcov/jsonreporters and ratchet thresholds (statements 30, branches 25, functions 34, lines 30) set just below current levels, so regressions fail locally before any upload..github/.codecov.ymlis unchanged frommain. The upload step now passesfiles: ./coverage/lcov.infoexplicitly; kept the already-in-usecodecov-action@v5.npm ci); the Test workflow keeps just the Playwrightintegrationjob, so browser runs never block the upload. Chromatic workflows unchanged.Quality gates
recommended-type-checkedoversrc/andconfigs/viaprojectService) plusno-floating-promises,no-misused-promises,no-explicit-any,no-unnecessary-condition,await-thenable,complexity(15), andmax-depth(4). All 19 surfaced violations were fixed for real (no rules downgraded to warn); the only inline disable is one justifiedwebkitGetAsEntrybrowser-compat guard indropzone.ts. ESLint/typescript-eslint were added as pinned devDependencies with a newnpm run lintscript.repo: localhook running the repo's own eslint fromnode_modules, so pre-commit andnpm run lintshare one environment. An isolated hook environment cannot see the app's dependency types (TypeScript ignoresNODE_PATH), which is how pre-commit.ci's run produced a wrong auto-fix (reverted here); pre-commit.ci skips the hook and thenpm run lintCI step enforces linting.npm run test:mutationwith config atconfigs/stryker.config.json. Not a CI gate (slow); mutation score, not raw coverage, is the real signal of test quality.Manual maintainer step required: re-link Codecov after the repo rename
Uploads currently land on the old
ember-uploaderidentity; the CI log says "results will be available atapp.codecov.io/github/brain-bbqs/ember-uploader/commit/...". That is why Codecov has posted no PR comments or statuses since the rename tobbqs-uploader(last seen on #30). To fix:brain-bbqsorg so Codecov picks up the rename.bbqs-uploaderrepo page in Codecov, copy its upload token from Settings.CODECOV_TOKENsecret in this repo's GitHub settings with that token..../bbqs-uploader/commit/...and PR comments/statuses will resume.🤖 Generated with Claude Code
https://claude.ai/code/session_012RDb6yErzs3dYMFrEJhfH9