Skip to content

Stryker goes: 2,400 lines, two packages, a patch and an override fewer - #526

Merged
Nawid3333 merged 1 commit into
mainfrom
chore/drop-stryker
Oct 22, 2026
Merged

Nawid3333 merged 1 commit into
mainfrom
chore/drop-stryker

Conversation

@Nawid3333

Copy link
Copy Markdown
Owner

The owner's decision (2026-10-22), after an assessment of what the weekly mutation run gave:

  • No fix came from its reports. About 4,700 mutants were not caught (64.6% to 68%), and issues Mutation testing: week to 2026-10-06 #354, Mutation testing: week to 2026-10-12 #459 and Mutation testing: week to 2026-10-19 #503 were each closed by hand as "a weekly report, not a task".
  • What it cost:
    • a 131-line patch of @stryker-mutator/vitest-runner to re-cut on every Vitest or Stryker update;
    • the qs override;
    • about 34 MB of packages;
    • 2.5 to 3 runner hours a week, and a weekly issue.
  • The checks that did find bugs stay. Each fix's own test must catch a hand-made mutation of the fix (the "mutation-checked" lines in commits).

Removed

  • stryker.config.mjs, .github/workflows/mutation-tests.yml and tests/workflows/mutation-tests.test.sh.
  • tools/mutation-report.mjs and tools/merge-mutation-reports.mjs with their tests, plus strykerShards.test.mjs.
  • The patch and its patchedDependencies entry; the qs override.
  • Both packages and the test:mutation script.
  • tests/unit/helpers/stryker.mjs. The three tests that skipped themselves in Stryker's sandbox now always run.
  • LOCKSTEP (tools/check-patched-updates.mjs, tools/recut-patch.mjs), which kept only Stryker's two packages at one version. A patched library's update now moves the library alone, and the tests use real patched libraries as their samples.
  • Dependabot's stryker group and its two ignore entries.
  • The .gitignore/ESLint entries for Stryker's sandbox, and the docs' passages about it. docs/notes/workflows.md keeps one line saying why it went.

Unit tests (2860), lint, typecheck and every workflow shell test (tests/workflows/run.sh) are green.

🤖 Generated with Claude Code

…ide, tools and tests

Its reports (about 4,700 mutants not caught, 64.6% to 68%) were closed by hand
every week and no fix came from them; it cost a 131-line patch of its vitest
runner to re-cut on every update, the qs override and 34 MB of packages.
LOCKSTEP, which only kept its two packages together, goes with it. The hand
mutation check of each fix stays.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Nawid3333
Nawid3333 merged commit 245af51 into main Oct 22, 2026
32 checks passed
@Nawid3333
Nawid3333 deleted the chore/drop-stryker branch October 22, 2026 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant