evilution 0.35.0 → 1.1.0
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.
- checksums.yaml +4 -4
- data/.beads/interactions.jsonl +32 -0
- data/CHANGELOG.md +39 -0
- data/README.md +23 -6
- data/docs/architecture.md +220 -0
- data/docs/public_api.md +50 -0
- data/docs/versioning.md +3 -3
- data/lib/evilution/cli.rb +1 -0
- data/lib/evilution/config.rb +1 -1
- data/lib/evilution/integration/loading/redefinition_recovery.rb +3 -1
- data/lib/evilution/mcp/complete_result_server.rb +41 -0
- data/lib/evilution/mcp/server.rb +2 -1
- data/lib/evilution/mutator/base.rb +14 -2
- data/lib/evilution/mutator/operator/boolean_expression_to_nil.rb +22 -0
- data/lib/evilution/mutator/operator/boolean_operand_promotion.rb +31 -0
- data/lib/evilution/mutator/operator/case_in.rb +64 -0
- data/lib/evilution/mutator/operator/case_when.rb +72 -1
- data/lib/evilution/mutator/operator/conditional_branch.rb +20 -7
- data/lib/evilution/mutator/operator/if_branch_swap.rb +48 -0
- data/lib/evilution/mutator/operator/loop_body_to_raise.rb +68 -0
- data/lib/evilution/mutator/operator/pattern_predicate.rb +28 -0
- data/lib/evilution/mutator/primitives.rb +52 -0
- data/lib/evilution/mutator/registry.rb +6 -0
- data/lib/evilution/related_spec_heuristic.rb +0 -2
- data/lib/evilution/runner.rb +1 -0
- data/lib/evilution/version.rb +1 -1
- data/lib/evilution.rb +12 -0
- data/scripts/compare_targeting +4 -2
- metadata +12 -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:
|
|
4
|
+
version: 1.1.0
|
|
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-
|
|
11
|
+
date: 2026-08-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: diff-lcs
|
|
@@ -108,11 +108,13 @@ files:
|
|
|
108
108
|
- comparison_results/baseline_2026-04-09.md
|
|
109
109
|
- comparison_results/operator_classification.md
|
|
110
110
|
- comparison_results/operator_prioritization.md
|
|
111
|
+
- docs/architecture.md
|
|
111
112
|
- docs/ast_pattern_syntax.md
|
|
112
113
|
- docs/integrations.md
|
|
113
114
|
- docs/isolation.md
|
|
114
115
|
- docs/migration-from-mutant.md
|
|
115
116
|
- docs/mutation_density_benchmark.md
|
|
117
|
+
- docs/public_api.md
|
|
116
118
|
- docs/versioning.md
|
|
117
119
|
- exe/evil
|
|
118
120
|
- exe/evilution
|
|
@@ -271,6 +273,7 @@ files:
|
|
|
271
273
|
- lib/evilution/load_path.rb
|
|
272
274
|
- lib/evilution/load_path/subpath_resolver.rb
|
|
273
275
|
- lib/evilution/mcp.rb
|
|
276
|
+
- lib/evilution/mcp/complete_result_server.rb
|
|
274
277
|
- lib/evilution/mcp/info_tool.rb
|
|
275
278
|
- lib/evilution/mcp/info_tool/actions.rb
|
|
276
279
|
- lib/evilution/mcp/info_tool/actions/base.rb
|
|
@@ -311,9 +314,12 @@ files:
|
|
|
311
314
|
- lib/evilution/mutator/operator/block_param_removal.rb
|
|
312
315
|
- lib/evilution/mutator/operator/block_pass_removal.rb
|
|
313
316
|
- lib/evilution/mutator/operator/block_removal.rb
|
|
317
|
+
- lib/evilution/mutator/operator/boolean_expression_to_nil.rb
|
|
314
318
|
- lib/evilution/mutator/operator/boolean_literal_replacement.rb
|
|
319
|
+
- lib/evilution/mutator/operator/boolean_operand_promotion.rb
|
|
315
320
|
- lib/evilution/mutator/operator/boolean_operator_replacement.rb
|
|
316
321
|
- lib/evilution/mutator/operator/break_statement.rb
|
|
322
|
+
- lib/evilution/mutator/operator/case_in.rb
|
|
317
323
|
- lib/evilution/mutator/operator/case_when.rb
|
|
318
324
|
- lib/evilution/mutator/operator/class_variable_write.rb
|
|
319
325
|
- lib/evilution/mutator/operator/collection_replacement.rb
|
|
@@ -330,6 +336,7 @@ files:
|
|
|
330
336
|
- lib/evilution/mutator/operator/float_literal.rb
|
|
331
337
|
- lib/evilution/mutator/operator/global_variable_write.rb
|
|
332
338
|
- lib/evilution/mutator/operator/hash_literal.rb
|
|
339
|
+
- lib/evilution/mutator/operator/if_branch_swap.rb
|
|
333
340
|
- lib/evilution/mutator/operator/index_assignment_removal.rb
|
|
334
341
|
- lib/evilution/mutator/operator/index_to_at.rb
|
|
335
342
|
- lib/evilution/mutator/operator/index_to_dig.rb
|
|
@@ -341,6 +348,7 @@ files:
|
|
|
341
348
|
- lib/evilution/mutator/operator/lambda_body.rb
|
|
342
349
|
- lib/evilution/mutator/operator/last_expression_removal.rb
|
|
343
350
|
- lib/evilution/mutator/operator/local_variable_assignment.rb
|
|
351
|
+
- lib/evilution/mutator/operator/loop_body_to_raise.rb
|
|
344
352
|
- lib/evilution/mutator/operator/loop_flip.rb
|
|
345
353
|
- lib/evilution/mutator/operator/method_body_replacement.rb
|
|
346
354
|
- lib/evilution/mutator/operator/method_call_removal.rb
|
|
@@ -352,6 +360,7 @@ files:
|
|
|
352
360
|
- lib/evilution/mutator/operator/pattern_matching_alternative.rb
|
|
353
361
|
- lib/evilution/mutator/operator/pattern_matching_array.rb
|
|
354
362
|
- lib/evilution/mutator/operator/pattern_matching_guard.rb
|
|
363
|
+
- lib/evilution/mutator/operator/pattern_predicate.rb
|
|
355
364
|
- lib/evilution/mutator/operator/predicate_replacement.rb
|
|
356
365
|
- lib/evilution/mutator/operator/predicate_to_nil.rb
|
|
357
366
|
- lib/evilution/mutator/operator/range_replacement.rb
|
|
@@ -374,6 +383,7 @@ files:
|
|
|
374
383
|
- lib/evilution/mutator/operator/symbol_literal.rb
|
|
375
384
|
- lib/evilution/mutator/operator/yield_statement.rb
|
|
376
385
|
- lib/evilution/mutator/operator/zsuper_removal.rb
|
|
386
|
+
- lib/evilution/mutator/primitives.rb
|
|
377
387
|
- lib/evilution/mutator/registry.rb
|
|
378
388
|
- lib/evilution/parallel.rb
|
|
379
389
|
- lib/evilution/parallel/pool.rb
|