evilution 0.21.0 → 0.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.beads/.gitignore +4 -0
  3. data/.beads/interactions.jsonl +16 -0
  4. data/.beads/issues.jsonl +9 -6
  5. data/.claude/settings.json +5 -0
  6. data/CHANGELOG.md +35 -0
  7. data/README.md +28 -13
  8. data/comparison_results/baseline_2026-04-09.md +35 -0
  9. data/comparison_results/operator_classification.md +79 -0
  10. data/comparison_results/operator_prioritization.md +68 -0
  11. data/docs/mutation_density_benchmark.md +91 -0
  12. data/lib/evilution/ast/parser.rb +2 -1
  13. data/lib/evilution/baseline.rb +14 -11
  14. data/lib/evilution/cli.rb +2 -1
  15. data/lib/evilution/config.rb +15 -3
  16. data/lib/evilution/disable_comment.rb +2 -1
  17. data/lib/evilution/integration/base.rb +124 -1
  18. data/lib/evilution/integration/minitest.rb +145 -0
  19. data/lib/evilution/integration/minitest_crash_detector.rb +55 -0
  20. data/lib/evilution/integration/rspec.rb +33 -100
  21. data/lib/evilution/isolation/fork.rb +11 -3
  22. data/lib/evilution/isolation/in_process.rb +12 -3
  23. data/lib/evilution/mcp/mutate_tool.rb +6 -6
  24. data/lib/evilution/mutator/base.rb +4 -0
  25. data/lib/evilution/mutator/operator/bitwise_complement.rb +1 -1
  26. data/lib/evilution/mutator/operator/block_pass_removal.rb +30 -0
  27. data/lib/evilution/mutator/operator/ensure_removal.rb +1 -1
  28. data/lib/evilution/mutator/operator/index_to_at.rb +30 -0
  29. data/lib/evilution/mutator/operator/index_to_dig.rb +2 -2
  30. data/lib/evilution/mutator/operator/index_to_fetch.rb +2 -2
  31. data/lib/evilution/mutator/operator/keyword_argument.rb +1 -1
  32. data/lib/evilution/mutator/operator/regex_simplification.rb +169 -0
  33. data/lib/evilution/mutator/operator/rescue_body_replacement.rb +1 -1
  34. data/lib/evilution/mutator/operator/rescue_removal.rb +1 -1
  35. data/lib/evilution/mutator/operator/symbol_literal.rb +9 -0
  36. data/lib/evilution/mutator/registry.rb +3 -0
  37. data/lib/evilution/reporter/cli.rb +19 -0
  38. data/lib/evilution/reporter/html.rb +12 -3
  39. data/lib/evilution/reporter/json.rb +14 -3
  40. data/lib/evilution/reporter/suggestion.rb +659 -2
  41. data/lib/evilution/result/mutation_result.rb +9 -2
  42. data/lib/evilution/runner.rb +56 -17
  43. data/lib/evilution/spec_resolver.rb +24 -16
  44. data/lib/evilution/version.rb +1 -1
  45. data/lib/evilution.rb +4 -0
  46. data/script/memory_check +5 -5
  47. data/scripts/benchmark_density +261 -0
  48. data/scripts/benchmark_density.yml +19 -0
  49. data/scripts/compare_mutations +404 -0
  50. data/scripts/compare_mutations.yml +24 -0
  51. data/scripts/mutant_json_adapter +224 -0
  52. metadata +17 -2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evilution
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.0
4
+ version: 0.22.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Kiselev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-04-08 00:00:00.000000000 Z
11
+ date: 2026-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: diff-lcs
@@ -70,13 +70,18 @@ files:
70
70
  - ".claude/prompts/architect.md"
71
71
  - ".claude/prompts/devops.md"
72
72
  - ".claude/prompts/tests.md"
73
+ - ".claude/settings.json"
73
74
  - CHANGELOG.md
74
75
  - CODE_OF_CONDUCT.md
75
76
  - LICENSE.txt
76
77
  - README.md
77
78
  - Rakefile
78
79
  - claude-swarm.yml
80
+ - comparison_results/baseline_2026-04-09.md
81
+ - comparison_results/operator_classification.md
82
+ - comparison_results/operator_prioritization.md
79
83
  - docs/ast_pattern_syntax.md
84
+ - docs/mutation_density_benchmark.md
80
85
  - exe/evilution
81
86
  - lib/evilution.rb
82
87
  - lib/evilution/ast.rb
@@ -111,6 +116,8 @@ files:
111
116
  - lib/evilution/integration.rb
112
117
  - lib/evilution/integration/base.rb
113
118
  - lib/evilution/integration/crash_detector.rb
119
+ - lib/evilution/integration/minitest.rb
120
+ - lib/evilution/integration/minitest_crash_detector.rb
114
121
  - lib/evilution/integration/rspec.rb
115
122
  - lib/evilution/isolation.rb
116
123
  - lib/evilution/isolation/fork.rb
@@ -136,6 +143,7 @@ files:
136
143
  - lib/evilution/mutator/operator/bitwise_complement.rb
137
144
  - lib/evilution/mutator/operator/bitwise_replacement.rb
138
145
  - lib/evilution/mutator/operator/block_param_removal.rb
146
+ - lib/evilution/mutator/operator/block_pass_removal.rb
139
147
  - lib/evilution/mutator/operator/block_removal.rb
140
148
  - lib/evilution/mutator/operator/boolean_literal_replacement.rb
141
149
  - lib/evilution/mutator/operator/boolean_operator_replacement.rb
@@ -157,6 +165,7 @@ files:
157
165
  - lib/evilution/mutator/operator/global_variable_write.rb
158
166
  - lib/evilution/mutator/operator/hash_literal.rb
159
167
  - lib/evilution/mutator/operator/index_assignment_removal.rb
168
+ - lib/evilution/mutator/operator/index_to_at.rb
160
169
  - lib/evilution/mutator/operator/index_to_dig.rb
161
170
  - lib/evilution/mutator/operator/index_to_fetch.rb
162
171
  - lib/evilution/mutator/operator/inline_rescue.rb
@@ -181,6 +190,7 @@ files:
181
190
  - lib/evilution/mutator/operator/receiver_replacement.rb
182
191
  - lib/evilution/mutator/operator/redo_statement.rb
183
192
  - lib/evilution/mutator/operator/regex_capture.rb
193
+ - lib/evilution/mutator/operator/regex_simplification.rb
184
194
  - lib/evilution/mutator/operator/regexp_mutation.rb
185
195
  - lib/evilution/mutator/operator/rescue_body_replacement.rb
186
196
  - lib/evilution/mutator/operator/rescue_removal.rb
@@ -222,6 +232,11 @@ files:
222
232
  - lib/evilution/version.rb
223
233
  - lib/tasks/memory_check.rake
224
234
  - script/memory_check
235
+ - scripts/benchmark_density
236
+ - scripts/benchmark_density.yml
237
+ - scripts/compare_mutations
238
+ - scripts/compare_mutations.yml
239
+ - scripts/mutant_json_adapter
225
240
  - sig/evilution.rbs
226
241
  homepage: https://github.com/marinazzio/evilution
227
242
  licenses: