Summary
The parser modules — extractControllers, extractServices, extractModules, extractModels — are the core of Tracer. Line coverage tells us the tests ran the code. Mutation testing tells us the tests would actually catch a regression. Without a mutation score, we cannot say with confidence that the test suite protects against changes that silently break parser output.
What needs to happen
- Install and configure Stryker for TypeScript (
@stryker-mutator/core, @stryker-mutator/typescript-checker, @stryker-mutator/vitest-runner)
- Run mutation testing against
src/parser/nestjs/ — all four extractor modules
- Establish a minimum acceptable mutation score (target: 75%+ as a starting baseline)
- Add a
test:mutation script to package.json
- Document any surviving mutants that represent acceptable gaps
Why this matters
The parser is what engineers stake deployment decisions on. If a change breaks joinPaths, or the wrong decorator name check, or dependency extraction logic — and the test suite still passes — that is a trust problem. Mutation testing makes that gap visible before it ships.
Acceptance criteria
Summary
The parser modules —
extractControllers,extractServices,extractModules,extractModels— are the core of Tracer. Line coverage tells us the tests ran the code. Mutation testing tells us the tests would actually catch a regression. Without a mutation score, we cannot say with confidence that the test suite protects against changes that silently break parser output.What needs to happen
@stryker-mutator/core,@stryker-mutator/typescript-checker,@stryker-mutator/vitest-runner)src/parser/nestjs/— all four extractor modulestest:mutationscript topackage.jsonWhy this matters
The parser is what engineers stake deployment decisions on. If a change breaks
joinPaths, or the wrong decorator name check, or dependency extraction logic — and the test suite still passes — that is a trust problem. Mutation testing makes that gap visible before it ships.Acceptance criteria
src/parser/nestjs/test:mutationscript added topackage.json